summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--CMakeLists.txt543
-rw-r--r--Documentation/README.md11
-rw-r--r--Documentation/building/custom-dnx-instructions.md162
-rw-r--r--Documentation/building/windows-debugging-instructions.md28
-rw-r--r--Documentation/building/windows-instructions.md6
-rw-r--r--Documentation/coding-guidelines/EventLogging.md19
-rw-r--r--README.md4
-rw-r--r--build.cmd49
-rwxr-xr-xbuild.sh39
-rw-r--r--clr.props1
-rw-r--r--dir.props3
-rw-r--r--netci.groovy535
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/corefx/System.Globalization.Native/CMakeLists.txt1
-rw-r--r--src/debug/ee/rcthread.cpp4
-rw-r--r--src/dlls/clretwrc/CMakeLists.txt10
-rw-r--r--src/dlls/mscoree/coreclr/CMakeLists.txt1
-rw-r--r--src/dlls/mscoree/type_exclusion_list.txt1
-rw-r--r--src/gc/env/common.h2
-rw-r--r--src/gc/env/gcenv.base.h380
-rw-r--r--src/gc/env/gcenv.ee.h85
-rw-r--r--src/gc/env/gcenv.interlocked.h102
-rw-r--r--src/gc/env/gcenv.interlocked.inl200
-rw-r--r--src/gc/env/gcenv.object.h4
-rw-r--r--src/gc/env/gcenv.os.h274
-rw-r--r--src/gc/env/gcenv.structs.h70
-rw-r--r--src/gc/env/gcenv.sync.h31
-rw-r--r--src/gc/env/gcenv.windows.cpp268
-rw-r--r--src/gc/gc.cpp775
-rw-r--r--src/gc/gcee.cpp10
-rw-r--r--src/gc/gcpriv.h93
-rw-r--r--src/gc/gcscan.cpp4
-rw-r--r--src/gc/handletable.cpp2
-rw-r--r--src/gc/handletable.inl4
-rw-r--r--src/gc/handletablecache.cpp26
-rw-r--r--src/gc/handletablecore.cpp12
-rw-r--r--src/gc/objecthandle.cpp8
-rw-r--r--src/gc/sample/CMakeLists.txt41
-rw-r--r--src/gc/sample/GCSample.cpp9
-rw-r--r--src/gc/sample/GCSample.vcxproj4
-rw-r--r--src/gc/sample/GCSample.vcxproj.filters6
-rw-r--r--src/gc/sample/gcenv.cpp156
-rw-r--r--src/gc/sample/gcenv.ee.cpp289
-rw-r--r--src/gc/sample/gcenv.h9
-rw-r--r--src/gc/sample/gcenv.unix.cpp (renamed from src/gc/env/gcenv.unix.cpp)68
-rw-r--r--src/gc/sample/gcenv.windows.cpp446
-rw-r--r--src/ilasm/CMakeLists.txt2
-rw-r--r--src/ilasm/assembler.cpp11
-rw-r--r--src/ildasm/dasm.cpp8
-rw-r--r--src/ildasm/dis.cpp10
-rw-r--r--src/ildasm/dis.h1
-rw-r--r--src/inc/eventtracebase.h9
-rw-r--r--src/inc/genXplatEtw.pl601
-rw-r--r--src/inc/genXplatLtnng.pl541
-rw-r--r--src/jit/morph.cpp4
-rw-r--r--src/mscorlib/mscorlib.csproj3
-rw-r--r--src/mscorlib/src/System/Collections/Generic/Dictionary.cs4
-rw-r--r--src/mscorlib/src/System/ThrowHelper.cs6
-rw-r--r--src/mscorlib/src/mscorlib.txt3
-rw-r--r--src/pal/inc/pal.h1
-rw-r--r--src/pal/prebuilt/inc/clrallevents.h5018
-rw-r--r--src/pal/prebuilt/inc/clretwall.h13371
-rw-r--r--src/pal/prebuilt/inc/clretwallmain.h16
-rw-r--r--src/pal/prebuilt/inc/clrxplatevents.h2635
-rw-r--r--src/pal/prebuilt/inc/etmdummy.h409
-rw-r--r--src/pal/src/CMakeLists.txt2
-rw-r--r--src/pal/src/eventprovider/CMakeLists.txt21
-rw-r--r--src/pal/src/eventprovider/lttng/eventprovdotnetruntime.cpp5850
-rw-r--r--src/pal/src/eventprovider/lttng/eventprovdotnetruntimeprivate.cpp4851
-rw-r--r--src/pal/src/eventprovider/lttng/eventprovdotnetruntimerundown.cpp1947
-rw-r--r--src/pal/src/eventprovider/lttng/eventprovdotnetruntimestress.cpp91
-rw-r--r--src/pal/src/eventprovider/lttng/tpdotnetruntime.h3235
-rw-r--r--src/pal/src/eventprovider/lttng/tpdotnetruntimeprivate.h1607
-rw-r--r--src/pal/src/eventprovider/lttng/tpdotnetruntimerundown.h822
-rw-r--r--src/pal/src/eventprovider/lttng/tpdotnetruntimestress.h123
-rw-r--r--src/pal/src/eventprovider/lttng/traceptprovdotnetruntime.cpp15
-rw-r--r--src/pal/src/eventprovider/lttng/traceptprovdotnetruntimeprivate.cpp15
-rw-r--r--src/pal/src/eventprovider/lttng/traceptprovdotnetruntimerundown.cpp15
-rw-r--r--src/pal/src/eventprovider/lttng/traceptprovdotnetruntimestress.cpp15
-rw-r--r--src/pal/src/eventprovider/tracepointprovider/CMakeLists.txt27
-rw-r--r--src/pal/src/exception/seh.cpp8
-rw-r--r--src/pal/src/misc/time.cpp10
-rw-r--r--src/pal/src/thread/context.cpp1
-rw-r--r--src/pal/tests/palsuite/CMakeLists.txt2
-rw-r--r--src/pal/tests/palsuite/eventprovider/CMakeLists.txt35
-rw-r--r--src/pal/tests/palsuite/eventprovider/clralltestevents.cpp2697
-rw-r--r--src/pal/tests/palsuite/eventprovider/testinfo.dat13
-rw-r--r--src/pal/tools/clang-compiler-override.txt5
-rwxr-xr-xsrc/pal/tools/gen-buildsys-clang.sh4
-rw-r--r--src/pal/tools/probe-win.ps115
-rw-r--r--src/pal/tools/windows-compiler-override.txt7
-rw-r--r--src/scripts/.gitmirrorall1
-rw-r--r--src/scripts/Utilities.py48
-rw-r--r--src/scripts/genWinEtw.py127
-rw-r--r--src/scripts/genXplatEventing.py807
-rw-r--r--src/scripts/genXplatLttng.py600
-rw-r--r--src/strongname/api/common.h3
-rw-r--r--src/utilcode/hostimpl.cpp2
-rw-r--r--src/vm/CMakeLists.txt13
-rw-r--r--src/vm/appdomain.cpp1
-rw-r--r--src/vm/common.h4
-rw-r--r--src/vm/crst.cpp14
-rw-r--r--src/vm/crst.h2
-rw-r--r--src/vm/eehash.inl4
-rw-r--r--src/vm/gcenv.ee.cpp (renamed from src/vm/gcenv.cpp)24
-rw-r--r--src/vm/gcenv.ee.h6
-rw-r--r--src/vm/gcenv.h94
-rw-r--r--src/vm/gcenv.interlocked.h6
-rw-r--r--src/vm/gcenv.interlocked.inl6
-rw-r--r--src/vm/gcenv.os.cpp520
-rw-r--r--src/vm/gcenv.os.h6
-rw-r--r--src/vm/gchelpers.cpp2
-rw-r--r--src/vm/hash.cpp4
-rw-r--r--src/vm/spinlock.cpp6
-rw-r--r--src/vm/syncblk.cpp2
-rw-r--r--src/vm/syncblk.h2
-rw-r--r--src/vm/threads.cpp12
-rw-r--r--src/vm/threadsuspend.cpp8
-rw-r--r--src/vm/util.hpp8
-rw-r--r--src/vm/wks/wks.targets3
-rw-r--r--tests/CMakeLists.txt10
-rw-r--r--tests/buildtest.cmd8
-rw-r--r--tests/issues.targets252
-rw-r--r--tests/runtest.cmd3
-rw-r--r--tests/runtest.proj68
-rw-r--r--tests/src/CLRTest.Execute.Bash.targets64
-rw-r--r--tests/src/CLRTest.Execute.Batch.targets80
-rw-r--r--tests/src/Common/Platform/platformdefines.cpp12
-rw-r--r--tests/src/IL.targets17
-rw-r--r--tests/src/JIT/BBT/Scenario4/Not-Int32.ilproj1
-rw-r--r--tests/src/JIT/CodeGenBringUpTests/Add1.csproj1
-rw-r--r--tests/src/JIT/CodeGenBringUpTests/RecursiveTailCall.cs143
-rw-r--r--tests/src/JIT/CodeGenBringUpTests/RecursiveTailCall.csproj (renamed from tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/b20785.csproj)23
-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-M09/b14585/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/1/Desktop/add.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/1/add.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/1/arglist64.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/1/cpblk.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/1/initblk.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/1/initobj.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/1/ldind_stind.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/1/ldloca.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/1/ldobj.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/1/localloc.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/add.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/arglist64.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/cpblk.il1
-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/initblk.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/initobj.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/ldind_stind.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/ldloca.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/ldobj.il128
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/ldobj.ilproj42
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/localloc.il144
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/localloc.ilproj42
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/4/Desktop/add.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/4/add.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/4/arglist64.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/4/cpblk.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/4/initblk.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/4/initobj.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/4/ldind_stind.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/4/ldloca.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/4/ldobj.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/4/localloc.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/volatile/1/Desktop/add.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/volatile/1/add.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/volatile/1/arglist64.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/volatile/1/cpblk.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/volatile/1/initblk.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/volatile/1/initobj.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/volatile/1/ldind_stind.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/volatile/1/ldloca.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/volatile/1/ldobj.il1
-rw-r--r--tests/src/JIT/Directed/PREFIX/volatile/1/localloc.il1
-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/RVAInit/simple.il41
-rw-r--r--tests/src/JIT/Directed/StructABI/CMakeLists.txt2
-rw-r--r--tests/src/JIT/Directed/array-il/_Arrayscomplex3.ilproj1
-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.2-M02/b20785/app.config)0
-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/ldvirtftncalli.il1
-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-M09/b14585/b14585.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.config (renamed from tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/app.config)2
-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/Generics/Exceptions/general_class_instance01.csproj1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Base/add.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Base/clt.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Base/cpblk.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Base/dup.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Base/initblk.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Base/jmp.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Base/ldarg_starg.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Base/ldloc_stloc.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Base/ldloca.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Base/unaligned.il1
-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/IL_Conformance/Old/directed/heap_ovf.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/directed/heap_ovf.ilproj1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/objectmodel/initobj.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/objectmodel/ldobj.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/objectmodel/ldvirtftn.il1
-rw-r--r--tests/src/JIT/IL_Conformance/Old/objectmodel/localloc.il1
-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/ELEMENT_TYPE_IU/i_qsort1.il1
-rw-r--r--tests/src/JIT/Methodical/ELEMENT_TYPE_IU/i_qsort2.il1
-rw-r--r--tests/src/JIT/Methodical/ELEMENT_TYPE_IU/qperm.il1
-rw-r--r--tests/src/JIT/Methodical/ELEMENT_TYPE_IU/u_qsort1.il1
-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/Invoke/SEH/catchfault_jmp.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/SEH/catchfinally_ind.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/SEH/catchfinally_jmp.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/SEH/catchfinally_jmpind.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/deep/deep1.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/fptr/ftn_t.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/fptr/instftn.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/fptr/instftn_t.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/fptr/recurse_jmp.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/fptr/recurse_jmpi.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/fptr/recurse_tail_call.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/fptr/recurse_tail_calli.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/fptr/valftn.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/fptr/valftn_t.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/fptr/virtftn.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/fptr/virtftn_t.il1
-rw-r--r--tests/src/JIT/Methodical/Invoke/implicit/objref.il1
-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/VT/callconv/calli.il1
-rw-r--r--tests/src/JIT/Methodical/VT/callconv/jumper4.il1
-rw-r--r--tests/src/JIT/Methodical/VT/callconv/jumper5.il1
-rw-r--r--tests/src/JIT/Methodical/VT/callconv/jumps1.il1
-rw-r--r--tests/src/JIT/Methodical/VT/callconv/jumps2.il1
-rw-r--r--tests/src/JIT/Methodical/VT/callconv/jumps3.il1
-rw-r--r--tests/src/JIT/Methodical/VT/callconv/jumps4.il1
-rw-r--r--tests/src/JIT/Methodical/VT/callconv/jumps5.il1
-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/basic/refloc_o2.il1
-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_bug675304/loopIV_init.il2
-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/fp/apps/bouncingball_cs_d.csproj1
-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/refany/indcall.il1
-rw-r--r--tests/src/JIT/Methodical/structs/systemvbringup/structinregs.cpp8
-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/tailcall_v4/hijacking.il2
-rw-r--r--tests/src/JIT/Methodical/tailcall_v4/stk_bndchk.il2
-rw-r--r--tests/src/JIT/Methodical/varargs/callconv/gc_ctor.il1
-rw-r--r--tests/src/JIT/Methodical/varargs/callconv/val_ctor.il1
-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/const.il1
-rw-r--r--tests/src/JIT/Methodical/xxobj/operand/localloc.il215
-rw-r--r--tests/src/JIT/Methodical/xxobj/sizeof/64sizeof.il1
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.cs11
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj1
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.cs200
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.cs187
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj45
-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/b10897/b10897.il1
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b14777/b14777.il1
-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.il165
-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/b28927/b28927.il1
-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/b14585/b14585.cs24
-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/b64026/b64026.il1
-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/b00719/b00719.csproj1
-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.il70
-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/Desktop/b423755.il7
-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.il26
-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.il107
-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.il127
-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.il140
-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/b102844/tailcallcalli.il7
-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.il323
-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/SIMD/BitwiseOperations.csproj1
-rw-r--r--tests/src/JIT/config/benchmark+serialize/project.json22
-rw-r--r--tests/src/JIT/config/benchmark+serialize/project.lock.json3891
-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/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/eh/basics/loopEH.csproj1
-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/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.il91
-rw-r--r--tests/src/JIT/jit64/localloc/verify/verify01_dynamic.ilproj42
-rw-r--r--tests/src/JIT/jit64/localloc/verify/verify01_large.il88
-rw-r--r--tests/src/JIT/jit64/localloc/verify/verify01_large.ilproj42
-rw-r--r--tests/src/JIT/jit64/localloc/verify/verify01_small.il88
-rw-r--r--tests/src/JIT/jit64/localloc/verify/verify01_small.ilproj42
-rw-r--r--tests/src/JIT/jit64/mcc/interop/native_i0c.cpp4
-rw-r--r--tests/src/JIT/jit64/mcc/interop/native_i0s.cpp2
-rw-r--r--tests/src/JIT/jit64/mcc/interop/native_i1c.cpp6
-rw-r--r--tests/src/JIT/jit64/opt/cg/il/jmp.il1
-rw-r--r--tests/src/JIT/jit64/regress/ndpw/21220/21220.il154
-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.il90
-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/src/JIT/jit64/verif/sniff/fg/ver_fg_13.il2
-rw-r--r--tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.il2
-rw-r--r--tests/src/JIT/opt/perf/doublealign/Locals.csproj1
-rw-r--r--tests/src/dir.common.props6
-rw-r--r--tests/testsFailingOutsideWindows.txt101
1094 files changed, 213891 insertions, 46811 deletions
diff --git a/.gitignore b/.gitignore
index 2934c40cc2..3d5b26600c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -259,6 +259,7 @@ Temporary Items
# Ignore folders created by the test build
TestWrappers_x64_debug
+TestWrappers_x64_checked
TestWrappers_x64_release
Vagrantfile
@@ -272,3 +273,6 @@ Makefile
# Cross compilation
cross/rootfs/*
+
+#python import files
+*.pyc
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f3a0525a1c..f72780c8a7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -113,6 +113,17 @@ elseif(WIN32)
endif()
endif()
+if(CLR_CMAKE_PLATFORM_UNIX)
+ # Set flag to indicate if this will be a 64bit build
+ # CMAKE_SYSTEM_PROCESSOR returns the value of `uname -p`.
+ # For the AMD/Intel 64bit architecure two different strings are common.
+ # Linux and Darwin identify it as "x86_64" while FreeBSD uses the
+ # "amd64" string. Accept either of the two here.
+ if(CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL amd64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64)
+ set(IS_64BIT_BUILD 1)
+ endif (CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL amd64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64)
+endif(CLR_CMAKE_PLATFORM_UNIX)
+
if(WIN32)
enable_language(ASM_MASM)
else()
@@ -213,10 +224,18 @@ endfunction()
# Includes
+if (CMAKE_CONFIGURATION_TYPES) # multi-configuration generator?
+ set(CMAKE_CONFIGURATION_TYPES "Debug;Checked;Release;RelWithDebInfo" CACHE STRING "" FORCE)
+endif (CMAKE_CONFIGURATION_TYPES)
+set(CMAKE_C_FLAGS_CHECKED "")
+set(CMAKE_CXX_FLAGS_CHECKED "")
+set(CMAKE_EXE_LINKER_FLAGS_CHECKED "")
+set(CMAKE_SHARED_LINKER_FLAGS_CHECKED "")
+
if (WIN32)
# For multi-configuration toolset (as Visual Studio)
# set the different configuration defines.
- foreach (Config DEBUG RELEASE RELWITHDEBINFO)
+ foreach (Config DEBUG CHECKED RELEASE RELWITHDEBINFO)
foreach (Definition IN LISTS CLR_DEFINES_${Config}_INIT)
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:${Config}>:${Definition}>)
endforeach (Definition)
@@ -224,7 +243,7 @@ if (WIN32)
elseif (CLR_CMAKE_PLATFORM_UNIX)
# Set the values to display when interactively configuring CMAKE_BUILD_TYPE
- set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "DEBUG;RELEASE;RELWITHDEBINFO")
+ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "DEBUG;CHECKED;RELEASE;RELWITHDEBINFO")
# Use uppercase CMAKE_BUILD_TYPE for the string comparisons below
string(TOUPPER ${CMAKE_BUILD_TYPE} UPPERCASE_CMAKE_BUILD_TYPE)
@@ -234,6 +253,9 @@ elseif (CLR_CMAKE_PLATFORM_UNIX)
if (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG)
# First DEBUG
set_property(DIRECTORY PROPERTY COMPILE_DEFINITIONS ${CLR_DEFINES_DEBUG_INIT})
+ elseif (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED)
+ # Then CHECKED
+ set_property(DIRECTORY PROPERTY COMPILE_DEFINITIONS ${CLR_DEFINES_CHECKED_INIT})
elseif (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL RELEASE)
# Then RELEASE
set_property(DIRECTORY PROPERTY COMPILE_DEFINITIONS ${CLR_DEFINES_RELEASE_INIT})
@@ -241,18 +263,11 @@ elseif (CLR_CMAKE_PLATFORM_UNIX)
# And then RELWITHDEBINFO
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS ${CLR_DEFINES_RELWITHDEBINFO_INIT})
else ()
- message(FATAL_ERROR "Unknown build type! Set CMAKE_BUILD_TYPE to DEBUG, RELEASE, or RELWITHDEBINFO!")
+ message(FATAL_ERROR "Unknown build type! Set CMAKE_BUILD_TYPE to DEBUG, CHECKED, RELEASE, or RELWITHDEBINFO!")
endif ()
endif(WIN32)
-if (WIN32 OR CLR_CMAKE_PLATFORM_LINUX)
- add_definitions(-DFEATURE_EVENT_TRACE=1)
-endif (WIN32 OR CLR_CMAKE_PLATFORM_LINUX)
-
-if (CLR_CMAKE_PLATFORM_LINUX)
- add_definitions(-DFEATURE_EVENTSOURCE_XPLAT=1)
-endif (CLR_CMAKE_PLATFORM_LINUX)
if (CLR_CMAKE_PLATFORM_UNIX)
add_definitions(-DPLATFORM_UNIX=1)
@@ -290,7 +305,7 @@ if (CLR_CMAKE_PLATFORM_UNIX)
#-fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
# set the CLANG sanitizer flags for debug build
- if(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG)
+ if(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG OR UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED)
# obtain settings from running enablesanitizers.sh
string(FIND "$ENV{DEBUG_SANITIZERS}" "asan" __ASAN_POS)
string(FIND "$ENV{DEBUG_SANITIZERS}" "ubsan" __UBSAN_POS)
@@ -312,128 +327,122 @@ if (CLR_CMAKE_PLATFORM_UNIX)
# -fPIC: enable Position Independent Code normally just for shared libraries but required when linking with address sanitizer
# -O1: optimization level used instead of -O0 to avoid compile error "invalid operand for inline asm constraint"
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${CLR_SANITIZE_CXX_FLAGS} -fdata-sections -ffunction-sections -fPIC -O1")
+ set(CMAKE_CXX_FLAGS_CHECKED "${CMAKE_CXX_FLAGS_CHECKED} ${CLR_SANITIZE_CXX_FLAGS} -fdata-sections -ffunction-sections -fPIC -O1")
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${CLR_SANITIZE_LINK_FLAGS}")
+ set(CMAKE_EXE_LINKER_FLAGS_CHECKED "${CMAKE_EXE_LINKER_FLAGS_CHECKED} ${CLR_SANITIZE_LINK_FLAGS}")
# -Wl and --gc-sections: drop unused sections\functions (similar to Windows /Gy function-level-linking)
set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} ${CLR_SANITIZE_LINK_FLAGS} -Wl,--gc-sections")
+ set(CMAKE_SHARED_LINKER_FLAGS_CHECKED "${CMAKE_SHARED_LINKER_FLAGS_CHECKED} ${CLR_SANITIZE_LINK_FLAGS} -Wl,--gc-sections")
endif ()
- endif(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG)
+ endif(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG OR UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED)
+
+ add_definitions(-DDISABLE_CONTRACTS)
+ # The -ferror-limit is helpful during the porting, it makes sure the compiler doesn't stop
+ # after hitting just about 20 errors.
+ add_compile_options(-ferror-limit=4096)
+
+ # All warnings that are not explicitly disabled are reported as errors
+ add_compile_options(-Werror)
+
+ # Disabled warnings
+ add_compile_options(-Wno-unused-private-field)
+ add_compile_options(-Wno-unused-variable)
+ # Explicit constructor calls are not supported by clang (this->ClassName::ClassName())
+ add_compile_options(-Wno-microsoft)
+ # This warning is caused by comparing 'this' to NULL
+ add_compile_options(-Wno-tautological-compare)
+ # There are constants of type BOOL used in a condition. But BOOL is defined as int
+ # and so the compiler thinks that there is a mistake.
+ add_compile_options(-Wno-constant-logical-operand)
+
+ add_compile_options(-Wno-unknown-warning-option)
+
+ #These seem to indicate real issues
+ add_compile_options(-Wno-invalid-offsetof)
+ # The following warning indicates that an attribute __attribute__((__ms_struct__)) was applied
+ # to a struct or a class that has virtual members or a base class. In that case, clang
+ # may not generate the same object layout as MSVC.
+ add_compile_options(-Wno-incompatible-ms-struct)
- add_subdirectory(src/ToolBox/SOS/lldbplugin)
- add_subdirectory(src/pal)
- add_subdirectory(src/corefx)
- add_subdirectory(src/coreclr/hosts/unixcoreruncommon)
- add_subdirectory(src/coreclr/hosts/unixcorerun)
- add_subdirectory(src/coreclr/hosts/unixcoreconsole)
- add_subdirectory(src/ildasm/unixcoreclrloader)
endif(CLR_CMAKE_PLATFORM_UNIX)
-if(CLR_CMAKE_PLATFORM_DARWIN)
- add_subdirectory(src/coreclr/hosts/osxbundlerun)
-endif(CLR_CMAKE_PLATFORM_DARWIN)
-
-# Add this subdir. We install the headers for the jit.
-add_subdirectory(src/pal/prebuilt/inc)
-
-# Set to 1 if you want to clear the CMAKE initial compiler flags and set all the flags explicitly
-# or to 0 if the CMake generated flags should be used
-
-# Enable for UNIX altjit on Windows - set(CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64 1)
-# Enable for UNIX altjit on Windows - add_definitions(-DCLR_CMAKE_PLATFORM_UNIX=1)
-
if (WIN32)
- set(OVERRIDE_CMAKE_CXX_FLAGS 1)
-elseif (CLR_CMAKE_PLATFORM_UNIX)
- # Set flag to indicate if this will be a 64bit build
- # CMAKE_SYSTEM_PROCESSOR returns the value of `uname -p`.
- # For the AMD/Intel 64bit architecure two different strings are common.
- # Linux and Darwin identify it as "x86_64" while FreeBSD uses the
- # "amd64" string. Accept either of the two here.
- if(CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL amd64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64)
- set(IS_64BIT_BUILD 1)
- endif (CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL amd64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64)
-endif(WIN32)
-
-if (OVERRIDE_CMAKE_CXX_FLAGS)
-
-# Compile options for targeting windows
-if (WIN32)
-
-# The following options are set by the razzle build
-add_compile_options(/TP) # compile all files as C++
-add_compile_options(/FIWarningControl.h) # force include of WarningControl.h
-add_compile_options(/d2Zi+) # make optimized builds debugging easier
-add_compile_options(/nologo) # Suppress Startup Banner
-add_compile_options(/W3) # set warning level to 3
-add_compile_options(/WX) # treat warnings as errors
-add_compile_options(/Oi) # enable intrinsics
-add_compile_options(/Oy-) # disable suppressing of the creation of frame pointers on the call stack for quicker function calls
-add_compile_options(/U_MT) # undefine the predefined _MT macro
-add_compile_options(/GF) # enable read-only string pooling
-add_compile_options(/Gm-) # disable minimal rebuild
-add_compile_options(/EHa) # enable C++ EH (w/ SEH exceptions)
-add_compile_options(/Zp8) # pack structs on 8-byte boundary
-add_compile_options(/GS) # enable security checks
-add_compile_options(/Gy) # separate functions for linker
-add_compile_options(/Zc:wchar_t-) # C++ language conformance: wchar_t is NOT the native type, but a typedef
-add_compile_options(/Zc:forScope) # C++ language conformance: enforce Standard C++ for scoping rules
-add_compile_options(/GR-) # disable C++ RTTI
-add_compile_options(/FC) # use full pathnames in diagnostics
-add_compile_options(/Zl) # omit default library name in .OBJ
-add_compile_options(/MP) # Build with Multiple Processes (number of processes equal to the number of processors)
-add_compile_options(/GS) # Buffer Security Check
-add_compile_options(/Zm200) # Specify Precompiled Header Memory Allocation Limit of 150MB
-add_compile_options(/wd4960 /wd4961 /wd4603 /wd4627 /wd4838 /wd4456 /wd4457 /wd4458 /wd4459 /wd4091 /we4640)
-add_compile_options(/Zi) # enable debugging information
-
-if (CLR_CMAKE_PLATFORM_ARCH_I386)
- add_compile_options(/Gz)
-endif (CLR_CMAKE_PLATFORM_ARCH_I386)
-
-add_compile_options($<$<OR:$<CONFIG:Release>,$<CONFIG:Relwithdebinfo>>:/GL>)
-add_compile_options($<$<OR:$<CONFIG:Release>,$<CONFIG:Relwithdebinfo>>:/O1>)
-
-if (IS_64BIT_BUILD EQUAL 1)
-# The generator expression in the following command means that the /homeparams option is added only for debug builds
-add_compile_options($<$<CONFIG:Debug>:/homeparams>) # Force parameters passed in registers to be written to the stack
-endif (IS_64BIT_BUILD EQUAL 1)
-
-# Disable the following line for UNIX altjit on Windows
-set(CMAKE_CXX_STANDARD_LIBRARIES "") # do not link against standard win32 libs i.e. kernel32, uuid, user32, etc.
-
-# Linker flags
-#
-# Disable the following line for UNIX altjit on Windows
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /MANIFEST:NO") #Do not create Side-by-Side Assembly Manifest
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS,6.00") #windows subsystem
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /LARGEADDRESSAWARE") # can handle addresses larger than 2 gigabytes
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /RELEASE") #sets the checksum in the header
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NXCOMPAT") #Compatible with Data Execution Prevention
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DYNAMICBASE") #Use address space layout randomization
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUGTYPE:cv,fixup") #debugging format
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /PDBCOMPRESS") #shrink pdb size
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUG")
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /IGNORE:4197,4013,4254,4070")
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /INCREMENTAL:NO")
-
-set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /IGNORE:4221")
-
-set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DEBUG /PDBCOMPRESS")
-set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:1572864")
-
-# Debug build specific flags
-set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "/NOVCFEATURE")
-
-# Release build specific flags
-set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG /OPT:REF /OPT:ICF")
-set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG")
-set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG /OPT:REF /OPT:ICF")
-
-# ReleaseWithDebugInfo build specific flags
-set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} /LTCG /OPT:REF /OPT:ICF")
-set(CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO} /LTCG")
-set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /LTCG /OPT:REF /OPT:ICF")
+ # Compile options for targeting windows
+
+ # The following options are set by the razzle build
+ add_compile_options(/TP) # compile all files as C++
+ add_compile_options(/d2Zi+) # make optimized builds debugging easier
+ add_compile_options(/nologo) # Suppress Startup Banner
+ add_compile_options(/W3) # set warning level to 3
+ add_compile_options(/WX) # treat warnings as errors
+ add_compile_options(/Oi) # enable intrinsics
+ add_compile_options(/Oy-) # disable suppressing of the creation of frame pointers on the call stack for quicker function calls
+ add_compile_options(/U_MT) # undefine the predefined _MT macro
+ add_compile_options(/GF) # enable read-only string pooling
+ add_compile_options(/Gm-) # disable minimal rebuild
+ add_compile_options(/EHa) # enable C++ EH (w/ SEH exceptions)
+ add_compile_options(/Zp8) # pack structs on 8-byte boundary
+ add_compile_options(/GS) # enable security checks
+ add_compile_options(/Gy) # separate functions for linker
+ add_compile_options(/Zc:wchar_t-) # C++ language conformance: wchar_t is NOT the native type, but a typedef
+ add_compile_options(/Zc:forScope) # C++ language conformance: enforce Standard C++ for scoping rules
+ add_compile_options(/GR-) # disable C++ RTTI
+ add_compile_options(/FC) # use full pathnames in diagnostics
+ add_compile_options(/MP) # Build with Multiple Processes (number of processes equal to the number of processors)
+ add_compile_options(/GS) # Buffer Security Check
+ add_compile_options(/Zm200) # Specify Precompiled Header Memory Allocation Limit of 150MB
+ add_compile_options(/wd4960 /wd4961 /wd4603 /wd4627 /wd4838 /wd4456 /wd4457 /wd4458 /wd4459 /wd4091 /we4640)
+ add_compile_options(/Zi) # enable debugging information
+
+ if (CLR_CMAKE_PLATFORM_ARCH_I386)
+ add_compile_options(/Gz)
+ endif (CLR_CMAKE_PLATFORM_ARCH_I386)
+
+ add_compile_options($<$<OR:$<CONFIG:Release>,$<CONFIG:Relwithdebinfo>>:/GL>)
+ add_compile_options($<$<OR:$<OR:$<CONFIG:Release>,$<CONFIG:Relwithdebinfo>>,$<CONFIG:Checked>>:/O1>)
+
+ if (IS_64BIT_BUILD EQUAL 1)
+ # The generator expression in the following command means that the /homeparams option is added only for debug builds
+ add_compile_options($<$<CONFIG:Debug>:/homeparams>) # Force parameters passed in registers to be written to the stack
+ endif (IS_64BIT_BUILD EQUAL 1)
+
+ # Linker flags
+ #
+ # Disable the following line for UNIX altjit on Windows
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /MANIFEST:NO") #Do not create Side-by-Side Assembly Manifest
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS,6.00") #windows subsystem
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /LARGEADDRESSAWARE") # can handle addresses larger than 2 gigabytes
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /RELEASE") #sets the checksum in the header
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NXCOMPAT") #Compatible with Data Execution Prevention
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DYNAMICBASE") #Use address space layout randomization
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUGTYPE:cv,fixup") #debugging format
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /PDBCOMPRESS") #shrink pdb size
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUG")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /IGNORE:4197,4013,4254,4070,4221")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /INCREMENTAL:NO")
+
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DEBUG /PDBCOMPRESS")
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:1572864")
+
+ # Debug build specific flags
+ set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "/NOVCFEATURE")
+
+ # Checked build specific flags
+ set(CMAKE_SHARED_LINKER_FLAGS_CHECKED "${CMAKE_SHARED_LINKER_FLAGS_CHECKED} /OPT:REF /OPT:NOICF /NOVCFEATURE")
+ set(CMAKE_STATIC_LINKER_FLAGS_CHECKED "${CMAKE_STATIC_LINKER_FLAGS_CHECKED} /OPT:REF /OPT:NOICF")
+ set(CMAKE_EXE_LINKER_FLAGS_CHECKED "${CMAKE_EXE_LINKER_FLAGS_CHECKED} /OPT:REF /OPT:NOICF")
+
+ # Release build specific flags
+ set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG /OPT:REF /OPT:ICF")
+ set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG /OPT:REF /OPT:ICF")
+ set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG /OPT:REF /OPT:ICF")
+
+ # ReleaseWithDebugInfo build specific flags
+ set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} /LTCG /OPT:REF /OPT:ICF")
+ set(CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO} /LTCG /OPT:REF /OPT:ICF")
+ set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /LTCG /OPT:REF /OPT:ICF")
# Temporary until cmake has VS generators for arm64
if(CLR_CMAKE_PLATFORM_ARCH_ARM64)
@@ -444,13 +453,6 @@ endif(CLR_CMAKE_PLATFORM_ARCH_ARM64)
endif (WIN32)
-endif (OVERRIDE_CMAKE_CXX_FLAGS)
-
-if(CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64)
-add_definitions(-DFEATURE_UNIX_AMD64_STRUCT_PASSING_ITF)
-add_definitions(-DFEATURE_UNIX_AMD64_STRUCT_PASSING)
-endif (CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64)
-
OPTION(CMAKE_ENABLE_CODE_COVERAGE "Enable code coverage" OFF)
if(CMAKE_ENABLE_CODE_COVERAGE)
@@ -472,39 +474,90 @@ if(CMAKE_ENABLE_CODE_COVERAGE)
endif(CMAKE_ENABLE_CODE_COVERAGE)
+# Start of projects that require usage of platform include files
+
if(CLR_CMAKE_PLATFORM_UNIX)
-add_definitions(-DDISABLE_CONTRACTS)
-# The -ferror-limit is helpful during the porting, it makes sure the compiler doesn't stop
-# after hitting just about 20 errors.
-add_compile_options(-ferror-limit=4096)
-
-# All warnings that are not explicitly disabled are reported as errors
-add_compile_options(-Werror)
-
-# Disabled warnings
-add_compile_options(-Wno-unused-private-field)
-add_compile_options(-Wno-unused-variable)
-# Explicit constructor calls are not supported by clang (this->ClassName::ClassName())
-add_compile_options(-Wno-microsoft)
-# This warning is caused by comparing 'this' to NULL
-add_compile_options(-Wno-tautological-compare)
-# There are constants of type BOOL used in a condition. But BOOL is defined as int
-# and so the compiler thinks that there is a mistake.
-add_compile_options(-Wno-constant-logical-operand)
-
-add_compile_options(-Wno-unknown-warning-option)
-
-#These seem to indicate real issues
-add_compile_options(-Wno-invalid-offsetof)
-# The following warning indicates that an attribute __attribute__((__ms_struct__)) was applied
-# to a struct or a class that has virtual members or a base class. In that case, clang
-# may not generate the same object layout as MSVC.
-add_compile_options(-Wno-incompatible-ms-struct)
+ add_subdirectory(src/corefx)
+endif(CLR_CMAKE_PLATFORM_UNIX)
+
+if(IS_64BIT_BUILD)
+ add_definitions(-DBIT64=1)
+endif(IS_64BIT_BUILD)
+if (CLR_CMAKE_PLATFORM_ARCH_AMD64)
+ if (CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64)
+ add_definitions(-DDBG_TARGET_AMD64_UNIX)
+ endif()
+ add_definitions(-D_TARGET_AMD64_=1)
+ add_definitions(-DDBG_TARGET_AMD64)
+elseif (CLR_CMAKE_PLATFORM_ARCH_ARM64)
+ if (CLR_CMAKE_PLATFORM_UNIX_TARGET_ARM64)
+ add_definitions(-DDBG_TARGET_ARM64_UNIX)
+ endif()
+ add_definitions(-D_TARGET_ARM64_=1)
+ add_definitions(-DDBG_TARGET_ARM64)
+elseif (CLR_CMAKE_PLATFORM_ARCH_ARM)
+ if (CLR_CMAKE_PLATFORM_UNIX_TARGET_ARM)
+ add_definitions(-DDBG_TARGET_ARM_UNIX)
+ endif (CLR_CMAKE_PLATFORM_UNIX_TARGET_ARM)
+ add_definitions(-D_TARGET_ARM_=1)
+ add_definitions(-DDBG_TARGET_ARM)
+elseif (CLR_CMAKE_PLATFORM_ARCH_I386)
+ add_definitions(-D_TARGET_X86_=1)
+ add_definitions(-DDBG_TARGET_X86)
+else ()
+ clr_unknown_arch()
+endif (CLR_CMAKE_PLATFORM_ARCH_AMD64)
+
+if (CLR_CMAKE_PLATFORM_ARCH_AMD64)
+ add_definitions(-D_AMD64_)
+ add_definitions(-D_WIN64)
+ add_definitions(-DAMD64)
+elseif (CLR_CMAKE_PLATFORM_ARCH_I386)
+ add_definitions(-D_WIN32)
+ add_definitions(-D_X86_)
+elseif (CLR_CMAKE_PLATFORM_ARCH_ARM)
+ add_definitions(-D_ARM_)
+ add_definitions(-DARM)
+ add_definitions(-D_WIN32)
+elseif (CLR_CMAKE_PLATFORM_ARCH_ARM64)
+ add_definitions(-D_ARM64_)
+ add_definitions(-DARM64)
+ add_definitions(-D_WIN64)
+else ()
+ clr_unknown_arch()
+endif ()
+
+if(CLR_CMAKE_PLATFORM_UNIX)
+ add_subdirectory(src/ToolBox/SOS/lldbplugin)
+ add_subdirectory(src/pal)
+ add_subdirectory(src/coreclr/hosts/unixcoreruncommon)
+ add_subdirectory(src/coreclr/hosts/unixcorerun)
+ add_subdirectory(src/coreclr/hosts/unixcoreconsole)
+ add_subdirectory(src/ildasm/unixcoreclrloader)
endif(CLR_CMAKE_PLATFORM_UNIX)
+if(CLR_CMAKE_PLATFORM_DARWIN)
+ add_subdirectory(src/coreclr/hosts/osxbundlerun)
+endif(CLR_CMAKE_PLATFORM_DARWIN)
+
+# Add this subdir. We install the headers for the jit.
+add_subdirectory(src/pal/prebuilt/inc)
+
add_subdirectory(src/debug/debug-pal)
+if(WIN32)
+ add_subdirectory(src/gc/sample)
+endif()
+
+# End of projects that require usage of platform include files
+
+# Enable for UNIX altjit on Windows - set(CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64 1)
+# Enable for UNIX altjit on Windows - add_definitions(-DCLR_CMAKE_PLATFORM_UNIX=1)
+
+# Disable the following line for UNIX altjit on Windows
+set(CMAKE_CXX_STANDARD_LIBRARIES "") # do not link against standard win32 libs i.e. kernel32, uuid, user32, etc.
+
# Include directory directives
# Include the basic prebuilt headers - required for getting fileversion resource details.
@@ -519,26 +572,25 @@ endif (CLR_CMAKE_PLATFORM_UNIX)
# Libraries
if (WIN32)
- set(STATIC_MT_CRT_LIB "libcmt$<$<CONFIG:Debug>:d>.lib")
- set(STATIC_MT_CPP_LIB "libcpmt$<$<CONFIG:Debug>:d>.lib")
+ set(STATIC_MT_CRT_LIB "libcmt$<$<OR:$<CONFIG:Debug>,$<CONFIG:Checked>>:d>.lib")
+ set(STATIC_MT_CPP_LIB "libcpmt$<$<OR:$<CONFIG:Debug>,$<CONFIG:Checked>>:d>.lib")
endif(WIN32)
-# Definition directives
- if(IS_64BIT_BUILD)
- add_definitions(-DBIT64=1)
- endif(IS_64BIT_BUILD)
+# Definition directives
if (CLR_CMAKE_PLATFORM_UNIX)
- add_definitions(-DFEATURE_PAL_SXS)
- add_definitions(-DFEATURE_COREFX_GLOBALIZATION)
- add_definitions(-DFEATURE_PAL)
if(CLR_CMAKE_PLATFORM_DARWIN)
add_definitions(-D_XOPEN_SOURCE)
endif(CLR_CMAKE_PLATFORM_DARWIN)
-endif(CLR_CMAKE_PLATFORM_UNIX)
+ if (CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64)
+ add_definitions(-DUNIX_AMD64_ABI)
+ elseif (CLR_CMAKE_PLATFORM_UNIX_TARGET_ARM)
+ add_definitions(-DUNIX_ARM_ABI)
+ endif()
+endif(CLR_CMAKE_PLATFORM_UNIX)
add_definitions(-D_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS)
add_definitions(-DDEV10)
@@ -550,86 +602,63 @@ add_definitions(-DWINNT=1)
add_definitions(-DNT_INST=0)
add_definitions(-DCONDITION_HANDLING=1)
add_definitions(-DNTDDI_VERSION=NTDDI_WIN8)
-
-if (CLR_CMAKE_PLATFORM_ARCH_AMD64)
- if (CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64)
- add_definitions(-DDBG_TARGET_AMD64_UNIX)
- endif()
- add_definitions(-D_TARGET_AMD64_=1)
- add_definitions(-DDBG_TARGET_AMD64)
-elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64)
- if (CLR_CMAKE_PLATFORM_UNIX_TARGET_ARM64)
- add_definitions(-DDBG_TARGET_ARM64_UNIX)
- endif()
- add_definitions(-D_TARGET_ARM64_=1)
- add_definitions(-DDBG_TARGET_ARM64)
-elseif (CLR_CMAKE_PLATFORM_ARCH_ARM)
- if (CLR_CMAKE_PLATFORM_UNIX_TARGET_ARM)
- add_definitions(-DDBG_TARGET_ARM_UNIX)
- endif (CLR_CMAKE_PLATFORM_UNIX_TARGET_ARM)
- add_definitions(-D_TARGET_ARM_=1)
- add_definitions(-DDBG_TARGET_ARM)
-elseif (CLR_CMAKE_PLATFORM_ARCH_I386)
- add_definitions(-D_TARGET_X86_=1)
- add_definitions(-DDBG_TARGET_X86)
-else ()
- clr_unknown_arch()
-endif (CLR_CMAKE_PLATFORM_ARCH_AMD64)
-
-if(WIN32)
- add_definitions(-D_CRT_SECURE_NO_WARNINGS)
-endif(WIN32)
add_definitions(-DNTMAKEENV)
add_definitions(-D_BLD_CLR)
add_definitions(-DWINVER=0x0602)
add_definitions(-DWIN32_LEAN_AND_MEAN=1)
add_definitions(-DDEBUGGING_SUPPORTED)
+
if(WIN32)
if(CLR_CMAKE_PLATFORM_ARCH_AMD64 OR CLR_CMAKE_PLATFORM_ARCH_I386)
- # Only enable edit and continue on windows x86 and x64
- # exclude Linux, arm & arm64
- add_definitions(-DEnC_SUPPORTED)
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+ # Only enable edit and continue on windows x86 and x64
+ # exclude Linux, arm & arm64
+ add_definitions(-DEnC_SUPPORTED)
endif(CLR_CMAKE_PLATFORM_ARCH_AMD64 OR CLR_CMAKE_PLATFORM_ARCH_I386)
+ add_definitions(-DPROFILING_SUPPORTED)
endif(WIN32)
+
+# Features - please keep them alphabetically sorted
+
add_definitions(-DFEATURE_APPDOMAIN_RESOURCE_MONITORING)
+if(WIN32)
+ add_definitions(-DFEATURE_APPX)
+endif(WIN32)
if(CLR_CMAKE_PLATFORM_ARCH_AMD64 OR CLR_CMAKE_PLATFORM_ARCH_ARM OR CLR_CMAKE_PLATFORM_ARCH_ARM64)
add_definitions(-DFEATURE_ARRAYSTUB_AS_IL)
endif()
-if (CLR_CMAKE_PLATFORM_UNIX OR CLR_CMAKE_PLATFORM_ARCH_ARM64)
- add_definitions(-DFEATURE_STUBS_AS_IL)
- add_definitions(-DFEATURE_IMPLICIT_TLS)
- set(FEATURE_IMPLICIT_TLS 1)
-endif()
-
-if (CLR_CMAKE_PLATFORM_UNIX)
- if (CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64)
- add_definitions(-DUNIX_AMD64_ABI)
- elseif (CLR_CMAKE_PLATFORM_UNIX_TARGET_ARM)
- add_definitions(-DUNIX_ARM_ABI)
- endif()
-endif(CLR_CMAKE_PLATFORM_UNIX)
add_definitions(-DFEATURE_ASYNC_IO)
add_definitions(-DFEATURE_BCL_FORMATTING)
add_definitions(-DFEATURE_COLLECTIBLE_TYPES)
if(WIN32)
add_definitions(-DFEATURE_CLASSIC_COMINTEROP)
- add_definitions(-DFEATURE_APPX)
add_definitions(-DFEATURE_COMINTEROP)
add_definitions(-DFEATURE_COMINTEROP_APARTMENT_SUPPORT)
add_definitions(-DFEATURE_COMINTEROP_UNMANAGED_ACTIVATION)
add_definitions(-DFEATURE_COMINTEROP_WINRT_MANAGED_ACTIVATION)
endif(WIN32)
-add_definitions(-DFEATURE_ICASTABLE)
-
add_definitions(-DFEATURE_CORECLR)
+if (CLR_CMAKE_PLATFORM_UNIX)
+ add_definitions(-DFEATURE_COREFX_GLOBALIZATION)
+endif(CLR_CMAKE_PLATFORM_UNIX)
add_definitions(-DFEATURE_CORESYSTEM)
add_definitions(-DFEATURE_CORRUPTING_EXCEPTIONS)
if(WIN32)
add_definitions(-DFEATURE_CRYPTO)
endif(WIN32)
+if(CLR_CMAKE_PLATFORM_UNIX)
+ add_definitions(-DFEATURE_DBGIPC_TRANSPORT_DI)
+ add_definitions(-DFEATURE_DBGIPC_TRANSPORT_VM)
+endif(CLR_CMAKE_PLATFORM_UNIX)
+if (WIN32 OR CLR_CMAKE_PLATFORM_LINUX)
+ add_definitions(-DFEATURE_EVENT_TRACE=1)
+endif (WIN32 OR CLR_CMAKE_PLATFORM_LINUX)
+if (CLR_CMAKE_PLATFORM_LINUX)
+ add_definitions(-DFEATURE_EVENTSOURCE_XPLAT=1)
+endif (CLR_CMAKE_PLATFORM_LINUX)
add_definitions(-DFEATURE_EXCEPTIONDISPATCHINFO)
add_definitions(-DFEATURE_FRAMEWORK_INTERNAL)
if(NOT CLR_CMAKE_PLATFORM_UNIX_TARGET_ARM)
@@ -637,6 +666,11 @@ if(NOT CLR_CMAKE_PLATFORM_UNIX_TARGET_ARM)
endif(NOT CLR_CMAKE_PLATFORM_UNIX_TARGET_ARM)
add_definitions(-DFEATURE_HOST_ASSEMBLY_RESOLVER)
add_definitions(-DFEATURE_HOSTED_BINDER)
+add_definitions(-DFEATURE_ICASTABLE)
+if (CLR_CMAKE_PLATFORM_UNIX OR CLR_CMAKE_PLATFORM_ARCH_ARM64)
+ add_definitions(-DFEATURE_IMPLICIT_TLS)
+ set(FEATURE_IMPLICIT_TLS 1)
+endif(CLR_CMAKE_PLATFORM_UNIX OR CLR_CMAKE_PLATFORM_ARCH_ARM64)
if(WIN32)
add_definitions(-DFEATURE_ISOSTORE)
add_definitions(-DFEATURE_ISOSTORE_LIGHT)
@@ -660,7 +694,15 @@ if(WIN32)
# Disable the following or UNIX altjit on Windows
add_definitions(-DFEATURE_MERGE_JIT_AND_ENGINE)
endif(WIN32)
+add_definitions(-DFEATURE_MULTICOREJIT)
add_definitions(-DFEATURE_NORM_IDNA_ONLY)
+if(CLR_CMAKE_PLATFORM_UNIX)
+ add_definitions(-DFEATURE_PAL)
+ add_definitions(-DFEATURE_PAL_SXS)
+endif(CLR_CMAKE_PLATFORM_UNIX)
+if(CLR_CMAKE_PLATFORM_LINUX)
+ add_definitions(-DFEATURE_PERFMAP)
+endif(CLR_CMAKE_PLATFORM_LINUX)
add_definitions(-DFEATURE_PREJIT)
add_definitions(-DFEATURE_RANDOMIZED_STRING_HASHING)
if(NOT DEFINED CLR_CMAKE_PLATFORM_ARCH_ARM64)
@@ -673,11 +715,17 @@ add_definitions(-DFEATURE_STRONGNAME_MIGRATION)
if(WIN32)
add_definitions(-DFEATURE_STRONGNAME_TESTKEY_ALLOWED)
endif(WIN32)
+if (CLR_CMAKE_PLATFORM_UNIX OR CLR_CMAKE_PLATFORM_ARCH_ARM64)
+ add_definitions(-DFEATURE_STUBS_AS_IL)
+endif(CLR_CMAKE_PLATFORM_UNIX OR CLR_CMAKE_PLATFORM_ARCH_ARM64)
add_definitions(-DFEATURE_SVR_GC)
-if(CLR_CMAKE_PLATFORM_LINUX)
- add_definitions(-DFEATURE_PERFMAP)
-endif(CLR_CMAKE_PLATFORM_LINUX)
+add_definitions(-DFEATURE_SYMDIFF)
add_definitions(-DFEATURE_SYNTHETIC_CULTURES)
+if(CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64)
+ add_definitions(-DFEATURE_UNIX_AMD64_STRUCT_PASSING)
+ add_definitions(-DFEATURE_UNIX_AMD64_STRUCT_PASSING_ITF)
+endif (CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64)
+add_definitions(-DFEATURE_USE_ASM_GC_WRITE_BARRIERS)
add_definitions(-DFEATURE_VERSIONING)
if(WIN32)
add_definitions(-DFEATURE_VERSIONING_LOG)
@@ -688,55 +736,12 @@ add_definitions(-DFEATURE_WINMD_RESILIENT)
if(WIN32)
add_definitions(-DFEATURE_X509)
add_definitions(-DFEATURE_X509_SECURESTRINGS)
- add_definitions(-DPROFILING_SUPPORTED)
- if (CLR_CMAKE_PLATFORM_ARCH_I386 OR CLR_CMAKE_PLATFORM_ARCH_ARM)
- add_definitions(-DFEATURE_LAZY_COW_PAGES)
- endif()
endif(WIN32)
-add_definitions(-DFEATURE_MULTICOREJIT)
-add_definitions(-DFEATURE_USE_ASM_GC_WRITE_BARRIERS)
-add_definitions(-DFEATURE_SYMDIFF)
-
-if(CLR_CMAKE_PLATFORM_UNIX)
- add_definitions(-DFEATURE_DBGIPC_TRANSPORT_DI)
- add_definitions(-DFEATURE_DBGIPC_TRANSPORT_VM)
-endif(CLR_CMAKE_PLATFORM_UNIX)
-
-if (CLR_CMAKE_PLATFORM_ARCH_AMD64)
- add_definitions(-D_AMD64_)
- add_definitions(-D_AMD64_SIMULATOR_)
- add_definitions(-D_AMD64_SIMULATOR_PERF_)
- add_definitions(-D_AMD64_WORKAROUND_)
- add_definitions(-D_WIN64)
- add_definitions(-DAMD64)
-elseif (CLR_CMAKE_PLATFORM_ARCH_I386)
- add_definitions(-D_WIN32)
- add_definitions(-D_X86_)
-elseif (CLR_CMAKE_PLATFORM_ARCH_ARM)
- add_definitions(-D_ARM_)
- add_definitions(-DARM)
- add_definitions(-D_WIN32)
-elseif (CLR_CMAKE_PLATFORM_ARCH_ARM64)
- add_definitions(-D_ARM64_)
- add_definitions(-DARM64)
- add_definitions(-D_WIN64)
-else ()
- clr_unknown_arch()
-endif ()
if(CLR_CMAKE_BUILD_TESTS)
add_subdirectory(tests)
endif(CLR_CMAKE_BUILD_TESTS)
-add_definitions(-D_SKIP_IF_SIMULATOR_)
-add_definitions(-D_SECURE_SCL=0)
-add_definitions(-D_NEW_SDK=1)
-add_definitions(-DOFFICIAL_BUILD=0)
-add_definitions(-DBETA=0)
-add_definitions(-DFX_BRANCH_SYNC_COUNTER_VALUE=0)
-add_definitions(-DUNICODE)
-add_definitions(-D_UNICODE)
-
if (CLR_CMAKE_PLATFORM_ARCH_AMD64)
set(ARCH_SOURCES_DIR amd64)
elseif (CLR_CMAKE_PLATFORM_ARCH_ARM64)
@@ -749,4 +754,20 @@ else ()
clr_unknown_arch()
endif ()
+add_definitions(-D_SKIP_IF_SIMULATOR_)
+add_definitions(-D_SECURE_SCL=0)
+add_definitions(-D_NEW_SDK=1)
+add_definitions(-DOFFICIAL_BUILD=0)
+add_definitions(-DBETA=0)
+add_definitions(-DFX_BRANCH_SYNC_COUNTER_VALUE=0)
+add_definitions(-DUNICODE)
+add_definitions(-D_UNICODE)
+
+# Compiler options
+
+if(WIN32)
+ add_compile_options(/FIWarningControl.h) # force include of WarningControl.h
+ add_compile_options(/Zl) # omit default library name in .OBJ
+endif(WIN32)
+
add_subdirectory(src)
diff --git a/Documentation/README.md b/Documentation/README.md
index 61b08cac54..b207477471 100644
--- a/Documentation/README.md
+++ b/Documentation/README.md
@@ -11,7 +11,7 @@ Intro to .NET Core
Learn about .NET Core
====================
-- [[WIP] Official .NET Core Docs](http://dotnet.readthedocs.org)
+- [[WIP] Official .NET Core Docs](http://dotnet.github.io/docs/)
Get .NET Core
=============
@@ -38,6 +38,7 @@ Coding Guidelines
- [CLR Coding Guide](coding-guidelines/clr-code-guide.md)
- [CLR JIT Coding Conventions](coding-guidelines/clr-jit-coding-conventions.md)
- [Cross Platform Performance and Eventing Design](coding-guidelines/cross-platform-performance-and-eventing.md)
+- [Adding New Events to the VM](coding-guidelines/EventLogging.md)
Build CoreCLR from Source
=========================
@@ -46,11 +47,15 @@ Build CoreCLR from Source
- [Building CoreCLR on Linux](building/linux-instructions.md)
- [Building CoreCLR on OS X](building/osx-instructions.md)
- [Building CoreCLR on Windows](building/windows-instructions.md)
-- [Debugging CoreCLR on Windows](building/windows-debugging-instructions.md)
+
+Testing and Debugging CoreCLR
+=============================
+
+- [Debugging CoreCLR](building/debugging-instructions.md)
- [Testing Changes on Windows](building/windows-test-instructions.md)
- [Testing Changes on Linux, OS X, and FreeBSD](building/unix-test-instructions.md)
- [Testing with CoreFX](building/testing-with-corefx.md)
-- [Creating a Custom DNX](building/custom-dnx-instructions.md)
+- [.NET Performance Data Collection Script](https://raw.githubusercontent.com/dotnet/corefx-tools/master/src/performance/perfcollect/perfcollect)
Book of the Runtime
===================
diff --git a/Documentation/building/custom-dnx-instructions.md b/Documentation/building/custom-dnx-instructions.md
deleted file mode 100644
index ccda54a175..0000000000
--- a/Documentation/building/custom-dnx-instructions.md
+++ /dev/null
@@ -1,162 +0,0 @@
-Creating a Custom DNX
-=====================
-
-These instructions will lead you through creating a custom [DNX](https://github.com/aspnet/dnx) using an official DNX and the results of CoreCLR build. The same approach can be be used with the CoreFX build; however, that part isn't explored with these instructions. CoreFX is a bit harder, too, since you need to worry more about dependencies.
-
-These instructions are specific to Windows and assume that you've just completed the [Windows installation instructions](windows-instructions.md). They use the same demo `C:\coreclr-demo` directory and assume the same artifacts. The same general idea will work on OS X and Linux once .NET Core is supported more broadly on those OSes.
-
-Introduction to DNX
-===================
-
-DNX is the ".NET Execution Environment". It's a concept that came out of the ASP.NET 5 project, but is more general than Web. DNX can be looked at a few different ways:
-
-- It is a distribution of .NET Core.
-- It delivers a source-first and NuGet-first .NET programming experience.
-- It is console-everything.
-- It is the base mechanism and set of concepts on which ASP.NET 5 is built.
-
-You can have more than one DNX installed (under `.dnx`) on a machine and a single one will be selected for use at any time. You use [DNVM](https://github.com/aspnet/dnvm), the .NET SDK Manager, to acquire and manage DNX instances.
-
-DNX instances differ/disambiguate on the following axis:
-
-- Version
-- CPU architecture
-- Runtime type (CLR, CoreCLR, Mono)
-
-Installing DNVM
-===============
-
-You need DNVM as a starting point. DNVM enables you to acquire a (or multiple) DNX. The easiest installation approach is to follow the [DNVM instructions](https://github.com/aspnet/home#install-the-net-version-manager-dnvm) on the ASP.NET home repo. DNVM is simply a script, which doesn't depend on or include a DNX or CoreCLR.
-
-You can request to see which DNXs are available, with `dnvm list`, which will display an empty set of installed runtimes.
-
- C:\coreclr-demo>dnvm list
-
-Installing a DNX
-================
-
-You install a DNX via DNVM. It's easy to install the latest default DNX, using the upgrade command.
-
- C:\coreclr-demo>dnvm upgrade
-
-Alternatively, you can use the install command:
-
- C:\coreclr-demo>dnvm install latest
-
-Both commands will install a default DNX, which on Windows, is x86 and hosted on the .NET Framework CLR. You can see that with `dnvm list`.
-
- C:\coreclr-demo>dnvm list
-
- Active Version Runtime Architecture Location
- ------ ------- ------- ------------ --------
- * 1.0.0-beta5-11427 clr x86 C:\Users\rlander\.dnx\runtimes
-
-Trying out DNX
-==============
-
-As stated above, these instructions assume that you've just completed the [Windows installation instructions](windows-instructions.md), which included a "Hello World" demo.
-
-You need one extra file for the demo to work, which is project.json. Add it beside HelloWorld.cs.
-
-```json
-{
- "version": "1.0.0-*",
- "dependencies": {
- },
- "frameworks" : {
- "dnx451" : { },
- "dnxcore50" : {
- "dependencies": {
- "System.Console": "4.0.0-beta-*"
- }
- }
- }
-}
-```
-
-You need to restore dependent nuget packages with the dnu tool (comes with DNX). DNU will pull down NuGet packages from nuget.org or any other configured NuGet feed, such as MyGet.
-
- C:\coreclr-demo>dnu restore
-
-You can now run the app, with dnx.
-
- C:\coreclr-demo>dnx run
-
-Switching to CoreCLR
-====================
-
-For the purpose of this demo, you need an x64 DNX hosted on (actually including) CoreCLR. The CoreCLR build only generates X64 artifacts currently. You can install the latest version of an X64 CoreCLR DNX with DNVM. You'll notice that the install process will crossgen the managed assemblies for you. Performance!
-
- C:\coreclr-demo>dnvm install latest -arch x64 -runtime coreclr
-
-You should now have two runtimes installed. The CoreCLR one will be the default. The install process calls `dnvm use` for you as a convenience, since that's probably what you wanted. `dnvm list` will demonstrate this change in state.
-
- C:\Users\rlander>dnvm list
-
- Active Version Runtime Architecture Location
- ------ ------- ------- ------------ --------
- 1.0.0-beta5-11447 clr x86 C:\Users\rlander\.dnx\runtimes
- * 1.0.0-beta5-11447 coreclr x64 C:\Users\rlander\.dnx\runtimes
-
-You will need to repeat the steps above to run your app on CoreCLR (CoreCLR requires more NuGet packages).
-
- C:\coreclr-demo>dnu restore
- C:\coreclr-demo>dnx run
-
-Creating a Custom DNX
-=====================
-
-By this point, the demo is working with an official DNX. You can now create a custom DNX with a custom build of CoreCLR. For the purpose of safe experimentation, you are recommended to copy and rename an existing DNX. Note that the version numbers in the example below might not match your current environment. You'll need to adjust them accordingly.
-
- C:\coreclr-demo>dir %USERPROFILE%\.dnx\runtimes
- Volume in drive C has no label.
- Volume Serial Number is F074-BCDF
-
- Directory of C:\Users\rlander\.dnx\runtimes
-
- 04/01/2015 04:45 PM <DIR> .
- 04/01/2015 04:45 PM <DIR> ..
- 04/01/2015 04:33 PM <DIR> dnx-clr-win-x86.1.0.0-beta5-11447
- 04/01/2015 04:45 PM <DIR> dnx-coreclr-win-x64.1.0.0-beta5-11447
- 0 File(s) 0 bytes
- 4 Dir(s) 94,895,509,504 bytes free
-
-
-Copy and rename the X64 CoreCLR DNX. That's the one you'll target. You'll be able to see it with `dnvm list`. This time, you will need to explicitly `use` this DNX in order to use it.
-
- C:\coreclr-demo>xcopy /E /S %USERPROFILE%\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-beta5-11469 %USERPROFILE%\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-beta5-custom
-
-You now need to select the custom DNX as the use to 'use'. You can see the new DNX state with `dnvm list`.
-
- C:\coreclr-demo>dnvm use 1.0.0-beta5-custom -r coreclr -arch x64
- C:\coreclr-demo>dnvm list
-
- Active Version Runtime Architecture Location
- ------ ------- ------- ------------ --------
- 1.0.0-beta5-11447 clr x86 C:\Users\rlander\.dnx\runtimes
- 1.0.0-beta5-11469 coreclr x64 C:\Users\rlander\.dnx\runtimes
- * 1.0.0-beta5-custom coreclr x64 C:\Users\rlander\.dnx\runtimes
-
-Try running the app again to validate that you have a working installation with the custom DNX.
-
- C:\coreclr-demo>dnx run
-
-Injecting a Custom CoreCLR into your Custom DNX
-===============================================
-
-Next, you need to copy your CoreCLR build into your custom DNX. The default build for CoreCLR is X64 debug, which will be slow. Unless you intend to debug CoreCLR itself, a release build is recommended.
-
- C:\git\coreclr>build Release
- C:\git\coreclr>copy /Y bin\Product\Windows_NT.x64.Release\*.dll %USERPROFILE%\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-beta5-custom\bin
-
-The custom CLR will invalidate all of the existing crossgen images. You need to delete them.
-
- C:\git\coreclr>del %USERPROFILE%\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-beta5-custom\bin\*.ni.dll
-
-You should re-generate crossgen images for your DNX to provide the best performance with the following command. Sadly, crossgen won't work until the [Issue 227](https://github.com/dotnet/coreclr/issues/227) is resolved (so skip this command for now).
-
- C:\Users\rlander\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-beta5-custom\bin>k-crossgen.cmd
-
-You should now have a working custom CoreCLR x64 DNX. Give it a try.
-
- C:\coreclr-demo>dnx run
diff --git a/Documentation/building/windows-debugging-instructions.md b/Documentation/building/windows-debugging-instructions.md
deleted file mode 100644
index 0a2d66d354..0000000000
--- a/Documentation/building/windows-debugging-instructions.md
+++ /dev/null
@@ -1,28 +0,0 @@
-Debugging CoreCLR on Windows
-============================
-
-1. Perform a build of the repo.
-2. Open <repo_root>\binaries\Cmake\CoreCLR.sln in VS.
-3. Right click the INSTALL project and choose ‘Set as StartUp Project’
-4. Bring up the properties page for the INSTALL project
-5. Select Configuration Properties->Debugging from the left side tree control
-6. Set Command=`$(SolutionDir)..\product\$(Platform)\$(Configuration)\corerun.exe`
- 1. This points to the folder where the built runtime binaries are present.
-7. Set Command Arguments=`<managed app you wish to run>` (e.g. HelloWorld.exe)
-8. Set Working Directory=`$(SolutionDir)..\product\$(Platform)\$(Configuration)`
- 1. This points to the folder containing CoreCLR binaries.
-9. Press F11 to start debugging at wmain in corerun (or set a breakpoint in source and press F5 to run to it)
- 1. As an example, set a breakpoint for the EEStartup function in ceemain.cpp to break into CoreCLR startup.
-
-Steps 1-8 only need to be done once, and then (9) can be repeated whenever you want to start debugging. The above can be done with Visual Studio 2013.
-
-####api-ms-win-core-* DLL missing error
-If you get the `The program can't start because api-ms-win-core-winrt-string-l1-1-0.dll is missing from your computer. Try reinstalling the program to fix this problem` error while debugging, build the tests project. After build completes, place the required dlls from "**_..\coreclr\tests\src\packages\Microsoft.DotNet.CoreCLR.TestDependencies.1.0.0-prerelease\lib\aspnetcore50_**" alongside the coreclr.dll. See [Issue #65](https://github.com/dotnet/coreclr/issues/65) and this [topic](http://forums.dotnetfoundation.org/t/coreclr-on-win7-api-ms-win-core-winrt-string-l1-1-0-is-missing/853/4).
-
-
-Debugging Mscorlib and/or managed application
-=============================================
-
-To step into and debug managed code of Mscorlib.dll (or the managed application being executed by the runtime you built), using Visual Studio, is something that will be supported with Visual Studio 2015. We are actively working to enable this support.
-
-Until then, you can use [WinDbg](https://msdn.microsoft.com/en-us/library/windows/hardware/ff551063(v=vs.85).aspx) and [SOS](https://msdn.microsoft.com/en-us/library/bb190764(v=vs.110).aspx) (an extension to WinDbg to support managed debugging) to step in and debug the generated managed code. This is what we do on the .NET Runtime team as well :)
diff --git a/Documentation/building/windows-instructions.md b/Documentation/building/windows-instructions.md
index 3d0a0389c9..fd4f3de3d0 100644
--- a/Documentation/building/windows-instructions.md
+++ b/Documentation/building/windows-instructions.md
@@ -31,6 +31,12 @@ The CoreCLR build relies on CMake for the build. We are currently using CMake 3.
- Install [CMake](http://www.cmake.org/download) for Windows.
- Add it to the PATH environment variable.
+Python
+---------
+Python is used in the build system. We are currently using python 2.7.9.
+- Install [Python](https://www.python.org/downloads/) for Windows.
+- Add it to the PATH environment variable.
+
Git Setup
---------
diff --git a/Documentation/coding-guidelines/EventLogging.md b/Documentation/coding-guidelines/EventLogging.md
new file mode 100644
index 0000000000..a53d6e9844
--- /dev/null
+++ b/Documentation/coding-guidelines/EventLogging.md
@@ -0,0 +1,19 @@
+# CoreClr Event Logging Design
+
+##Introduction
+
+Event Logging is a mechanism by which CoreClr can provide a variety of information on it's state. This Logging works by inserting explicit logging calls by the developer within the VM . The Event Logging mechanism is largely based on [ETW- Event Tracing For Windows](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968803(v=vs.85).aspx)
+
+# Adding Events to the Runtime
+
+- Edit the [Event manifest](../../src/vm/ClrEtwAll.man) to add a new event. For guidelines on adding new events, take a look at the existing events in the manifest and this guide for [ETW Manifests](https://msdn.microsoft.com/en-us/library/dd996930%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396).
+- The build system should automatically generate the required artifacts for the added events.
+- Add entries in the [exclusion list](../../src/vm/ClrEtwAllMeta) if necessary
+- The Event Logging Mechanism provides the following two functions, which can be used within the VM:
+ - **FireEtw**EventName, this is used to trigger the event
+ - **EventEnabled**EventName, this is used to see if any consumer has subscribed to this event
+
+
+# Adding New Logging System
+
+Though the the Event logging system was designed for ETW, the build system provides a mechanism, basically an [adapter script- genXplatEventing.py](../../src/scripts/genXplatEventing.py) so that other Logging System can be added and used by CoreClr. An Example of such an extension for [LTTng logging system](https://lttng.org/) can be found in [genXplatLttng.py](../../src/scripts/genXplatLttng.py )
diff --git a/README.md b/README.md
index ca501304c5..9e315a5e79 100644
--- a/README.md
+++ b/README.md
@@ -10,8 +10,8 @@ Build Status
| |Ubuntu 14.04 |Centos 7.1 |OpenSuSE 13.2 |Windows |Mac OS X |FreeBSD |
|---------|:------:|:------:|:------:|:------:|:-------:|:-------:|
-|**Debug**|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_ubuntu/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_ubuntu/)|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_centos7.1/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_centos7.1/)|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_opensuse13.2/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_opensuse13.2/)|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_windows_nt/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_windows_nt/)|[![Build Status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_osx/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_osx/) |[![Build Status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_freebsd/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_freebsd/) |
-|**Release**|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_ubuntu/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_ubuntu/)|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_centos7.1/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_centos7.1/)|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_opensuse13.2/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_opensuse13.2/)|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_windows_nt/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_windows_nt/)|[![Build Status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_osx/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_osx/) |[![Build Status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_freebsd/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_freebsd/) |
+|**Debug**|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_ubuntu/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_ubuntu/)|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_centos7.1/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_centos7.1/)|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_opensuse13.2/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_opensuse13.2/)|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_windows_nt/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_windows_nt/)[![Arm64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/arm64_cross_debug_windows_nt.svg?label=arm64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/arm64_cross_debug_windows_nt/)|[![Build Status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_osx/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_osx/) |[![Build Status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_freebsd/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_freebsd/) |
+|**Release**|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_ubuntu/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_ubuntu/)|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_centos7.1/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_centos7.1/)|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_opensuse13.2/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_opensuse13.2/)|[![Build status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_windows_nt/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_windows_nt/)[![Arm64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/arm64_cross_release_windows_nt.svg?label=arm64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/arm64_cross_release_windows_nt/)|[![Build Status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_osx/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_osx/) |[![Build Status](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_freebsd/badge/icon)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/release_freebsd/) |
Get .NET Core
-------------
diff --git a/build.cmd b/build.cmd
index 88e5194bd2..5f892afe55 100644
--- a/build.cmd
+++ b/build.cmd
@@ -1,4 +1,4 @@
-@echo off
+echo off
setlocal EnableDelayedExpansion
:: Set the default arguments for build
@@ -35,6 +35,7 @@ if /i "%1" == "arm64" (set __BuildArch=arm64&&shift&goto Arg_Loop)
if /i "%1" == "debug" (set __BuildType=Debug&shift&goto Arg_Loop)
if /i "%1" == "release" (set __BuildType=Release&shift&goto Arg_Loop)
+if /i "%1" == "checked" (set __BuildType=Checked&shift&goto Arg_Loop)
if /i "%1" == "clean" (set __CleanBuild=1&shift&goto Arg_Loop)
@@ -48,6 +49,8 @@ if /i "%1" == "vs2015" (set __VSVersion=%1&shift&goto Arg_Loop)
if /i "%1" == "skiptestbuild" (set __SkipTestBuild=1&shift&goto Arg_Loop)
if /i "%1" == "docrossgen" (set __DoCrossgen=1&shift&goto Arg_Loop)
+if /i "%1" == "priority" (set __TestPriority=%2&shift&shift&goto Arg_Loop)
+
if /i "%1" == "/toolset_dir" (set __ToolsetDir=%2&shift&shift&goto Arg_Loop)
echo Invalid commandline argument: %1
@@ -64,6 +67,7 @@ set "__IntermediatesDir=%__RootBinDir%\obj\%__BuildOS%.%__BuildArch%.%__BuildTyp
set "__PackagesBinDir=%__BinDir%\.nuget"
set "__TestBinDir=%__RootBinDir%\tests\%__BuildOS%.%__BuildArch%.%__BuildType%"
set "__TestIntermediatesDir=%__RootBinDir%\tests\obj\%__BuildOS%.%__BuildArch%.%__BuildType%"
+set "__GeneratedIntermediatesDir=%__IntermediatesDir%\Generated_latest" ::use this variable to locate dynamically generated files, the actual location though will be different
:: Generate path to be set for CMAKE_INSTALL_PREFIX to contain forward slash
set "__CMakeBinDir=%__BinDir%"
@@ -77,7 +81,6 @@ echo.
:: MSBuild projects would need a rebuild
set __MSBCleanBuildArgs=/t:rebuild
-
:: Cleanup the previous output for the selected configuration
if exist "%__BinDir%" rd /s /q "%__BinDir%"
if exist "%__IntermediatesDir%" rd /s /q "%__IntermediatesDir%"
@@ -127,7 +130,7 @@ exit /b 1
:: Note: We've disabled node reuse because it causes file locking issues.
:: The issue is that we extend the build with our own targets which
:: means that that rebuilding cannot successfully delete the task
-:: assembly.
+:: assembly.
if /i "%__VSVersion%" =="vs2015" goto MSBuild14
set _msbuildexe="%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe"
if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles%\MSBuild\12.0\Bin\MSBuild.exe"
@@ -196,8 +199,34 @@ exit /b 1
REM Build CoreCLR
:BuildCoreCLR
+:: Run Steps to Generate ETW specific infrastructure the
+if exist "%__GeneratedIntermediatesDir%" rd /s /q "%__GeneratedIntermediatesDir%" ::Ensure there are no stale files in the Generated Directory
+md "%__GeneratedIntermediatesDir%"
+md "%__GeneratedIntermediatesDir%\inc"
+set "genetw=%__SourceDir%\scripts\genWinEtw.py"
+
+mc -h "%__GeneratedIntermediatesDir%\inc" -r "%__GeneratedIntermediatesDir%" -b -co -um -p FireEtw "%__SourceDir%\VM\ClrEtwAll.man"
+IF ERRORLEVEL 1 goto FailedToGenEtwMetadata
+
+echo generating clretwallmain.h and etmdummy.h
+"%PythonPath%" "%genetw%" --man "%__SourceDir%\VM\ClrEtwAll.man" --exc "%__SourceDir%\VM\ClrEtwAllMeta.lst" --eventheader "%__GeneratedIntermediatesDir%\inc\ClrEtwAll.h" --macroheader "%__GeneratedIntermediatesDir%\inc\clretwallmain.h" --dummy "%__GeneratedIntermediatesDir%\inc\etmdummy.h"
+IF ERRORLEVEL 1 goto FailedToGenEtwMetadata
+
+set "__GeneratedIntermediatesDirPresent=%__IntermediatesDir%\Generated" ::do not use this variable, it is used below to support incremental build
+"%PythonPath%" -c "import sys;sys.path.insert(0,r\"%__SourceDir%\scripts\"); from Utilities import *;UpdateDirectory(r\"%__GeneratedIntermediatesDirPresent%\",r\"%__GeneratedIntermediatesDir%\")"
+IF ERRORLEVEL 1 goto FailedToGenEtwMetadata
+
+set __GeneratedIntermediatesDir="%__GeneratedIntermediatesDirPresent%"
+goto BuildVM
+
+:FailedToGenEtwMetadata
+echo Failed to generate ETW specific files.
+exit /b %ERRORLEVEL%
+
+:BuildVM
+
set "__CoreCLRBuildLog=%__LogsDir%\CoreCLR_%__BuildOS%__%__BuildArch%__%__BuildType%.log"
-if /i "%__BuildArch%" == "arm64" (
+if /i "%__BuildArch%" == "arm64" (
REM TODO, remove once we have msbuild support for this platform.
%_msbuildexe% "%__IntermediatesDir%\install.vcxproj" %__MSBCleanBuildArgs% /nologo /maxcpucount /nodeReuse:false /p:Configuration=%__BuildType% /p:UseEnv=true /fileloggerparameters:Verbosity=normal;LogFile="%__CoreCLRBuildLog%"
@@ -271,7 +300,14 @@ if defined __SkipTestBuild (
echo.
echo Commencing build of tests for %__BuildOS%.%__BuildArch%.%__BuildType%
echo.
-call %__ProjectDir%\tests\buildtest.cmd
+set __BuildtestArgs=
+
+if defined __TestPriority (
+ set "__BuildtestArgs=Priority %__TestPriority%"
+)
+
+call %__ProjectDir%\tests\buildtest.cmd %__BuildtestArgs%
+
IF NOT ERRORLEVEL 1 goto SuccessfulBuild
echo Test binaries build failed. Refer !__TestManagedBuildLog! for details.
exit /b 1
@@ -292,7 +328,7 @@ echo Usage:
echo %0 BuildArch BuildType [clean] [vsversion] where:
echo.
echo BuildArch can be: x64, x86, arm64
-echo BuildType can be: Debug, Release
+echo BuildType can be: Debug, Release, Checked
echo Clean - optional argument to force a clean build.
echo VSVersion - optional argument to use VS2013 or VS2015 (default VS2015)
echo windowsmscorlib - Build mscorlib for Windows
@@ -300,4 +336,5 @@ echo linuxmscorlib - Build mscorlib for Linux
echo osxmscorlib - Build mscorlib for OS X
echo skiptestbuild - Skip building tests
echo toolset_dir - toolset directory -- Arm64 use only.
+echo Priority (N) where N is a number that signifies the set of tests that will be built and consequently run.
exit /b 1
diff --git a/build.sh b/build.sh
index 2141ffb168..4925f20e30 100755
--- a/build.sh
+++ b/build.sh
@@ -4,7 +4,7 @@ usage()
{
echo "Usage: $0 [BuildArch] [BuildType] [clean] [verbose] [coverage] [cross] [clangx.y] [ninja] [skipcoreclr] [skipmscorlib] [skiptests]"
echo "BuildArch can be: x64, x86, arm, arm64"
- echo "BuildType can be: Debug, Release"
+ echo "BuildType can be: Debug, Checked, Release"
echo "clean - optional argument to force a clean build."
echo "verbose - optional argument to enable verbose build output."
echo "coverage - optional argument to enable code coverage build (currently supported only for Linux and OSX)."
@@ -27,6 +27,9 @@ setup_dirs()
mkdir -p "$__BinDir"
mkdir -p "$__LogsDir"
mkdir -p "$__IntermediatesDir"
+ # Ensure there are no stale generated files
+ rm -rf "$__GeneratedIntermediatesDir"
+
}
# Performs "clean build" type actions (deleting and remaking directories)
@@ -64,10 +67,36 @@ build_coreclr()
return
fi
+ echo "Laying out dynamically generated files consumed by the build system "
+ python "$__ProjectRoot/src/scripts/genXplatEventing.py" --man "$__ProjectRoot/src/vm/ClrEtwAll.man" --exc "$__ProjectRoot/src/vm/ClrEtwAllMeta.lst" --inc "$__GeneratedIntermediatesDir/inc" --dummy "$__GeneratedIntermediatesDir/inc/etmdummy.h" --testdir "$__GeneratedIntermediatesDir/eventprovider_tests"
+ if [[ $? != 0 ]]; then
+ exit
+ fi
+
+ #determine the logging system
+ case $__BuildOS in
+ Linux)
+ python "$__ProjectRoot/src/scripts/genXplatLttng.py" --man "$__ProjectRoot/src/vm/ClrEtwAll.man" --intermediate "$__GeneratedIntermediatesDir/"
+ if [[ $? != 0 ]]; then
+ exit
+ fi
+ ;;
+ *)
+ ;;
+ esac
+
+ export __GeneratedIntermediatesDirPresent="$__IntermediatesDir/Generated" #do not use this variable, it is used below to support incremental build
+ python -c "import sys;sys.path.insert(0,\"$__ProjectRoot/src/scripts\"); from Utilities import *;UpdateDirectory(\"$__GeneratedIntermediatesDirPresent\",\"$__GeneratedIntermediatesDir\")"
+ if [[ $? != 0 ]]; then
+ exit
+ fi
+
+ # Do not do any more processing from now on:
# All set to commence the build
- echo "Commencing build of native components for $__BuildOS.$__BuildArch.$__BuildType"
+ export __GeneratedIntermediatesDir="$__GeneratedIntermediatesDirPresent"
cd "$__IntermediatesDir"
+ echo "Commencing build of native components for $__BuildOS.$__BuildArch.$__BuildType"
generator=""
buildFile="Makefile"
@@ -181,7 +210,7 @@ echo "Commencing CoreCLR Repo build"
# Argument types supported by this script:
#
# Build architecture - valid values are: x64, ARM.
-# Build Type - valid values are: Debug, Release
+# Build Type - valid values are: Debug, Checked, Release
#
# Set the default arguments for build
@@ -296,6 +325,9 @@ for i in "$@"
debug)
__BuildType=Debug
;;
+ checked)
+ __BuildType=Checked
+ ;;
release)
__BuildType=Release
;;
@@ -349,6 +381,7 @@ __ToolsDir="$__RootBinDir/tools"
__TestWorkingDir="$__RootBinDir/tests/$__BuildOS.$__BuildArch.$__BuildType"
__IntermediatesDir="$__RootBinDir/obj/$__BuildOS.$__BuildArch.$__BuildType"
__TestIntermediatesDir="$__RootBinDir/tests/obj/$__BuildOS.$__BuildArch.$__BuildType"
+export __GeneratedIntermediatesDir="$__IntermediatesDir/Generated_latest" # use this variable to locate dynamically generated files, the actual location though will be different
# Specify path to be set for CMAKE_INSTALL_PREFIX.
# This is where all built CoreClr libraries will copied to.
diff --git a/clr.props b/clr.props
index 707d1cc3e5..03d11c3d8b 100644
--- a/clr.props
+++ b/clr.props
@@ -185,7 +185,6 @@
</PropertyGroup>
<PropertyGroup Condition="'$(_BUILDOPT)' == 'no opt'">
- <CDefines>$(CDefines);WRITE_BARRIER_CHECK=1</CDefines>
<Optimize>false</Optimize>
</PropertyGroup>
</When>
diff --git a/dir.props b/dir.props
index e61e23f4ca..b21f7545d8 100644
--- a/dir.props
+++ b/dir.props
@@ -32,7 +32,8 @@
<BuildType Condition="'$(__BuildType)'==''">Debug</BuildType>
<BuildType Condition="'$(__BuildType)' == 'debug'">Debug</BuildType>
<BuildType Condition="'$(__BuildType)' == 'release'">Release</BuildType>
-
+ <BuildType Condition="'$(__BuildType)' == 'checked'">Checked</BuildType>
+
<BuildOS>$(__BuildOS)</BuildOS>
<BuildOS Condition="'$(__BuildOS)' == ''">Windows_NT</BuildOS>
diff --git a/netci.groovy b/netci.groovy
index 6b0a5a3208..65aab2f893 100644
--- a/netci.groovy
+++ b/netci.groovy
@@ -74,8 +74,8 @@ def static addPRTrigger(def job, def architecture, def os, def configuration, is
break
case 'Ubuntu':
case 'OSX':
- // Only add the trigger for the flow job
- if (isFlowJob) {
+ // Only add the trigger for the flow job and only for Release, since Debug is too slow
+ if (isFlowJob && configuration == 'Release') {
Utilities.addGithubPRTrigger(job, "${os} ${architecture} ${configuration} Build and Test")
}
break
@@ -87,26 +87,37 @@ def static addPRTrigger(def job, def architecture, def os, def configuration, is
case 'Windows_NT':
Utilities.addGithubPRTrigger(job, "${os} ${architecture} ${configuration} Build and Test")
break
+ case 'FreeBSD':
+ Utilities.addGithubPRTrigger(job, "${os} ${architecture} ${configuration} Build")
+ break
default:
println("Unknown os: ${os}");
- // assert false
+ assert false
break
}
break
case 'arm64':
case 'arm':
- if (os == 'Ubuntu') {
- Utilities.addGithubPRTrigger(job, "${os} ${architecture} Cross ${configuration} Build", "(?i).*test\\W+${os}\\W+${architecture}.*")
+ switch (os) {
+ case 'Ubuntu':
+ Utilities.addGithubPRTrigger(job, "${os} ${architecture} Cross ${configuration} Build", "(?i).*test\\W+${os}\\W+${architecture}.*")
+ break
+ case 'Windows_NT':
+ // Set up a private trigger
+ Utilities.addPrivateGithubPRTrigger(job, "${os} ${architecture} Cross ${configuration} Build",
+ "(?i).*test\\W+${architecture}\\W+${osGroup}.*", null, ['jashook', 'RussKeldorph', 'gkhanna79', 'briansul', 'cmckinsey', 'jkotas', 'ramarag', 'markwilkie', 'rahku', 'tzwlai', 'weshaggard'])
+ break
}
- // No arm64 triggers yet for other OS's
break
case 'x86':
// For windows, x86 runs by default
if (os == 'Windows_NT') {
Utilities.addGithubPRTrigger(job, "${os} ${architecture} ${configuration} Build")
}
- // default trigger
- Utilities.addGithubPRTrigger(job, "${os} ${architecture} ${configuration} Build", "(?i).*test\\W+${architecture}\\W+${osGroup}.*")
+ else {
+ // default trigger
+ Utilities.addGithubPRTrigger(job, "${os} ${architecture} ${configuration} Build", "(?i).*test\\W+${architecture}\\W+${osGroup}.*")
+ }
break
default:
println("Unknown architecture: ${architecture}");
@@ -115,263 +126,295 @@ def static addPRTrigger(def job, def architecture, def os, def configuration, is
}
}
-[true, false].each { isPR ->
- ['arm', 'arm64', 'x64', 'x86'].each { architecture ->
- ['Debug', 'Release'].each { configuration ->
- osList.each { os ->
- // Skip totally unimplemented (in CI) configurations.
- switch (architecture) {
- case 'arm64':
- // Windows or cross compiled Ubuntu
- if (os != 'Windows_NT' && os != 'Ubuntu') {
- println("Skipping ${os} ${architecture}")
- return
- }
- break
- case 'arm':
- // Only Ubuntu cross implemented
- if (os != 'Ubuntu') {
- println("Skipping ${os} ${architecture}")
- return
- }
- break
- case 'x86':
- // Skip non-windows
- if (os != 'Windows_NT') {
- println("Skipping ${os} ${architecture}")
- return
- }
- break
- case 'x64':
- // Everything implemented
- break
- default:
- println("Unknown architecture: ${architecture}");
- assert false
- break
- }
-
- // Calculate names
- def lowerConfiguration = configuration.toLowerCase()
- def jobName = getBuildJobName(configuration, architecture, os)
+[true, false].each { buildPri1Tests ->
+ [true, false].each { isPR ->
+ ['arm', 'arm64', 'x64', 'x86'].each { architecture ->
+ ['Debug', 'Release'].each { configuration ->
+ osList.each { os ->
+ // Skip totally unimplemented (in CI) configurations.
+ switch (architecture) {
+ case 'arm64':
+ // Windows or cross compiled Ubuntu
+ if (os != 'Windows_NT' && os != 'Ubuntu') {
+ println("Skipping ${os} ${architecture}")
+ return
+ }
+ break
+ case 'arm':
+ // Only Ubuntu cross implemented
+ if (os != 'Ubuntu') {
+ println("Skipping ${os} ${architecture}")
+ return
+ }
+ break
+ case 'x86':
+ // Skip non-windows
+ if (os != 'Windows_NT') {
+ println("Skipping ${os} ${architecture}")
+ return
+ }
+ break
+ case 'x64':
+ // Everything implemented
+ break
+ default:
+ println("Unknown architecture: ${architecture}")
+ assert false
+ break
+ }
+
+ //Skip Pri-1 test build unless it's for Windows x64 Release
+ if (buildPri1Tests && (architecture != 'x64' || configuration != 'Release' || os != 'Windows_NT'))
+ {
+ println("Skipping unneeded Priority 1 tests");
+ return
+ }
- // Create the new job
- def newJob = job(Utilities.getFullJobName(project, jobName, isPR)) {}
+ // Calculate names
+ def lowerConfiguration = configuration.toLowerCase()
+ if (buildPri1Tests) {
+ def jobName = getBuildJobName(configuration, architecture, os) + "_pri1"
+ }
+ else {
+ def jobName = getBuildJobName(configuration, architecture, os)
+ }
+
+ // Create the new job
+ def newJob = job(Utilities.getFullJobName(project, jobName, isPR)) {}
- setMachineAffinity(newJob, os, architecture)
- // Add all the standard options
- Utilities.standardJobSetup(newJob, project, isPR)
- if (isPR) {
- addPRTrigger(newJob, architecture, os, configuration, false)
- }
- else {
- Utilities.addGithubPushTrigger(newJob)
- }
+ setMachineAffinity(newJob, os, architecture)
+ // Add all the standard options
+ Utilities.standardJobSetup(newJob, project, isPR)
+ if (isPR) {
+ addPRTrigger(newJob, architecture, os, configuration, false)
+ }
+ else {
+ Utilities.addGithubPushTrigger(newJob)
+ }
- def buildCommands = [];
- def osGroup = getOSGroup(os)
+ def buildCommands = [];
+ def osGroup = getOSGroup(os)
- // Calculate the build steps, archival, and xunit results
- switch (os) {
- case 'Windows_NT':
- switch (architecture) {
- case 'x64':
- case 'x86':
- buildCommands += "build.cmd ${lowerConfiguration} ${architecture}"
-
- // TEMPORARY. Don't run tests for PR jobs on x86
- if (architecture == 'x86' && !isPR) {
- buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture}"
- }
-
- // Run the rest of the build
- // Build the mscorlib for the other OS's
- buildCommands += "build.cmd ${lowerConfiguration} ${architecture} linuxmscorlib"
- buildCommands += "build.cmd ${lowerConfiguration} ${architecture} freebsdmscorlib"
- buildCommands += "build.cmd ${lowerConfiguration} ${architecture} osxmscorlib"
-
- // Zip up the tests directory so that we don't use so much space/time copying
- // 10s of thousands of files around.
- buildCommands += "powershell -Command \"Add-Type -Assembly 'System.IO.Compression.FileSystem'; [System.IO.Compression.ZipFile]::CreateFromDirectory('.\\bin\\tests\\${osGroup}.${architecture}.${configuration}', '.\\bin\\tests\\tests.zip')\"";
-
- // For windows, pull full test results and test drops for x86/x64
- Utilities.addArchival(newJob, "bin/Product/**,bin/tests/tests.zip")
- // TEMPORARY. Don't run tests for PR jobs on x86
- if (architecture == 'x86' && !isPR) {
- Utilities.addXUnitDotNETResults(newJob, 'bin/**/TestRun*.xml')
- }
- break
- case 'arm64':
- buildCommands += "build.cmd ${lowerConfiguration} ${architecture} skiptestbuild /toolset_dir C:\\ats"
- // Add archival. No xunit results for x64 windows
- Utilities.addArchival(newJob, "bin/Product/**")
- break
- default:
- println("Unknown architecture: ${architecture}");
- assert false
- break
- }
- break
- case 'Ubuntu':
- case 'Debian8.2':
- case 'OSX':
- case 'FreeBSD':
- case 'CentOS7.1':
- case 'OpenSUSE13.2':
- switch (architecture) {
- case 'x64':
- case 'x86':
- // On other OS's we skipmscorlib but run the pal tests
- buildCommands += "./build.sh skipmscorlib verbose ${lowerConfiguration} ${architecture}"
- buildCommands += "src/pal/tests/palsuite/runpaltests.sh \${WORKSPACE}/bin/obj/${osGroup}.${architecture}.${configuration} \${WORKSPACE}/bin/paltestout"
+ // Calculate the build steps, archival, and xunit results
+ switch (os) {
+ case 'Windows_NT':
+ switch (architecture) {
+ case 'x64':
+ case 'x86':
+ if (buildPri1Tests)
+ {
+ buildCommands += "build.cmd ${lowerConfiguration} ${architecture} Priority 1"
+ }
+ else
+ {
+ buildCommands += "build.cmd ${lowerConfiguration} ${architecture}"
+ }
+ // TEMPORARY. Don't run tests for PR jobs on x86
+ if (architecture == 'x64' || !isPR) {
+ buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture}"
+ }
- // Basic archiving of the build
- Utilities.addArchival(newJob, "bin/Product/**,bin/obj/*/tests/**")
- // And pal tests
- Utilities.addXUnitDotNETResults(newJob, '**/pal_tests.xml')
- break
- case 'arm64':
- // We don't run the cross build except on Ubuntu
- assert os == 'Ubuntu'
+ // Run the rest of the build
+ // Build the mscorlib for the other OS's
+ buildCommands += "build.cmd ${lowerConfiguration} ${architecture} linuxmscorlib"
+ buildCommands += "build.cmd ${lowerConfiguration} ${architecture} freebsdmscorlib"
+ buildCommands += "build.cmd ${lowerConfiguration} ${architecture} osxmscorlib"
- buildCommands += """echo \"Using rootfs in /opt/aarch64-linux-gnu-root\"
- ROOTFS_DIR=/opt/aarch64-linux-gnu-root ./build.sh skipmscorlib arm64 cross verbose ${lowerConfiguration}"""
+ // Zip up the tests directory so that we don't use so much space/time copying
+ // 10s of thousands of files around.
+ buildCommands += "powershell -Command \"Add-Type -Assembly 'System.IO.Compression.FileSystem'; [System.IO.Compression.ZipFile]::CreateFromDirectory('.\\bin\\tests\\${osGroup}.${architecture}.${configuration}', '.\\bin\\tests\\tests.zip')\"";
- // Basic archiving of the build, no pal tests
- Utilities.addArchival(newJob, "bin/Product/**")
- break
- case 'arm':
- // We don't run the cross build except on Ubuntu
- assert os == 'Ubuntu'
+ // For windows, pull full test results and test drops for x86/x64
+ Utilities.addArchival(newJob, "bin/Product/**,bin/tests/tests.zip")
+ // TEMPORARY. Don't run tests for PR jobs on x86
+ if (architecture == 'x86' && !isPR) {
+ Utilities.addXUnitDotNETResults(newJob, 'bin/**/TestRun*.xml')
+ }
+ break
+ case 'arm64':
+ buildCommands += "build.cmd ${lowerConfiguration} ${architecture} skiptestbuild /toolset_dir C:\\ats"
+ // Add archival. No xunit results for x64 windows
+ Utilities.addArchival(newJob, "bin/Product/**")
+ break
+ default:
+ println("Unknown architecture: ${architecture}");
+ assert false
+ break
+ }
+ break
+ case 'Ubuntu':
+ case 'Debian8.2':
+ case 'OSX':
+ case 'FreeBSD':
+ case 'CentOS7.1':
+ case 'OpenSUSE13.2':
+ switch (architecture) {
+ case 'x64':
+ case 'x86':
+ // On other OS's we skipmscorlib but run the pal tests
+ buildCommands += "./build.sh skipmscorlib verbose ${lowerConfiguration} ${architecture}"
+ buildCommands += "src/pal/tests/palsuite/runpaltests.sh \${WORKSPACE}/bin/obj/${osGroup}.${architecture}.${configuration} \${WORKSPACE}/bin/paltestout"
- buildCommands += """echo \"Using rootfs in /opt/arm-liux-genueabihf-root\"
- ROOTFS_DIR=/opt/arm-linux-genueabihf-root ./build.sh skipmscorlib arm cross verbose ${lowerConfiguration}"""
+ // Basic archiving of the build
+ Utilities.addArchival(newJob, "bin/Product/**,bin/obj/*/tests/**")
+ // And pal tests
+ Utilities.addXUnitDotNETResults(newJob, '**/pal_tests.xml')
+ break
+ case 'arm64':
+ // We don't run the cross build except on Ubuntu
+ assert os == 'Ubuntu'
- // Basic archiving of the build, no pal tests
- Utilities.addArchival(newJob, "bin/Product/**")
- break
- default:
- println("Unknown architecture: ${architecture}");
- assert false
- break
- }
- break
- default:
- println("Unknown os: ${os}");
- assert false
- break
- }
+ buildCommands += """echo \"Using rootfs in /opt/aarch64-linux-gnu-root\"
+ ROOTFS_DIR=/opt/aarch64-linux-gnu-root ./build.sh skipmscorlib arm64 cross verbose ${lowerConfiguration}"""
+
+ // Basic archiving of the build, no pal tests
+ Utilities.addArchival(newJob, "bin/Product/**")
+ break
+ case 'arm':
+ // We don't run the cross build except on Ubuntu
+ assert os == 'Ubuntu'
+
+ buildCommands += """echo \"Using rootfs in /opt/arm-liux-genueabihf-root\"
+ ROOTFS_DIR=/opt/arm-linux-genueabihf-root ./build.sh skipmscorlib arm cross verbose ${lowerConfiguration}"""
+
+ // Basic archiving of the build, no pal tests
+ Utilities.addArchival(newJob, "bin/Product/**")
+ break
+ default:
+ println("Unknown architecture: ${architecture}");
+ assert false
+ break
+ }
+ break
+ default:
+ println("Unknown os: ${os}");
+ assert false
+ break
+ }
- newJob.with {
- steps {
- if (os == 'Windows_NT') {
- buildCommands.each { buildCommand ->
- batchFile(buildCommand)
+ newJob.with {
+ steps {
+ if (os == 'Windows_NT') {
+ buildCommands.each { buildCommand ->
+ batchFile(buildCommand)
+ }
}
- }
- else {
- buildCommands.each { buildCommand ->
- shell(buildCommand)
+ else {
+ buildCommands.each { buildCommand ->
+ shell(buildCommand)
+ }
}
}
}
- }
- } // os
- } // configuration
- } // architecture
-} // isPR
+ } // os
+ } // configuration
+ } // architecture
+ } // isPR
+} // buildPri1Tests
// Create the Linux/OSX coreclr test leg for debug and release.
-[true, false].each { isPR ->
- // Architectures. x64 only at this point
- ['x64'].each { architecture ->
- // Put the OS's supported for coreclr cross testing here
- ['Ubuntu', 'OSX'].each { os ->
- ['Debug', 'Release'].each { configuration ->
- def lowerConfiguration = configuration.toLowerCase()
- def osGroup = getOSGroup(os)
- def jobName = getBuildJobName(configuration, architecture, os) + "_tst"
- def inputCoreCLRBuildName = Utilities.getFolderName(project) + '/' +
- Utilities.getFullJobName(project, getBuildJobName(configuration, architecture, os), isPR)
- def inputWindowTestsBuildName = Utilities.getFolderName(project) + '/' +
- Utilities.getFullJobName(project, getBuildJobName(configuration, architecture, 'windows_nt'), isPR)
+[true, false].each { buildPri1Tests ->
+ [true, false].each { isPR ->
+ // Architectures. x64 only at this point
+ ['x64'].each { architecture ->
+ // Put the OS's supported for coreclr cross testing here
+ ['Ubuntu', 'OSX'].each { os ->
+ ['Debug', 'Release'].each { configuration ->
+ // Skip unnecessary Pri1 legs
+ if (buildPri1Tests && (isPR || configuration != 'Release'))
+ {
+ println("Skipping unneeded Pri1 build")
+ return
+ }
+ def lowerConfiguration = configuration.toLowerCase()
+ def osGroup = getOSGroup(os)
+ def jobName = getBuildJobName(configuration, architecture, os) + "_tst"
+ def inputCoreCLRBuildName = Utilities.getFolderName(project) + '/' +
+ Utilities.getFullJobName(project, getBuildJobName(configuration, architecture, os), isPR)
+ def name_suffix = ""
+ if (buildPri1Tests)
+ {
+ name_suffix = "_pri1";
+ }
+ def inputWindowTestsBuildName = Utilities.getFolderName(project) + '/' +
+ Utilities.getFullJobName(project, getBuildJobName(configuration, architecture, 'windows_nt') + name_suffix, isPR)
- def newJob = job(Utilities.getFullJobName(project, jobName, isPR)) {
- // Add parameters for the inputs
+ def newJob = job(Utilities.getFullJobName(project, jobName, isPR) + name_suffix) {
+ // Add parameters for the inputs
- parameters {
- stringParam('CORECLR_WINDOWS_BUILD', '', 'Build number to copy CoreCLR windows test binaries from')
- stringParam('CORECLR_BUILD', '', "Build number to copy CoreCLR ${osGroup} binaries from")
- }
+ parameters {
+ stringParam('CORECLR_WINDOWS_BUILD', '', 'Build number to copy CoreCLR windows test binaries from')
+ stringParam('CORECLR_BUILD', '', "Build number to copy CoreCLR ${osGroup} binaries from")
+ }
- steps {
- // Set up the copies
-
- // Coreclr build we are trying to test
-
- copyArtifacts(inputCoreCLRBuildName) {
- excludePatterns('**/testResults.xml', '**/*.ni.dll')
- buildSelector {
- buildNumber('${CORECLR_BUILD}')
+ steps {
+ // Set up the copies
+
+ // Coreclr build we are trying to test
+
+ copyArtifacts(inputCoreCLRBuildName) {
+ excludePatterns('**/testResults.xml', '**/*.ni.dll')
+ buildSelector {
+ buildNumber('${CORECLR_BUILD}')
+ }
}
- }
- // Coreclr build containing the tests and mscorlib
+ // Coreclr build containing the tests and mscorlib
- copyArtifacts(inputWindowTestsBuildName) {
- excludePatterns('**/testResults.xml', '**/*.ni.dll')
- buildSelector {
- buildNumber('${CORECLR_WINDOWS_BUILD}')
+ copyArtifacts(inputWindowTestsBuildName) {
+ excludePatterns('**/testResults.xml', '**/*.ni.dll')
+ buildSelector {
+ buildNumber('${CORECLR_WINDOWS_BUILD}')
+ }
}
- }
- // Corefx native components
- def corefxNativeCompBinaries =
- copyArtifacts("dotnet_corefx/nativecomp_${os.toLowerCase()}_release") {
- includePatterns('bin/**')
- buildSelector {
- latestSuccessful(true)
+ // Corefx native components
+ def corefxNativeCompBinaries =
+ copyArtifacts("dotnet_corefx/nativecomp_${os.toLowerCase()}_release") {
+ includePatterns('bin/**')
+ buildSelector {
+ latestSuccessful(true)
+ }
}
- }
- // CoreFX Linux binaries
- copyArtifacts("dotnet_corefx/${os.toLowerCase()}_release_bld") {
- includePatterns('bin/build.pack')
- buildSelector {
- latestSuccessful(true)
+ // CoreFX Linux binaries
+ copyArtifacts("dotnet_corefx/${os.toLowerCase()}_release_bld") {
+ includePatterns('bin/build.pack')
+ buildSelector {
+ latestSuccessful(true)
+ }
}
- }
- // Unpack the corefx binaries
- shell("unpacker ./bin/build.pack ./bin")
+ // Unpack the corefx binaries
+ shell("unpacker ./bin/build.pack ./bin")
- // Unzip the tests first. Exit with 0
- shell("unzip -q -o ./bin/tests/tests.zip -d ./bin/tests/Windows_NT.${architecture}.${configuration} || exit 0")
+ // Unzip the tests first. Exit with 0
+ shell("unzip -q -o ./bin/tests/tests.zip -d ./bin/tests/Windows_NT.${architecture}.${configuration} || exit 0")
- // Execute the tests
- shell("""
- ./tests/runtest.sh \\
- --testRootDir=\"\${WORKSPACE}/bin/tests/Windows_NT.${architecture}.${configuration}\" \\
- --testNativeBinDir=\"\${WORKSPACE}/bin/obj/${osGroup}.${architecture}.${configuration}/tests\" \\
- --coreClrBinDir=\"\${WORKSPACE}/bin/Product/${osGroup}.${architecture}.${configuration}\" \\
- --mscorlibDir=\"\${WORKSPACE}/bin/Product/${osGroup}.${architecture}.${configuration}\" \\
- --coreFxBinDir=\"\${WORKSPACE}/bin/${osGroup}.AnyCPU.Release\" \\
- --coreFxNativeBinDir=\"\${WORKSPACE}/bin/${osGroup}.${architecture}.Release\"""")
+ // Execute the tests
+ shell("""
+ ./tests/runtest.sh \\
+ --testRootDir=\"\${WORKSPACE}/bin/tests/Windows_NT.${architecture}.${configuration}\" \\
+ --testNativeBinDir=\"\${WORKSPACE}/bin/obj/${osGroup}.${architecture}.${configuration}/tests\" \\
+ --coreClrBinDir=\"\${WORKSPACE}/bin/Product/${osGroup}.${architecture}.${configuration}\" \\
+ --mscorlibDir=\"\${WORKSPACE}/bin/Product/${osGroup}.${architecture}.${configuration}\" \\
+ --coreFxBinDir=\"\${WORKSPACE}/bin/${osGroup}.AnyCPU.Release\" \\
+ --coreFxNativeBinDir=\"\${WORKSPACE}/bin/${osGroup}.${architecture}.Release\"""")
+ }
}
- }
- setMachineAffinity(newJob, os, architecture)
- Utilities.standardJobSetup(newJob, project, isPR)
- Utilities.addXUnitDotNETResults(newJob, '**/coreclrtests.xml')
+ setMachineAffinity(newJob, os, architecture)
+ Utilities.standardJobSetup(newJob, project, isPR)
+ Utilities.addXUnitDotNETResults(newJob, '**/coreclrtests.xml')
- // Create a build flow to join together the build and tests required to run this
- // test.
- // Windows CoreCLR build and Linux CoreCLR build (in parallel) ->
- // Linux CoreCLR test
- def flowJobName = getBuildJobName(configuration, architecture, os) + "_flow"
- def fullTestJobName = Utilities.getFolderName(project) + '/' + newJob.name
- def newFlowJob = buildFlowJob(Utilities.getFullJobName(project, flowJobName, isPR)) {
- buildFlow("""
+ // Create a build flow to join together the build and tests required to run this
+ // test.
+ // Windows CoreCLR build and Linux CoreCLR build (in parallel) ->
+ // Linux CoreCLR test
+ def flowJobName = getBuildJobName(configuration, architecture, os) + "_flow"
+ def fullTestJobName = Utilities.getFolderName(project) + '/' + newJob.name
+ def newFlowJob = buildFlowJob(Utilities.getFullJobName(project, flowJobName, isPR) + name_suffix) {
+ buildFlow("""
// Build the input jobs in parallel
parallel (
{ coreclrBuildJob = build(params, '${inputCoreCLRBuildName}') },
@@ -382,21 +425,25 @@ parallel (
build(params + [CORECLR_BUILD: coreclrBuildJob.build.number,
CORECLR_WINDOWS_BUILD: windowsBuildJob.build.number], '${fullTestJobName}')
""")
- // Needs a workspace
- configure {
- def buildNeedsWorkspace = it / 'buildNeedsWorkspace'
- buildNeedsWorkspace.setValue('true')
+ // Needs a workspace
+ configure {
+ def buildNeedsWorkspace = it / 'buildNeedsWorkspace'
+ buildNeedsWorkspace.setValue('true')
+ }
}
- }
- Utilities.standardJobSetup(newFlowJob, project, isPR)
- if (isPR) {
- addPRTrigger(newFlowJob, architecture, os, configuration, true)
- }
- else {
- Utilities.addGithubPushTrigger(newFlowJob)
+ Utilities.standardJobSetup(newFlowJob, project, isPR)
+ if (buildPri1Tests) {
+ Utilities.addPeriodicTrigger(newFlowJob, '@daily')
+ }
+ else if (isPR) {
+ addPRTrigger(newFlowJob, architecture, os, configuration, true)
+ }
+ else {
+ Utilities.addGithubPushTrigger(newFlowJob)
+ }
}
}
}
}
-}
+} \ No newline at end of file
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1046e3ded1..d1087d83e4 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,3 +1,4 @@
+include_directories($ENV{__GeneratedIntermediatesDir}/inc)
include_directories("inc")
include_directories("strongname/inc")
include_directories("inc/winrt")
diff --git a/src/corefx/System.Globalization.Native/CMakeLists.txt b/src/corefx/System.Globalization.Native/CMakeLists.txt
index 08d35a0053..71b5c039d2 100644
--- a/src/corefx/System.Globalization.Native/CMakeLists.txt
+++ b/src/corefx/System.Globalization.Native/CMakeLists.txt
@@ -1,5 +1,6 @@
project(System.Globalization.Native)
+include(CheckCXXSourceCompiles)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
diff --git a/src/debug/ee/rcthread.cpp b/src/debug/ee/rcthread.cpp
index 442c0748a3..d4b8a61c7d 100644
--- a/src/debug/ee/rcthread.cpp
+++ b/src/debug/ee/rcthread.cpp
@@ -882,7 +882,7 @@ void AssertAllocationAllowed()
// Can't call IsDbgHelperSpecialThread() here b/c that changes program state.
// So we use our
- if (DebuggerRCThread::s_DbgHelperThreadId.IsSameThread())
+ if (DebuggerRCThread::s_DbgHelperThreadId.IsCurrentThread())
{
// In case assert allocates, bump up the 'OK' counter to avoid an infinite recursion.
SUPPRESS_ALLOCATION_ASSERTS_IN_THIS_SCOPE;
@@ -935,7 +935,7 @@ void DebuggerRCThread::ThreadProc(void)
#ifdef _DEBUG
// Track the helper thread.
- s_DbgHelperThreadId.SetThreadId();
+ s_DbgHelperThreadId.SetToCurrentThread();
#endif
CantAllocHolder caHolder;
diff --git a/src/dlls/clretwrc/CMakeLists.txt b/src/dlls/clretwrc/CMakeLists.txt
index f4b874d414..dc1d34770a 100644
--- a/src/dlls/clretwrc/CMakeLists.txt
+++ b/src/dlls/clretwrc/CMakeLists.txt
@@ -1,4 +1,5 @@
include_directories(${CMAKE_CURRENT_BINARY_DIR})
+include_directories($ENV{__GeneratedIntermediatesDir})
if(WIN32)
# remove /ltcg from resource-only libraries
@@ -15,15 +16,6 @@ add_library(clretwrc SHARED
clretwrc.rc
)
-#Compile clretwall.man file to create clretwall.rc resource file
-add_custom_command(
- TARGET clretwrc
- PRE_BUILD
- COMMAND mc -h ${CMAKE_CURRENT_BINARY_DIR} -r ${CMAKE_CURRENT_BINARY_DIR} -b -co -um -p FireEtw ${VM_DIR}/ClrEtwAll.man
- DEPENDS ${VM_DIR}/ClrEtwAll.man
- COMMENT "MessageCompile ${VM_DIR}/ClrEtwAll.man"
-)
-
# add the install targets
install (TARGETS clretwrc DESTINATION .)
diff --git a/src/dlls/mscoree/coreclr/CMakeLists.txt b/src/dlls/mscoree/coreclr/CMakeLists.txt
index 98af5911b8..792a9aa7e8 100644
--- a/src/dlls/mscoree/coreclr/CMakeLists.txt
+++ b/src/dlls/mscoree/coreclr/CMakeLists.txt
@@ -177,4 +177,3 @@ install (TARGETS coreclr DESTINATION .)
if(WIN32)
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/coreclr.pdb DESTINATION PDB)
endif(WIN32)
-
diff --git a/src/dlls/mscoree/type_exclusion_list.txt b/src/dlls/mscoree/type_exclusion_list.txt
index 8c17fdc382..b93bfeee84 100644
--- a/src/dlls/mscoree/type_exclusion_list.txt
+++ b/src/dlls/mscoree/type_exclusion_list.txt
@@ -18,6 +18,7 @@ _PEB
_RTL_CRITICAL_SECTION_DEBUG
_TEB
_XSTATE_CONTEXT
+_JUMP_BUFFER
$_s__RTTIBaseClassArray$_extraBytes_4
$_s__RTTIBaseClassArray$_extraBytes_8
CVirtualThunks::tagThunkCode
diff --git a/src/gc/env/common.h b/src/gc/env/common.h
index 3e982f8f6c..39e97b3e7a 100644
--- a/src/gc/env/common.h
+++ b/src/gc/env/common.h
@@ -22,7 +22,7 @@
#include <new>
-#ifndef WIN32
+#ifdef PLATFORM_UNIX
#include <pthread.h>
#endif
diff --git a/src/gc/env/gcenv.base.h b/src/gc/env/gcenv.base.h
index 5b8f5f7dd3..628a90cc88 100644
--- a/src/gc/env/gcenv.base.h
+++ b/src/gc/env/gcenv.base.h
@@ -16,11 +16,17 @@
#define REDHAWK_PALIMPORT extern "C"
#define REDHAWK_PALAPI __stdcall
-
#ifndef _MSC_VER
#define __stdcall
+#ifdef __clang__
+#define __forceinline __attribute__((always_inline))
+#else // __clang__
#define __forceinline inline
-#endif
+#endif // __clang__
+#endif // !_MSC_VER
+
+#define SIZE_T_MAX ((size_t)-1)
+#define SSIZE_T_MAX ((ptrdiff_t)(SIZE_T_MAX / 2))
#ifndef _INC_WINDOWS
// -----------------------------------------------------------------------------------------------------------
@@ -44,17 +50,14 @@ typedef size_t SIZE_T;
typedef void * HANDLE;
-#define SIZE_T_MAX ((size_t)-1)
-#define SSIZE_T_MAX ((ptrdiff_t)(SIZE_T_MAX / 2))
-
// -----------------------------------------------------------------------------------------------------------
// HRESULT subset.
-#ifdef WIN32
+#ifdef PLATFORM_UNIX
+typedef int32_t HRESULT;
+#else
// this must exactly match the typedef used by windows.h
typedef long HRESULT;
-#else
-typedef int32_t HRESULT;
#endif
#define SUCCEEDED(_hr) ((HRESULT)(_hr) >= 0)
@@ -104,122 +107,20 @@ inline HRESULT HRESULT_FROM_WIN32(unsigned long x)
#define INVALID_HANDLE_VALUE ((HANDLE)-1)
-#ifndef WIN32
+#ifdef PLATFORM_UNIX
#define _vsnprintf vsnprintf
#define sprintf_s snprintf
+#define swprintf_s swprintf
#endif
-#define WINBASEAPI extern "C"
#define WINAPI __stdcall
typedef DWORD (WINAPI *PTHREAD_START_ROUTINE)(void* lpThreadParameter);
-WINBASEAPI
-void
-WINAPI
-DebugBreak();
-
-WINBASEAPI
-BOOL
-WINAPI
-VirtualUnlock(
- LPVOID lpAddress,
- SIZE_T dwSize
- );
-
-WINBASEAPI
-DWORD
-WINAPI
-GetLastError();
-
-WINBASEAPI
-UINT
-WINAPI
-GetWriteWatch(
- DWORD dwFlags,
- PVOID lpBaseAddress,
- SIZE_T dwRegionSize,
- PVOID *lpAddresses,
- ULONG_PTR * lpdwCount,
- DWORD * lpdwGranularity
-);
-
-WINBASEAPI
-UINT
-WINAPI
-ResetWriteWatch(
- LPVOID lpBaseAddress,
- SIZE_T dwRegionSize
-);
-
-WINBASEAPI
-VOID
-WINAPI
-FlushProcessWriteBuffers();
-
-WINBASEAPI
-DWORD
-WINAPI
-GetTickCount();
-
-WINBASEAPI
-BOOL
-WINAPI
-QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount);
-
-WINBASEAPI
-BOOL
-WINAPI
-QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);
-
-WINBASEAPI
-DWORD
-WINAPI
-GetCurrentThreadId(
- VOID);
-
-WINBASEAPI
-BOOL
-WINAPI
-CloseHandle(
- HANDLE hObject);
-
#define WAIT_OBJECT_0 0
#define WAIT_TIMEOUT 258
#define WAIT_FAILED 0xFFFFFFFF
-#define GENERIC_WRITE 0x40000000
-#define FILE_SHARE_READ 0x00000001
-#define CREATE_ALWAYS 2
-#define FILE_ATTRIBUTE_NORMAL 0x00000080
-
-WINBASEAPI
-BOOL
-WINAPI
-WriteFile(
- HANDLE hFile,
- LPCVOID lpBuffer,
- DWORD nNumberOfBytesToWrite,
- DWORD * lpNumberOfBytesWritten,
- PVOID lpOverlapped);
-
-#define FILE_BEGIN 0
-
-WINBASEAPI
-DWORD
-WINAPI
-SetFilePointer(
- HANDLE hFile,
- int32_t lDistanceToMove,
- int32_t * lpDistanceToMoveHigh,
- DWORD dwMoveMethod);
-
-WINBASEAPI
-BOOL
-WINAPI
-FlushFileBuffers(
- HANDLE hFile);
-
#if defined(_MSC_VER)
#if defined(_ARM_)
@@ -263,24 +164,8 @@ FlushFileBuffers(
#endif
#else // _MSC_VER
-WINBASEAPI
-VOID
-WINAPI
-YieldProcessor();
-
-WINBASEAPI
-VOID
-WINAPI
-MemoryBarrier();
-
#endif // _MSC_VER
-typedef struct _GUID {
- unsigned long Data1;
- unsigned short Data2;
- unsigned short Data3;
- unsigned char Data4[8];
-} GUID;
#endif // _INC_WINDOWS
// -----------------------------------------------------------------------------------------------------------
@@ -410,56 +295,6 @@ typedef DPTR(uint8_t) PTR_uint8_t;
#define UI64(_literal) _literal##ULL
-int32_t FastInterlockIncrement(int32_t volatile *lpAddend);
-int32_t FastInterlockDecrement(int32_t volatile *lpAddend);
-int32_t FastInterlockExchange(int32_t volatile *Target, int32_t Value);
-int32_t FastInterlockCompareExchange(int32_t volatile *Destination, int32_t Exchange, int32_t Comperand);
-int32_t FastInterlockExchangeAdd(int32_t volatile *Addend, int32_t Value);
-
-void * _FastInterlockExchangePointer(void * volatile *Target, void * Value);
-void * _FastInterlockCompareExchangePointer(void * volatile *Destination, void * Exchange, void * Comperand);
-
-template <typename T>
-inline T FastInterlockExchangePointer(
- T volatile * target,
- T value)
-{
- return (T)((TADDR)_FastInterlockExchangePointer((void **)target, value));
-}
-
-template <typename T>
-inline T FastInterlockExchangePointer(
- T volatile * target,
- nullptr_t value)
-{
- return (T)((TADDR)_FastInterlockExchangePointer((void **)target, value));
-}
-
-template <typename T>
-inline T FastInterlockCompareExchangePointer(
- T volatile * destination,
- T exchange,
- T comparand)
-{
- return (T)((TADDR)_FastInterlockCompareExchangePointer((void **)destination, exchange, comparand));
-}
-
-template <typename T>
-inline T FastInterlockCompareExchangePointer(
- T volatile * destination,
- T exchange,
- nullptr_t comparand)
-{
- return (T)((TADDR)_FastInterlockCompareExchangePointer((void **)destination, exchange, comparand));
-}
-
-
-void FastInterlockOr(uint32_t volatile *p, uint32_t msk);
-void FastInterlockAnd(uint32_t volatile *p, uint32_t msk);
-
-#define CALLER_LIMITS_SPINNING 0
-bool __SwitchToThread (uint32_t dwSleepMSec, uint32_t dwSwitchCount);
-
class ObjHeader;
class MethodTable;
class Object;
@@ -493,7 +328,51 @@ typedef TADDR OBJECTHANDLE;
#define VOLATILE(T) T volatile
+//
+// This code is extremely compiler- and CPU-specific, and will need to be altered to
+// support new compilers and/or CPUs. Here we enforce that we can only compile using
+// VC++, or Clang on x86, AMD64, ARM and ARM64.
+//
+#if !defined(_MSC_VER) && !defined(__clang__)
+#error The Volatile type is currently only defined for Visual C++ and Clang
+#endif
+
+#if defined(__clang__) && !defined(_X86_) && !defined(_AMD64_) && !defined(_ARM_) && !defined(_ARM64_)
+#error The Volatile type is currently only defined for Clang when targeting x86, AMD64, ARM or ARM64 CPUs
+#endif
+
+#if defined(__clang__)
+#if defined(_ARM_) || defined(_ARM64_)
+// This is functionally equivalent to the MemoryBarrier() macro used on ARM on Windows.
+#define VOLATILE_MEMORY_BARRIER() asm volatile ("dmb sy" : : : "memory")
+#else
+//
+// For Clang, we prevent reordering by the compiler by inserting the following after a volatile
+// load (to prevent subsequent operations from moving before the read), and before a volatile
+// write (to prevent prior operations from moving past the write). We don't need to do anything
+// special to prevent CPU reorderings, because the x86 and AMD64 architectures are already
+// sufficiently constrained for our purposes. If we ever need to run on weaker CPU architectures
+// (such as PowerPC), then we will need to do more work.
+//
+// Please do not use this macro outside of this file. It is subject to change or removal without
+// notice.
+//
+#define VOLATILE_MEMORY_BARRIER() asm volatile ("" : : : "memory")
+#endif // !_ARM_
+#elif defined(_ARM_) && _ISO_VOLATILE
+// ARM has a very weak memory model and very few tools to control that model. We're forced to perform a full
+// memory barrier to preserve the volatile semantics. Technically this is only necessary on MP systems but we
+// currently don't have a cheap way to determine the number of CPUs from this header file. Revisit this if it
+// turns out to be a performance issue for the uni-proc case.
+#define VOLATILE_MEMORY_BARRIER() MemoryBarrier()
+#else
+//
+// On VC++, reorderings at the compiler and machine level are prevented by the use of the
+// "volatile" keyword in VolatileLoad and VolatileStore. This should work on any CPU architecture
+// targeted by VC++ with /iso_volatile-.
+//
#define VOLATILE_MEMORY_BARRIER()
+#endif
//
// VolatileLoad loads a T from a pointer to T. It is guaranteed that this load will not be optimized
@@ -539,11 +418,6 @@ void VolatileStore(T* pt, T val)
}
extern GCSystemInfo g_SystemInfo;
-void InitializeSystemInfo();
-
-void
-GetProcessMemoryLoad(
- GCMemoryStatus* lpBuffer);
extern MethodTable * g_pFreeObjectMethodTable;
@@ -552,43 +426,6 @@ extern int32_t g_TrapReturningThreads;
extern bool g_fFinalizerRunOnShutDown;
//
-// Memory allocation
-//
-#define MEM_COMMIT 0x1000
-#define MEM_RESERVE 0x2000
-#define MEM_DECOMMIT 0x4000
-#define MEM_RELEASE 0x8000
-#define MEM_RESET 0x80000
-
-#define PAGE_NOACCESS 0x01
-#define PAGE_READWRITE 0x04
-
-void * ClrVirtualAlloc(
- void * lpAddress,
- size_t dwSize,
- uint32_t flAllocationType,
- uint32_t flProtect);
-
-void * ClrVirtualAllocAligned(
- void * lpAddress,
- size_t dwSize,
- uint32_t flAllocationType,
- uint32_t flProtect,
- size_t dwAlignment);
-
-bool ClrVirtualFree(
- void * lpAddress,
- size_t dwSize,
- uint32_t dwFreeType);
-
-bool
-ClrVirtualProtect(
- void * lpAddress,
- size_t dwSize,
- uint32_t flNewProtect,
- uint32_t * lpflOldProtect);
-
-//
// Locks
//
@@ -597,71 +434,8 @@ class Thread;
Thread * GetThread();
-struct ScanContext;
-typedef void promote_func(PTR_PTR_Object, ScanContext*, uint32_t);
-
typedef void (CALLBACK *HANDLESCANPROC)(PTR_UNCHECKED_OBJECTREF pref, uintptr_t *pExtraInfo, uintptr_t param1, uintptr_t param2);
-typedef void enum_alloc_context_func(alloc_context*, void*);
-
-class GCToEEInterface
-{
-public:
- //
- // Suspend/Resume callbacks
- //
- typedef enum
- {
- SUSPEND_FOR_GC,
- SUSPEND_FOR_GC_PREP
- } SUSPEND_REASON;
-
- static void SuspendEE(SUSPEND_REASON reason);
- static void RestartEE(bool bFinishedGC); //resume threads.
-
- //
- // The stack roots enumeration callback
- //
- static void GcScanRoots(promote_func* fn, int condemned, int max_gen, ScanContext* sc);
-
- //
- // Callbacks issues during GC that the execution engine can do its own bookeeping
- //
-
- // start of GC call back - single threaded
- static void GcStartWork(int condemned, int max_gen);
-
- //EE can perform post stack scanning action, while the
- // user threads are still suspended
- static void AfterGcScanRoots(int condemned, int max_gen, ScanContext* sc);
-
- // Called before BGC starts sweeping, the heap is walkable
- static void GcBeforeBGCSweepWork();
-
- // post-gc callback.
- static void GcDone(int condemned);
-
- // Promote refcounted handle callback
- static bool RefCountedHandleCallbacks(Object * pObject);
-
- // Sync block cache management
- static void SyncBlockCacheWeakPtrScan(HANDLESCANPROC scanProc, uintptr_t lp1, uintptr_t lp2);
- static void SyncBlockCacheDemote(int max_gen);
- static void SyncBlockCachePromotionsGranted(int max_gen);
-
- // Thread functions
- static bool IsPreemptiveGCDisabled(Thread * pThread);
- static void EnablePreemptiveGC(Thread * pThread);
- static void DisablePreemptiveGC(Thread * pThread);
- static void SetGCSpecial(Thread * pThread);
- static bool CatchAtSafePoint(Thread * pThread);
- static alloc_context * GetAllocContext(Thread * pThread);
-
- // ThreadStore functions
- static void AttachCurrentThread(); // does not acquire thread store lock
- static void GcEnumAllocContexts (enum_alloc_context_func* fn, void* param);
-};
-
class FinalizerThread
{
public:
@@ -678,9 +452,20 @@ public:
static HANDLE GetFinalizerEvent();
};
+#ifdef FEATURE_REDHAWK
typedef uint32_t (__stdcall *BackgroundCallback)(void* pCallbackContext);
REDHAWK_PALIMPORT bool REDHAWK_PALAPI PalStartBackgroundGCThread(BackgroundCallback callback, void* pCallbackContext);
+enum PalCapability
+{
+ WriteWatchCapability = 0x00000001, // GetWriteWatch() and friends
+ LowMemoryNotificationCapability = 0x00000002, // CreateMemoryResourceNotification() and friends
+ GetCurrentProcessorNumberCapability = 0x00000004, // GetCurrentProcessorNumber()
+};
+
+REDHAWK_PALIMPORT bool REDHAWK_PALAPI PalHasCapability(PalCapability capability);
+#endif // FEATURE_REDHAWK
+
void DestroyThread(Thread * pThread);
bool IsGCSpecialThread();
@@ -692,12 +477,6 @@ inline bool dbgOnly_IsSpecialEEThread()
#define ClrFlsSetThreadType(type)
-void UnsafeInitializeCriticalSection(CRITICAL_SECTION * lpCriticalSection);
-void UnsafeEEEnterCriticalSection(CRITICAL_SECTION *lpCriticalSection);
-void UnsafeEELeaveCriticalSection(CRITICAL_SECTION * lpCriticalSection);
-void UnsafeDeleteCriticalSection(CRITICAL_SECTION *lpCriticalSection);
-
-
//
// Performance logging
//
@@ -763,29 +542,10 @@ VOID LogSpewAlways(const char *fmt, ...);
#define STRESS_LOG_RESERVE_MEM(numChunks) do {} while (0)
#define STRESS_LOG_GC_STACK
-typedef void* CLR_MUTEX_ATTRIBUTES;
-typedef void* CLR_MUTEX_COOKIE;
-
-CLR_MUTEX_COOKIE ClrCreateMutex(CLR_MUTEX_ATTRIBUTES lpMutexAttributes, bool bInitialOwner, LPCWSTR lpName);
-void ClrCloseMutex(CLR_MUTEX_COOKIE mutex);
-bool ClrReleaseMutex(CLR_MUTEX_COOKIE mutex);
-uint32_t ClrWaitForMutex(CLR_MUTEX_COOKIE mutex, uint32_t dwMilliseconds, bool bAlertable);
-
-REDHAWK_PALIMPORT HANDLE REDHAWK_PALAPI PalCreateFileW(_In_z_ LPCWSTR pFileName, uint32_t desiredAccess, uint32_t shareMode, _In_opt_ void* pSecurityAttributes, uint32_t creationDisposition, uint32_t flagsAndAttributes, HANDLE hTemplateFile);
-
#define DEFAULT_GC_PRN_LVL 3
// -----------------------------------------------------------------------------------------------------------
-enum PalCapability
-{
- WriteWatchCapability = 0x00000001, // GetWriteWatch() and friends
- LowMemoryNotificationCapability = 0x00000002, // CreateMemoryResourceNotification() and friends
- GetCurrentProcessorNumberCapability = 0x00000004, // GetCurrentProcessorNumber()
-};
-
-REDHAWK_PALIMPORT bool REDHAWK_PALAPI PalHasCapability(PalCapability capability);
-
void StompWriteBarrierEphemeral();
void StompWriteBarrierResize(bool bReqUpperBoundsCheck);
@@ -862,8 +622,8 @@ namespace GCStressPolicy
static volatile int32_t s_cGcStressDisables;
inline bool IsEnabled() { return s_cGcStressDisables == 0; }
- inline void GlobalDisable() { FastInterlockIncrement(&s_cGcStressDisables); }
- inline void GlobalEnable() { FastInterlockDecrement(&s_cGcStressDisables); }
+ inline void GlobalDisable() { Interlocked::Increment(&s_cGcStressDisables); }
+ inline void GlobalEnable() { Interlocked::Decrement(&s_cGcStressDisables); }
}
enum gcs_trigger_points
diff --git a/src/gc/env/gcenv.ee.h b/src/gc/env/gcenv.ee.h
new file mode 100644
index 0000000000..741337fbbf
--- /dev/null
+++ b/src/gc/env/gcenv.ee.h
@@ -0,0 +1,85 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Interface between the GC and EE
+//
+
+#ifndef __GCENV_EE_H__
+#define __GCENV_EE_H__
+
+struct ScanContext;
+class CrawlFrame;
+
+typedef void promote_func(PTR_PTR_Object, ScanContext*, uint32_t);
+
+typedef void enum_alloc_context_func(alloc_context*, void*);
+
+typedef struct
+{
+ promote_func* f;
+ ScanContext* sc;
+ CrawlFrame * cf;
+} GCCONTEXT;
+
+
+class GCToEEInterface
+{
+public:
+ //
+ // Suspend/Resume callbacks
+ //
+ typedef enum
+ {
+ SUSPEND_FOR_GC = 1,
+ SUSPEND_FOR_GC_PREP = 6
+ } SUSPEND_REASON;
+
+ static void SuspendEE(SUSPEND_REASON reason);
+ static void RestartEE(bool bFinishedGC); //resume threads.
+
+ //
+ // The GC roots enumeration callback
+ //
+ static void GcScanRoots(promote_func* fn, int condemned, int max_gen, ScanContext* sc);
+
+ //
+ // Callbacks issues during GC that the execution engine can do its own bookeeping
+ //
+
+ // start of GC call back - single threaded
+ static void GcStartWork(int condemned, int max_gen);
+
+ //EE can perform post stack scanning action, while the
+ // user threads are still suspended
+ static void AfterGcScanRoots(int condemned, int max_gen, ScanContext* sc);
+
+ // Called before BGC starts sweeping, the heap is walkable
+ static void GcBeforeBGCSweepWork();
+
+ // post-gc callback.
+ static void GcDone(int condemned);
+
+ // Promote refcounted handle callback
+ static bool RefCountedHandleCallbacks(Object * pObject);
+
+ // Sync block cache management
+ static void SyncBlockCacheWeakPtrScan(HANDLESCANPROC scanProc, uintptr_t lp1, uintptr_t lp2);
+ static void SyncBlockCacheDemote(int max_gen);
+ static void SyncBlockCachePromotionsGranted(int max_gen);
+
+ // Thread functions
+ static bool IsPreemptiveGCDisabled(Thread * pThread);
+ static void EnablePreemptiveGC(Thread * pThread);
+ static void DisablePreemptiveGC(Thread * pThread);
+
+ static void SetGCSpecial(Thread * pThread);
+ static alloc_context * GetAllocContext(Thread * pThread);
+ static bool CatchAtSafePoint(Thread * pThread);
+
+ static void GcEnumAllocContexts(enum_alloc_context_func* fn, void* param);
+
+ static void AttachCurrentThread(); // does not acquire thread store lock
+};
+
+#endif // __GCENV_EE_H__
diff --git a/src/gc/env/gcenv.interlocked.h b/src/gc/env/gcenv.interlocked.h
new file mode 100644
index 0000000000..1d6cc8424f
--- /dev/null
+++ b/src/gc/env/gcenv.interlocked.h
@@ -0,0 +1,102 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Interlocked operations
+//
+
+#ifndef __GCENV_INTERLOCKED_H__
+#define __GCENV_INTERLOCKED_H__
+
+// Interlocked operations
+class Interlocked
+{
+public:
+
+ // Increment the value of the specified 32-bit variable as an atomic operation.
+ // Parameters:
+ // addend - variable to be incremented
+ // Return:
+ // The resulting incremented value
+ template<typename T>
+ static T Increment(T volatile *addend);
+
+ // Decrement the value of the specified 32-bit variable as an atomic operation.
+ // Parameters:
+ // addend - variable to be decremented
+ // Return:
+ // The resulting decremented value
+ template<typename T>
+ static T Decrement(T volatile *addend);
+
+ // Perform an atomic AND operation on the specified values values
+ // Parameters:
+ // destination - the first operand and the destination
+ // value - second operand
+ template<typename T>
+ static void And(T volatile *destination, T value);
+
+ // Perform an atomic OR operation on the specified values values
+ // Parameters:
+ // destination - the first operand and the destination
+ // value - second operand
+ template<typename T>
+ static void Or(T volatile *destination, T value);
+
+ // Set a 32-bit variable to the specified value as an atomic operation.
+ // Parameters:
+ // destination - value to be exchanged
+ // value - value to set the destination to
+ // Return:
+ // The previous value of the destination
+ template<typename T>
+ static T Exchange(T volatile *destination, T value);
+
+ // Set a pointer variable to the specified value as an atomic operation.
+ // Parameters:
+ // destination - value to be exchanged
+ // value - value to set the destination to
+ // Return:
+ // The previous value of the destination
+ template <typename T>
+ static T ExchangePointer(T volatile * destination, T value);
+
+ template <typename T>
+ static T ExchangePointer(T volatile * destination, std::nullptr_t value);
+
+ // Perform an atomic addition of two 32-bit values and return the original value of the addend.
+ // Parameters:
+ // addend - variable to be added to
+ // value - value to add
+ // Return:
+ // The previous value of the addend
+ template<typename T>
+ static T ExchangeAdd(T volatile *addend, T value);
+
+ // Performs an atomic compare-and-exchange operation on the specified values.
+ // Parameters:
+ // destination - value to be exchanged
+ // exchange - value to set the destination to
+ // comparand - value to compare the destination to before setting it to the exchange.
+ // The destination is set only if the destination is equal to the comparand.
+ // Return:
+ // The original value of the destination
+ template<typename T>
+ static T CompareExchange(T volatile *destination, T exchange, T comparand);
+
+ // Performs an atomic compare-and-exchange operation on the specified pointers.
+ // Parameters:
+ // destination - value to be exchanged
+ // exchange - value to set the destination to
+ // comparand - value to compare the destination to before setting it to the exchange.
+ // The destination is set only if the destination is equal to the comparand.
+ // Return:
+ // The original value of the destination
+ template <typename T>
+ static T CompareExchangePointer(T volatile *destination, T exchange, T comparand);
+
+ template <typename T>
+ static T CompareExchangePointer(T volatile *destination, T exchange, std::nullptr_t comparand);
+};
+
+#endif // __GCENV_INTERLOCKED_H__
diff --git a/src/gc/env/gcenv.interlocked.inl b/src/gc/env/gcenv.interlocked.inl
new file mode 100644
index 0000000000..62e171cadf
--- /dev/null
+++ b/src/gc/env/gcenv.interlocked.inl
@@ -0,0 +1,200 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// __forceinline implementation of the Interlocked class methods
+//
+
+#ifndef __GCENV_INTERLOCKED_INL__
+#define __GCENV_INTERLOCKED_INL__
+
+#ifdef _MSC_VER
+#include <intrin.h>
+#endif // _MSC_VER
+
+// Increment the value of the specified 32-bit variable as an atomic operation.
+// Parameters:
+// addend - variable to be incremented
+// Return:
+// The resulting incremented value
+template <typename T>
+__forceinline T Interlocked::Increment(T volatile *addend)
+{
+#ifdef _MSC_VER
+ static_assert(sizeof(long) == sizeof(T), "Size of long must be the same as size of T");
+ return _InterlockedIncrement((long*)addend);
+#else
+ return __sync_add_and_fetch(addend, 1);
+#endif
+}
+
+// Decrement the value of the specified 32-bit variable as an atomic operation.
+// Parameters:
+// addend - variable to be decremented
+// Return:
+// The resulting decremented value
+template <typename T>
+__forceinline T Interlocked::Decrement(T volatile *addend)
+{
+#ifdef _MSC_VER
+ static_assert(sizeof(long) == sizeof(T), "Size of long must be the same as size of T");
+ return _InterlockedDecrement((long*)addend);
+#else
+ return __sync_sub_and_fetch(addend, 1);
+#endif
+}
+
+// Set a 32-bit variable to the specified value as an atomic operation.
+// Parameters:
+// destination - value to be exchanged
+// value - value to set the destination to
+// Return:
+// The previous value of the destination
+template <typename T>
+__forceinline T Interlocked::Exchange(T volatile *destination, T value)
+{
+#ifdef _MSC_VER
+ static_assert(sizeof(long) == sizeof(T), "Size of long must be the same as size of T");
+ return _InterlockedExchange((long*)destination, value);
+#else
+ return __sync_swap(destination, value);
+#endif
+}
+
+// Performs an atomic compare-and-exchange operation on the specified values.
+// Parameters:
+// destination - value to be exchanged
+// exchange - value to set the destinaton to
+// comparand - value to compare the destination to before setting it to the exchange.
+// The destination is set only if the destination is equal to the comparand.
+// Return:
+// The original value of the destination
+template <typename T>
+__forceinline T Interlocked::CompareExchange(T volatile *destination, T exchange, T comparand)
+{
+#ifdef _MSC_VER
+ static_assert(sizeof(long) == sizeof(T), "Size of long must be the same as size of T");
+ return _InterlockedCompareExchange((long*)destination, exchange, comparand);
+#else
+ return __sync_val_compare_and_swap(destination, comparand, exchange);
+#endif
+}
+
+// Perform an atomic addition of two 32-bit values and return the original value of the addend.
+// Parameters:
+// addend - variable to be added to
+// value - value to add
+// Return:
+// The previous value of the addend
+template <typename T>
+__forceinline T Interlocked::ExchangeAdd(T volatile *addend, T value)
+{
+#ifdef _MSC_VER
+ static_assert(sizeof(long) == sizeof(T), "Size of long must be the same as size of T");
+ return _InterlockedExchangeAdd((long*)addend, value);
+#else
+ return __sync_fetch_and_add(addend, value);
+#endif
+}
+
+// Perform an atomic AND operation on the specified values values
+// Parameters:
+// destination - the first operand and the destination
+// value - second operand
+template <typename T>
+__forceinline void Interlocked::And(T volatile *destination, T value)
+{
+#ifdef _MSC_VER
+ static_assert(sizeof(long) == sizeof(T), "Size of long must be the same as size of T");
+ _InterlockedAnd((long*)destination, value);
+#else
+ __sync_and_and_fetch(destination, value);
+#endif
+}
+
+// Perform an atomic OR operation on the specified values values
+// Parameters:
+// destination - the first operand and the destination
+// value - second operand
+template <typename T>
+__forceinline void Interlocked::Or(T volatile *destination, T value)
+{
+#ifdef _MSC_VER
+ static_assert(sizeof(long) == sizeof(T), "Size of long must be the same as size of T");
+ _InterlockedOr((long*)destination, value);
+#else
+ __sync_or_and_fetch(destination, value);
+#endif
+}
+
+// Set a pointer variable to the specified value as an atomic operation.
+// Parameters:
+// destination - value to be exchanged
+// value - value to set the destination to
+// Return:
+// The previous value of the destination
+template <typename T>
+__forceinline T Interlocked::ExchangePointer(T volatile * destination, T value)
+{
+#ifdef _MSC_VER
+#ifdef BIT64
+ return (T)(TADDR)_InterlockedExchangePointer((void* volatile *)destination, value);
+#else
+ return (T)(TADDR)_InterlockedExchange((long volatile *)(void* volatile *)destination, (long)(void*)value);
+#endif
+#else
+ return (T)(TADDR)__sync_swap((void* volatile *)destination, value);
+#endif
+}
+
+template <typename T>
+__forceinline T Interlocked::ExchangePointer(T volatile * destination, std::nullptr_t value)
+{
+#ifdef _MSC_VER
+#ifdef BIT64
+ return (T)(TADDR)_InterlockedExchangePointer((void* volatile *)destination, value);
+#else
+ return (T)(TADDR)_InterlockedExchange((long volatile *)(void* volatile *)destination, (long)(void*)value);
+#endif
+#else
+ return (T)(TADDR)__sync_swap((void* volatile *)destination, value);
+#endif
+}
+
+// Performs an atomic compare-and-exchange operation on the specified pointers.
+// Parameters:
+// destination - value to be exchanged
+// exchange - value to set the destinaton to
+// comparand - value to compare the destination to before setting it to the exchange.
+// The destination is set only if the destination is equal to the comparand.
+// Return:
+// The original value of the destination
+template <typename T>
+__forceinline T Interlocked::CompareExchangePointer(T volatile *destination, T exchange, T comparand)
+{
+#ifdef _MSC_VER
+#ifdef BIT64
+ return (T)(TADDR)_InterlockedCompareExchangePointer((void* volatile *)destination, exchange, comparand);
+#else
+ return (T)(TADDR)_InterlockedCompareExchange((long volatile *)(void* volatile *)destination, (long)(void*)exchange, (long)(void*)comparand);
+#endif
+#else
+ return (T)(TADDR)__sync_val_compare_and_swap((void* volatile *)destination, comparand, exchange);
+#endif
+}
+
+template <typename T>
+__forceinline T Interlocked::CompareExchangePointer(T volatile *destination, T exchange, std::nullptr_t comparand)
+{
+#ifdef _MSC_VER
+#ifdef BIT64
+ return (T)(TADDR)_InterlockedCompareExchangePointer((void* volatile *)destination, exchange, comparand);
+#else
+ return (T)(TADDR)_InterlockedCompareExchange((long volatile *)(void* volatile *)destination, (long)(void*)exchange, (long)(void*)comparand);
+#endif
+#else
+ return (T)(TADDR)__sync_val_compare_and_swap((void* volatile *)destination, comparand, exchange);
+#endif
+}
+
+#endif // __GCENV_INTERLOCKED_INL__
diff --git a/src/gc/env/gcenv.object.h b/src/gc/env/gcenv.object.h
index 31dfe838dd..d3660173ce 100644
--- a/src/gc/env/gcenv.object.h
+++ b/src/gc/env/gcenv.object.h
@@ -26,8 +26,8 @@ private:
public:
uint32_t GetBits() { return m_uSyncBlockValue; }
- void SetBit(uint32_t uBit) { FastInterlockOr(&m_uSyncBlockValue, uBit); }
- void ClrBit(uint32_t uBit) { FastInterlockAnd(&m_uSyncBlockValue, ~uBit); }
+ void SetBit(uint32_t uBit) { Interlocked::Or(&m_uSyncBlockValue, uBit); }
+ void ClrBit(uint32_t uBit) { Interlocked::And(&m_uSyncBlockValue, ~uBit); }
void SetGCBit() { m_uSyncBlockValue |= BIT_SBLK_GC_RESERVE; }
void ClrGCBit() { m_uSyncBlockValue &= ~BIT_SBLK_GC_RESERVE; }
};
diff --git a/src/gc/env/gcenv.os.h b/src/gc/env/gcenv.os.h
new file mode 100644
index 0000000000..c1ae87a042
--- /dev/null
+++ b/src/gc/env/gcenv.os.h
@@ -0,0 +1,274 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Interface between GC and the OS specific functionality
+//
+
+#ifndef __GCENV_OS_H__
+#define __GCENV_OS_H__
+
+// Critical section used by the GC
+class CLRCriticalSection
+{
+ CRITICAL_SECTION m_cs;
+
+public:
+ // Initialize the critical section
+ void Initialize();
+
+ // Destroy the critical section
+ void Destroy();
+
+ // Enter the critical section. Blocks until the section can be entered.
+ void Enter();
+
+ // Leave the critical section
+ void Leave();
+};
+
+// Flags for the GCToOSInterface::VirtualReserve method
+struct VirtualReserveFlags
+{
+ enum
+ {
+ None = 0,
+ WriteWatch = 1,
+ };
+};
+
+// Affinity of a GC thread
+struct GCThreadAffinity
+{
+ static const int None = -1;
+
+ // Processor group index, None if no group is specified
+ int Group;
+ // Processor index, None if no affinity is specified
+ int Processor;
+};
+
+// GC thread function prototype
+typedef void (*GCThreadFunction)(void* param);
+
+// Interface that the GC uses to invoke OS specific functionality
+class GCToOSInterface
+{
+public:
+
+ //
+ // Initialization and shutdown of the interface
+ //
+
+ // Initialize the interface implementation
+ // Return:
+ // true if it has succeeded, false if it has failed
+ static bool Initialize();
+
+ // Shutdown the interface implementation
+ static void Shutdown();
+
+ //
+ // Virtual memory management
+ //
+
+ // Reserve virtual memory range.
+ // Parameters:
+ // address - starting virtual address, it can be NULL to let the function choose the starting address
+ // size - size of the virtual memory range
+ // alignment - requested memory alignment
+ // flags - flags to control special settings like write watching
+ // Return:
+ // Starting virtual address of the reserved range
+ static void* VirtualReserve(void *address, size_t size, size_t alignment, uint32_t flags);
+
+ // Release virtual memory range previously reserved using VirtualReserve
+ // Parameters:
+ // address - starting virtual address
+ // size - size of the virtual memory range
+ // Return:
+ // true if it has succeeded, false if it has failed
+ static bool VirtualRelease(void *address, size_t size);
+
+ // Commit virtual memory range. It must be part of a range reserved using VirtualReserve.
+ // Parameters:
+ // address - starting virtual address
+ // size - size of the virtual memory range
+ // Return:
+ // true if it has succeeded, false if it has failed
+ static bool VirtualCommit(void *address, size_t size);
+
+ // Decomit virtual memory range.
+ // Parameters:
+ // address - starting virtual address
+ // size - size of the virtual memory range
+ // Return:
+ // true if it has succeeded, false if it has failed
+ static bool VirtualDecommit(void *address, size_t size);
+
+ // Reset virtual memory range. Indicates that data in the memory range specified by address and size is no
+ // longer of interest, but it should not be decommitted.
+ // Parameters:
+ // address - starting virtual address
+ // size - size of the virtual memory range
+ // unlock - true if the memory range should also be unlocked
+ // Return:
+ // true if it has succeeded, false if it has failed
+ static bool VirtualReset(void *address, size_t size, bool unlock);
+
+ //
+ // Write watching
+ //
+
+ // Check if the OS supports write watching
+ static bool SupportsWriteWatch();
+
+ // Reset the write tracking state for the specified virtual memory range.
+ // Parameters:
+ // address - starting virtual address
+ // size - size of the virtual memory range
+ static void ResetWriteWatch(void *address, size_t size);
+
+ // Retrieve addresses of the pages that are written to in a region of virtual memory
+ // Parameters:
+ // resetState - true indicates to reset the write tracking state
+ // address - starting virtual address
+ // size - size of the virtual memory range
+ // pageAddresses - buffer that receives an array of page addresses in the memory region
+ // pageAddressesCount - on input, size of the lpAddresses array, in array elements
+ // on output, the number of page addresses that are returned in the array.
+ // Return:
+ // true if it has succeeded, false if it has failed
+ static bool GetWriteWatch(bool resetState, void* address, size_t size, void** pageAddresses, uintptr_t* pageAddressesCount);
+
+ //
+ // Thread and process
+ //
+
+ // Create a new thread
+ // Parameters:
+ // function - the function to be executed by the thread
+ // param - parameters of the thread
+ // affinity - processor affinity of the thread
+ // Return:
+ // true if it has succeeded, false if it has failed
+ static bool CreateThread(GCThreadFunction function, void* param, GCThreadAffinity* affinity);
+
+ // Causes the calling thread to sleep for the specified number of milliseconds
+ // Parameters:
+ // sleepMSec - time to sleep before switching to another thread
+ static void Sleep(uint32_t sleepMSec);
+
+ // Causes the calling thread to yield execution to another thread that is ready to run on the current processor.
+ // Parameters:
+ // switchCount - number of times the YieldThread was called in a loop
+ static void YieldThread(uint32_t switchCount);
+
+ // Get the number of the current processor
+ static uint32_t GetCurrentProcessorNumber();
+
+ // Check if the OS supports getting current processor number
+ static bool CanGetCurrentProcessorNumber();
+
+ // Set ideal processor for the current thread
+ // Parameters:
+ // processorIndex - index of the processor in the group
+ // affinity - ideal processor affinity for the thread
+ // Return:
+ // true if it has succeeded, false if it has failed
+ static bool SetCurrentThreadIdealAffinity(GCThreadAffinity* affinity);
+
+ // Get numeric id of the current thread if possible on the
+ // current platform. It is indended for logging purposes only.
+ // Return:
+ // Numeric id of the current thread or 0 if the
+ static uint32_t GetCurrentThreadIdForLogging();
+
+ // Get id of the current process
+ // Return:
+ // Id of the current process
+ static uint32_t GetCurrentProcessId();
+
+ //
+ // Processor topology
+ //
+
+ // Get number of logical processors
+ static uint32_t GetLogicalCpuCount();
+
+ // Get size of the largest cache on the processor die
+ // Parameters:
+ // trueSize - true to return true cache size, false to return scaled up size based on
+ // the processor architecture
+ // Return:
+ // Size of the cache
+ static size_t GetLargestOnDieCacheSize(bool trueSize = true);
+
+ // Get number of processors assigned to the current process
+ // Return:
+ // The number of processors
+ static uint32_t GetCurrentProcessCpuCount();
+
+ // Get affinity mask of the current process
+ // Parameters:
+ // processMask - affinity mask for the specified process
+ // systemMask - affinity mask for the system
+ // Return:
+ // true if it has succeeded, false if it has failed
+ // Remarks:
+ // A process affinity mask is a bit vector in which each bit represents the processors that
+ // a process is allowed to run on. A system affinity mask is a bit vector in which each bit
+ // represents the processors that are configured into a system.
+ // A process affinity mask is a subset of the system affinity mask. A process is only allowed
+ // to run on the processors configured into a system. Therefore, the process affinity mask cannot
+ // specify a 1 bit for a processor when the system affinity mask specifies a 0 bit for that processor.
+ static bool GetCurrentProcessAffinityMask(uintptr_t *processMask, uintptr_t *systemMask);
+
+ //
+ // Misc
+ //
+
+ // Get global memory status
+ // Parameters:
+ // ms - pointer to the structure that will be filled in with the memory status
+ static void GetMemoryStatus(GCMemoryStatus* ms);
+
+ // Flush write buffers of processors that are executing threads of the current process
+ static void FlushProcessWriteBuffers();
+
+ // Break into a debugger
+ static void DebugBreak();
+
+ //
+ // Time
+ //
+
+ // Get a high precision performance counter
+ // Return:
+ // The counter value
+ static int64_t QueryPerformanceCounter();
+
+ // Get a frequency of the high precision performance counter
+ // Return:
+ // The counter frequency
+ static int64_t QueryPerformanceFrequency();
+
+ // Get a time stamp with a low precision
+ // Return:
+ // Time stamp in milliseconds
+ static uint32_t GetLowPrecisionTimeStamp();
+
+ //
+ // File
+ //
+
+ // Open a file
+ // Parameters:
+ // filename - name of the file to open
+ // mode - mode to open the file in (like in the CRT fopen)
+ // Return:
+ // FILE* of the opened file
+ static FILE* OpenFile(const WCHAR* filename, const WCHAR* mode);
+};
+
+#endif // __GCENV_OS_H__
diff --git a/src/gc/env/gcenv.structs.h b/src/gc/env/gcenv.structs.h
index e3bfb17f56..7c576a5928 100644
--- a/src/gc/env/gcenv.structs.h
+++ b/src/gc/env/gcenv.structs.h
@@ -31,6 +31,62 @@ struct GCMemoryStatus
typedef void * HANDLE;
+#ifdef PLATFORM_UNIX
+
+class EEThreadId
+{
+ pthread_t m_id;
+ // Indicates whether the m_id is valid or not. pthread_t doesn't have any
+ // portable "invalid" value.
+ bool m_isValid;
+
+public:
+ bool IsCurrentThread()
+ {
+ return m_isValid && pthread_equal(m_id, pthread_self());
+ }
+
+ void SetToCurrentThread()
+ {
+ m_id = pthread_self();
+ m_isValid = true;
+ }
+
+ void Clear()
+ {
+ m_isValid = false;
+ }
+};
+
+#else // PLATFORM_UNIX
+
+#ifndef _INC_WINDOWS
+extern "C" uint32_t __stdcall GetCurrentThreadId();
+#endif
+
+class EEThreadId
+{
+ uint32_t m_uiId;
+public:
+
+ bool IsCurrentThread()
+ {
+ return m_uiId == ::GetCurrentThreadId();
+ }
+
+ void SetToCurrentThread()
+ {
+ m_uiId = ::GetCurrentThreadId();
+ }
+
+ void Clear()
+ {
+ m_uiId = 0;
+ }
+};
+
+#endif // PLATFORM_UNIX
+
#ifndef _INC_WINDOWS
typedef union _LARGE_INTEGER {
@@ -46,7 +102,13 @@ typedef union _LARGE_INTEGER {
int64_t QuadPart;
} LARGE_INTEGER, *PLARGE_INTEGER;
-#ifdef WIN32
+#ifdef PLATFORM_UNIX
+
+typedef struct _RTL_CRITICAL_SECTION {
+ pthread_mutex_t mutex;
+} CRITICAL_SECTION, RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION;
+
+#else
#pragma pack(push, 8)
@@ -67,12 +129,6 @@ typedef struct _RTL_CRITICAL_SECTION {
#pragma pack(pop)
-#else
-
-typedef struct _RTL_CRITICAL_SECTION {
- pthread_mutex_t mutex;
-} CRITICAL_SECTION, RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION;
-
#endif
#endif // _INC_WINDOWS
diff --git a/src/gc/env/gcenv.sync.h b/src/gc/env/gcenv.sync.h
index c3aea23fde..fe619cc696 100644
--- a/src/gc/env/gcenv.sync.h
+++ b/src/gc/env/gcenv.sync.h
@@ -7,19 +7,6 @@
//
// Helper classes expected by the GC
//
-class EEThreadId
-{
-public:
- EEThreadId(uint32_t uiId) : m_uiId(uiId) {}
- bool IsSameThread()
- {
- return m_uiId == GetCurrentThreadId();
- }
-
-private:
- uint32_t m_uiId;
-};
-
#define CRST_REENTRANCY 0
#define CRST_UNSAFE_SAMELEVEL 0
#define CRST_UNSAFE_ANYMODE 0
@@ -33,37 +20,37 @@ typedef int CrstType;
class CrstStatic
{
- CRITICAL_SECTION m_cs;
+ CLRCriticalSection m_cs;
#ifdef _DEBUG
- uint32_t m_holderThreadId;
+ EEThreadId m_holderThreadId;
#endif
public:
bool InitNoThrow(CrstType eType, CrstFlags eFlags = CRST_DEFAULT)
{
- UnsafeInitializeCriticalSection(&m_cs);
+ m_cs.Initialize();
return true;
}
void Destroy()
{
- UnsafeDeleteCriticalSection(&m_cs);
+ m_cs.Destroy();
}
void Enter()
{
- UnsafeEEEnterCriticalSection(&m_cs);
+ m_cs.Enter();
#ifdef _DEBUG
- m_holderThreadId = GetCurrentThreadId();
+ m_holderThreadId.SetToCurrentThread();
#endif
}
void Leave()
{
#ifdef _DEBUG
- m_holderThreadId = 0;
+ m_holderThreadId.Clear();
#endif
- UnsafeEELeaveCriticalSection(&m_cs);
+ m_cs.Leave();
}
#ifdef _DEBUG
@@ -74,7 +61,7 @@ public:
bool OwnedByCurrentThread()
{
- return GetHolderThreadId().IsSameThread();
+ return GetHolderThreadId().IsCurrentThread();
}
#endif
};
diff --git a/src/gc/env/gcenv.windows.cpp b/src/gc/env/gcenv.windows.cpp
deleted file mode 100644
index 1059e5e6a2..0000000000
--- a/src/gc/env/gcenv.windows.cpp
+++ /dev/null
@@ -1,268 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-//
-// Implementation of the GC environment
-//
-
-#include "common.h"
-
-#include "windows.h"
-
-#include "gcenv.h"
-#include "gc.h"
-
-int32_t FastInterlockIncrement(int32_t volatile *lpAddend)
-{
- return InterlockedIncrement((LONG *)lpAddend);
-}
-
-int32_t FastInterlockDecrement(int32_t volatile *lpAddend)
-{
- return InterlockedDecrement((LONG *)lpAddend);
-}
-
-int32_t FastInterlockExchange(int32_t volatile *Target, int32_t Value)
-{
- return InterlockedExchange((LONG *)Target, Value);
-}
-
-int32_t FastInterlockCompareExchange(int32_t volatile *Destination, int32_t Exchange, int32_t Comperand)
-{
- return InterlockedCompareExchange((LONG *)Destination, Exchange, Comperand);
-}
-
-int32_t FastInterlockExchangeAdd(int32_t volatile *Addend, int32_t Value)
-{
- return InterlockedExchangeAdd((LONG *)Addend, Value);
-}
-
-void * _FastInterlockExchangePointer(void * volatile *Target, void * Value)
-{
- return InterlockedExchangePointer(Target, Value);
-}
-
-void * _FastInterlockCompareExchangePointer(void * volatile *Destination, void * Exchange, void * Comperand)
-{
- return InterlockedCompareExchangePointer(Destination, Exchange, Comperand);
-}
-
-void FastInterlockOr(uint32_t volatile *p, uint32_t msk)
-{
- InterlockedOr((LONG volatile *)p, msk);
-}
-
-void FastInterlockAnd(uint32_t volatile *p, uint32_t msk)
-{
- InterlockedAnd((LONG volatile *)p, msk);
-}
-
-
-void UnsafeInitializeCriticalSection(CRITICAL_SECTION * lpCriticalSection)
-{
- InitializeCriticalSection(lpCriticalSection);
-}
-
-void UnsafeEEEnterCriticalSection(CRITICAL_SECTION *lpCriticalSection)
-{
- EnterCriticalSection(lpCriticalSection);
-}
-
-void UnsafeEELeaveCriticalSection(CRITICAL_SECTION * lpCriticalSection)
-{
- LeaveCriticalSection(lpCriticalSection);
-}
-
-void UnsafeDeleteCriticalSection(CRITICAL_SECTION *lpCriticalSection)
-{
- DeleteCriticalSection(lpCriticalSection);
-}
-
-
-void GetProcessMemoryLoad(GCMemoryStatus* pGCMemStatus)
-{
- CONTRACTL
- {
- NOTHROW;
- GC_NOTRIGGER;
- }
- CONTRACTL_END;
-
- MEMORYSTATUSEX memStatus;
-
- memStatus.dwLength = sizeof(MEMORYSTATUSEX);
- BOOL fRet = GlobalMemoryStatusEx(&memStatus);
- _ASSERTE (fRet);
-
- // If the machine has more RAM than virtual address limit, let us cap it.
- // Our GC can never use more than virtual address limit.
- if (memStatus.ullAvailPhys > memStatus.ullTotalVirtual)
- {
- memStatus.ullAvailPhys = memStatus.ullAvailVirtual;
- }
-
- // Convert Windows struct to abstract struct
- pGCMemStatus->dwMemoryLoad = memStatus.dwMemoryLoad ;
- pGCMemStatus->ullTotalPhys = memStatus.ullTotalPhys ;
- pGCMemStatus->ullAvailPhys = memStatus.ullAvailPhys ;
- pGCMemStatus->ullTotalPageFile = memStatus.ullTotalPageFile ;
- pGCMemStatus->ullAvailPageFile = memStatus.ullAvailPageFile ;
- pGCMemStatus->ullTotalVirtual = memStatus.ullTotalVirtual ;
- pGCMemStatus->ullAvailVirtual = memStatus.ullAvailVirtual ;
-}
-
-void CLREventStatic::CreateManualEvent(bool bInitialState)
-{
- m_hEvent = CreateEventW(NULL, TRUE, bInitialState, NULL);
- m_fInitialized = true;
-}
-
-void CLREventStatic::CreateAutoEvent(bool bInitialState)
-{
- m_hEvent = CreateEventW(NULL, FALSE, bInitialState, NULL);
- m_fInitialized = true;
-}
-
-void CLREventStatic::CreateOSManualEvent(bool bInitialState)
-{
- m_hEvent = CreateEventW(NULL, TRUE, bInitialState, NULL);
- m_fInitialized = true;
-}
-
-void CLREventStatic::CreateOSAutoEvent(bool bInitialState)
-{
- m_hEvent = CreateEventW(NULL, FALSE, bInitialState, NULL);
- m_fInitialized = true;
-}
-
-void CLREventStatic::CloseEvent()
-{
- if (m_fInitialized && m_hEvent != INVALID_HANDLE_VALUE)
- {
- CloseHandle(m_hEvent);
- m_hEvent = INVALID_HANDLE_VALUE;
- }
-}
-
-bool CLREventStatic::IsValid() const
-{
- return m_fInitialized && m_hEvent != INVALID_HANDLE_VALUE;
-}
-
-bool CLREventStatic::Set()
-{
- if (!m_fInitialized)
- return false;
- return !!SetEvent(m_hEvent);
-}
-
-bool CLREventStatic::Reset()
-{
- if (!m_fInitialized)
- return false;
- return !!ResetEvent(m_hEvent);
-}
-
-uint32_t CLREventStatic::Wait(uint32_t dwMilliseconds, bool bAlertable)
-{
- DWORD result = WAIT_FAILED;
-
- if (m_fInitialized)
- {
- bool disablePreemptive = false;
- Thread * pCurThread = GetThread();
-
- if (NULL != pCurThread)
- {
- if (pCurThread->PreemptiveGCDisabled())
- {
- pCurThread->EnablePreemptiveGC();
- disablePreemptive = true;
- }
- }
-
- result = WaitForSingleObjectEx(m_hEvent, dwMilliseconds, bAlertable);
-
- if (disablePreemptive)
- {
- pCurThread->DisablePreemptiveGC();
- }
- }
-
- return result;
-}
-
-bool __SwitchToThread(uint32_t dwSleepMSec, uint32_t dwSwitchCount)
-{
- SwitchToThread();
- return true;
-}
-
-void * ClrVirtualAlloc(
- void * lpAddress,
- size_t dwSize,
- uint32_t flAllocationType,
- uint32_t flProtect)
-{
- return VirtualAlloc(lpAddress, dwSize, flAllocationType, flProtect);
-}
-
-void * ClrVirtualAllocAligned(
- void * lpAddress,
- size_t dwSize,
- uint32_t flAllocationType,
- uint32_t flProtect,
- size_t dwAlignment)
-{
- return VirtualAlloc(lpAddress, dwSize, flAllocationType, flProtect);
-}
-
-bool ClrVirtualFree(
- void * lpAddress,
- size_t dwSize,
- uint32_t dwFreeType)
-{
- return !!VirtualFree(lpAddress, dwSize, dwFreeType);
-}
-
-bool
-ClrVirtualProtect(
- void * lpAddress,
- size_t dwSize,
- uint32_t flNewProtect,
- uint32_t * lpflOldProtect)
-{
- return !!VirtualProtect(lpAddress, dwSize, flNewProtect, (DWORD *)lpflOldProtect);
-}
-
-MethodTable * g_pFreeObjectMethodTable;
-
-GCSystemInfo g_SystemInfo;
-
-void InitializeSystemInfo()
-{
- SYSTEM_INFO systemInfo;
- GetSystemInfo(&systemInfo);
-
- g_SystemInfo.dwNumberOfProcessors = systemInfo.dwNumberOfProcessors;
- g_SystemInfo.dwPageSize = systemInfo.dwPageSize;
- g_SystemInfo.dwAllocationGranularity = systemInfo.dwAllocationGranularity;
-}
-
-int32_t g_TrapReturningThreads;
-
-bool g_fFinalizerRunOnShutDown;
-
-void DestroyThread(Thread * pThread)
-{
- // TODO: Implement
-}
-
-bool PalHasCapability(PalCapability capability)
-{
- // TODO: Implement for background GC
- return false;
-}
-
diff --git a/src/gc/gc.cpp b/src/gc/gc.cpp
index f89ecbb334..c91d2a6baf 100644
--- a/src/gc/gc.cpp
+++ b/src/gc/gc.cpp
@@ -149,6 +149,17 @@ BOOL is_induced_blocking (gc_reason reason)
(reason == reason_induced_compacting));
}
+#ifndef DACCESS_COMPILE
+int64_t qpf;
+
+size_t GetHighPrecisionTimeStamp()
+{
+ int64_t ts = GCToOSInterface::QueryPerformanceCounter();
+
+ return (size_t)(ts / (qpf / 1000));
+}
+#endif
+
#ifdef GC_STATS
// There is a current and a prior copy of the statistics. This allows us to display deltas per reporting
// interval, as well as running totals. The 'min' and 'max' values require special treatment. They are
@@ -296,15 +307,7 @@ uint32_t bgc_alloc_spin = 2;
inline
void c_write (uint32_t& place, uint32_t value)
{
- FastInterlockExchange (&(LONG&)place, value);
- //place = value;
-}
-
-// TODO - can't make it work with the syntax for Volatile<T>
-inline
-void c_write_volatile (BOOL* place, uint32_t value)
-{
- FastInterlockExchange ((LONG*)place, value);
+ Interlocked::Exchange (&place, value);
//place = value;
}
@@ -368,15 +371,15 @@ void gc_heap::add_to_history()
#endif //DACCESS_COMPILE
#endif //BACKGROUND_GC
-#ifdef TRACE_GC
+#if defined(TRACE_GC) && !defined(DACCESS_COMPILE)
BOOL gc_log_on = TRUE;
-HANDLE gc_log = INVALID_HANDLE_VALUE;
+FILE* gc_log = NULL;
size_t gc_log_file_size = 0;
size_t gc_buffer_index = 0;
size_t max_gc_buffers = 0;
-static CLR_MUTEX_COOKIE gc_log_lock = 0;
+static CLRCriticalSection gc_log_lock;
// we keep this much in a buffer and only flush when the buffer is full
#define gc_log_buffer_size (1024*1024)
@@ -385,8 +388,7 @@ size_t gc_log_buffer_offset = 0;
void log_va_msg(const char *fmt, va_list args)
{
- uint32_t status = ClrWaitForMutex(gc_log_lock, INFINITE, FALSE);
- assert (WAIT_OBJECT_0 == status);
+ gc_log_lock.Enter();
const int BUFFERSIZE = 512;
static char rgchBuffer[BUFFERSIZE];
@@ -395,7 +397,7 @@ void log_va_msg(const char *fmt, va_list args)
pBuffer[0] = '\r';
pBuffer[1] = '\n';
int buffer_start = 2;
- int pid_len = sprintf_s (&pBuffer[buffer_start], BUFFERSIZE - buffer_start, "[%5d]", GetCurrentThreadId());
+ int pid_len = sprintf_s (&pBuffer[buffer_start], BUFFERSIZE - buffer_start, "[%5d]", GCToOSInterface::GetCurrentThreadIdForLogging());
buffer_start += pid_len;
memset(&pBuffer[buffer_start], '-', BUFFERSIZE - buffer_start);
int msg_len = _vsnprintf(&pBuffer[buffer_start], BUFFERSIZE - buffer_start, fmt, args );
@@ -418,12 +420,11 @@ void log_va_msg(const char *fmt, va_list args)
gc_buffer_index++;
if (gc_buffer_index > max_gc_buffers)
{
- SetFilePointer (gc_log, 0, NULL, FILE_BEGIN);
+ fseek (gc_log, 0, SEEK_SET);
gc_buffer_index = 0;
}
- uint32_t written_to_log = 0;
- WriteFile (gc_log, gc_log_buffer, (uint32_t)gc_log_buffer_size, (DWORD*)&written_to_log, NULL);
- FlushFileBuffers (gc_log);
+ fwrite(gc_log_buffer, gc_log_buffer_size, 1, gc_log);
+ fflush(gc_log);
memset (gc_log_buffer, '*', gc_log_buffer_size);
gc_log_buffer_offset = 0;
}
@@ -431,13 +432,12 @@ void log_va_msg(const char *fmt, va_list args)
memcpy (gc_log_buffer + gc_log_buffer_offset, pBuffer, msg_len);
gc_log_buffer_offset += msg_len;
- status = ClrReleaseMutex(gc_log_lock);
- assert (status);
+ gc_log_lock.Leave();
}
void GCLog (const char *fmt, ... )
{
- if (gc_log_on && (gc_log != INVALID_HANDLE_VALUE))
+ if (gc_log_on && (gc_log != NULL))
{
va_list args;
va_start(args, fmt);
@@ -445,11 +445,12 @@ void GCLog (const char *fmt, ... )
va_end(args);
}
}
-#endif //TRACE_GC
+#endif // TRACE_GC && !DACCESS_COMPILE
+
+#if defined(GC_CONFIG_DRIVEN) && !defined(DACCESS_COMPILE)
-#ifdef GC_CONFIG_DRIVEN
BOOL gc_config_log_on = FALSE;
-HANDLE gc_config_log = INVALID_HANDLE_VALUE;
+FILE* gc_config_log = NULL;
// we keep this much in a buffer and only flush when the buffer is full
#define gc_config_log_buffer_size (1*1024) // TEMP
@@ -473,9 +474,8 @@ void log_va_msg_config(const char *fmt, va_list args)
if ((gc_config_log_buffer_offset + msg_len) > gc_config_log_buffer_size)
{
- uint32_t written_to_log = 0;
- WriteFile (gc_config_log, gc_config_log_buffer, (uint32_t)gc_config_log_buffer_offset, (DWORD*)&written_to_log, NULL);
- FlushFileBuffers (gc_config_log);
+ fwrite(gc_config_log_buffer, gc_config_log_buffer_offset, 1, gc_config_log);
+ fflush(gc_config_log);
gc_config_log_buffer_offset = 0;
}
@@ -485,14 +485,14 @@ void log_va_msg_config(const char *fmt, va_list args)
void GCLogConfig (const char *fmt, ... )
{
- if (gc_config_log_on && (gc_config_log != INVALID_HANDLE_VALUE))
+ if (gc_config_log_on && (gc_config_log != NULL))
{
va_list args;
va_start( args, fmt );
log_va_msg_config (fmt, args);
}
}
-#endif //GC_CONFIG_DRIVEN
+#endif // GC_CONFIG_DRIVEN && !DACCESS_COMPILE
#ifdef SYNCHRONIZATION_STATS
@@ -523,7 +523,7 @@ init_sync_log_stats()
gc_during_log = 0;
gc_lock_contended = 0;
- log_start_tick = GetTickCount();
+ log_start_tick = GCToOSInterface::GetLowPrecisionTimeStamp();
}
gc_count_during_log++;
#endif //SYNCHRONIZATION_STATS
@@ -534,7 +534,7 @@ process_sync_log_stats()
{
#ifdef SYNCHRONIZATION_STATS
- unsigned int log_elapsed = GetTickCount() - log_start_tick;
+ unsigned int log_elapsed = GCToOSInterface::GetLowPrecisionTimeStamp() - log_start_tick;
if (log_elapsed > log_interval)
{
@@ -700,7 +700,7 @@ public:
flavor = f;
#ifdef JOIN_STATS
- start_tick = GetTickCount();
+ start_tick = GCToOSInterface::GetLowPrecisionTimeStamp();
#endif //JOIN_STATS
return TRUE;
@@ -731,7 +731,7 @@ public:
assert (!join_struct.joined_p);
int color = join_struct.lock_color;
- if (FastInterlockDecrement((LONG*)&join_struct.join_lock) != 0)
+ if (Interlocked::Decrement(&join_struct.join_lock) != 0)
{
dprintf (JOIN_LOG, ("join%d(%d): Join() Waiting...join_lock is now %d",
flavor, join_id, (int32_t)(join_struct.join_lock)));
@@ -783,7 +783,7 @@ respin:
fire_event (gch->heap_number, time_end, type_join, join_id);
// last thread out should reset event
- if (FastInterlockDecrement((LONG*)&join_struct.join_restart) == 0)
+ if (Interlocked::Decrement(&join_struct.join_restart) == 0)
{
// the joined event must be set at this point, because the restarting must have done this
join_struct.join_restart = join_struct.n_threads - 1;
@@ -793,7 +793,7 @@ respin:
#ifdef JOIN_STATS
// parallel execution starts here
start[gch->heap_number] = GetCycleCount32();
- FastInterlockExchangeAdd((int*)&in_join_total[join_id], (start[gch->heap_number] - end[gch->heap_number])/1000);
+ Interlocked::ExchangeAdd(&in_join_total[join_id], (start[gch->heap_number] - end[gch->heap_number])/1000);
#endif //JOIN_STATS
}
else
@@ -810,7 +810,7 @@ respin:
// and keep track of the cycles spent waiting in the join
thd = gch->heap_number;
start_seq = GetCycleCount32();
- FastInterlockExchangeAdd((int*)&in_join_total[join_id], (start_seq - end[gch->heap_number])/1000);
+ Interlocked::ExchangeAdd(&in_join_total[join_id], (start_seq - end[gch->heap_number])/1000);
#endif //JOIN_STATS
}
}
@@ -831,7 +831,7 @@ respin:
return TRUE;
}
- if (FastInterlockDecrement((LONG*)&join_struct.r_join_lock) != (join_struct.n_threads - 1))
+ if (Interlocked::Decrement(&join_struct.r_join_lock) != (join_struct.n_threads - 1))
{
if (!join_struct.wait_done)
{
@@ -879,7 +879,7 @@ respin:
#ifdef JOIN_STATS
// parallel execution starts here
start[gch->heap_number] = GetCycleCount32();
- FastInterlockExchangeAdd((volatile int *)&in_join_total[join_id], (start[gch->heap_number] - end[gch->heap_number])/1000);
+ Interlocked::ExchangeAdd(&in_join_total[join_id], (start[gch->heap_number] - end[gch->heap_number])/1000);
#endif //JOIN_STATS
}
@@ -918,7 +918,7 @@ respin:
par_loss_total[join_id] += par_loss/1000;
// every 10 seconds, print a summary of the time spent in each type of join, in 1000's of clock cycles
- if (GetTickCount() - start_tick > 10*1000)
+ if (GCToOSInterface::GetLowPrecisionTimeStamp() - start_tick > 10*1000)
{
printf("**** summary *****\n");
for (int i = 0; i < 16; i++)
@@ -926,7 +926,7 @@ respin:
printf("join #%3d seq_loss = %8u par_loss = %8u in_join_total = %8u\n", i, seq_loss_total[i], par_loss_total[i], in_join_total[i]);
elapsed_total[i] = seq_loss_total[i] = par_loss_total[i] = in_join_total[i] = 0;
}
- start_tick = GetTickCount();
+ start_tick = GCToOSInterface::GetLowPrecisionTimeStamp();
}
#endif //JOIN_STATS
@@ -998,7 +998,7 @@ t_join bgc_t_join;
} \
if (!(expr)) \
{ \
- __SwitchToThread(0, CALLER_LIMITS_SPINNING); \
+ GCToOSInterface::YieldThread(0); \
} \
}
@@ -1051,7 +1051,7 @@ public:
{
if (alloc_objects [i] != (uint8_t*)0)
{
- DebugBreak();
+ GCToOSInterface::DebugBreak();
}
}
}
@@ -1060,7 +1060,7 @@ public:
{
dprintf (3, ("cm: probing %Ix", obj));
retry:
- if (FastInterlockExchange ((LONG*)&needs_checking, 1) == 0)
+ if (Interlocked::Exchange (&needs_checking, 1) == 0)
{
// If we spend too much time spending all the allocs,
// consider adding a high water mark and scan up
@@ -1099,7 +1099,7 @@ retry:
retry:
dprintf (3, ("loh alloc: probing %Ix", obj));
- if (FastInterlockExchange ((LONG*)&needs_checking, 1) == 0)
+ if (Interlocked::Exchange (&needs_checking, 1) == 0)
{
if (obj == rwp_object)
{
@@ -1117,7 +1117,7 @@ retry:
needs_checking = 0;
//if (cookie >= 4)
//{
- // DebugBreak();
+ // GCToOSInterface::DebugBreak();
//}
dprintf (3, ("loh alloc: set %Ix at %d", obj, cookie));
@@ -1273,7 +1273,7 @@ void recursive_gc_sync::begin_foreground()
try_again_top:
- FastInterlockIncrement ((LONG*)&foreground_request_count);
+ Interlocked::Increment (&foreground_request_count);
try_again_no_inc:
dprintf(2, ("Waiting sync gc point"));
@@ -1291,7 +1291,7 @@ try_again_no_inc:
if (foreground_gate)
{
- FastInterlockIncrement ((LONG*)&foreground_count);
+ Interlocked::Increment (&foreground_count);
dprintf (2, ("foreground_count: %d", (int32_t)foreground_count));
if (foreground_gate)
{
@@ -1316,11 +1316,11 @@ void recursive_gc_sync::end_foreground()
dprintf (2, ("end_foreground"));
if (gc_background_running)
{
- FastInterlockDecrement ((LONG*)&foreground_request_count);
+ Interlocked::Decrement (&foreground_request_count);
dprintf (2, ("foreground_count before decrement: %d", (int32_t)foreground_count));
- if (FastInterlockDecrement ((LONG*)&foreground_count) == 0)
+ if (Interlocked::Decrement (&foreground_count) == 0)
{
- //c_write_volatile ((BOOL*)&foreground_gate, 0);
+ //c_write ((BOOL*)&foreground_gate, 0);
// TODO - couldn't make the syntax work with Volatile<T>
foreground_gate = 0;
if (foreground_count == 0)
@@ -1350,7 +1350,7 @@ BOOL recursive_gc_sync::allow_foreground()
//background and foreground
// gc_heap::disallow_new_allocation (0);
- //__SwitchToThread(0, CALLER_LIMITS_SPINNING);
+ //GCToOSInterface::YieldThread(0);
//END of TODO
if (foreground_request_count != 0)
@@ -1362,7 +1362,7 @@ BOOL recursive_gc_sync::allow_foreground()
do
{
did_fgc = TRUE;
- //c_write_volatile ((BOOL*)&foreground_gate, 1);
+ //c_write ((BOOL*)&foreground_gate, 1);
// TODO - couldn't make the syntax work with Volatile<T>
foreground_gate = 1;
foreground_allowed.Set ();
@@ -1411,9 +1411,6 @@ __asm pop EDX
#endif //COUNT_CYCLES || JOIN_STATS || SYNCHRONIZATION_STATS
-LARGE_INTEGER qpf;
-
-
#ifdef TIME_GC
int mark_time, plan_time, sweep_time, reloc_time, compact_time;
#endif //TIME_GC
@@ -1438,13 +1435,9 @@ void reset_memory (uint8_t* o, size_t sizeo);
#ifdef WRITE_WATCH
-#define MEM_WRITE_WATCH 0x200000
+static bool virtual_alloc_write_watch = false;
-static uint32_t mem_reserve = MEM_RESERVE;
-
-#ifndef FEATURE_REDHAWK
-BOOL write_watch_capability = FALSE;
-#endif
+static bool write_watch_capability = false;
#ifndef DACCESS_COMPILE
@@ -1452,34 +1445,22 @@ BOOL write_watch_capability = FALSE;
void write_watch_api_supported()
{
-#ifndef FEATURE_REDHAWK
- // check if the OS will accept the MEM_WRITE_WATCH flag at runtime.
- // Drawbridge does not support write-watch so we still need to do the runtime detection for them.
- // Otherwise, all currently supported OSes do support write-watch.
- void* mem = VirtualAlloc (0, g_SystemInfo.dwAllocationGranularity, MEM_WRITE_WATCH|MEM_RESERVE,
- PAGE_READWRITE);
- if (mem == 0)
+ if (GCToOSInterface::SupportsWriteWatch())
{
- dprintf (2,("WriteWatch not supported"));
+ write_watch_capability = true;
+ dprintf (2, ("WriteWatch supported"));
}
else
{
- write_watch_capability = TRUE;
- dprintf (2, ("WriteWatch supported"));
- VirtualFree (mem, 0, MEM_RELEASE);
+ dprintf (2,("WriteWatch not supported"));
}
-#endif //FEATURE_REDHAWK
}
#endif //!DACCESS_COMPILE
-inline BOOL can_use_write_watch()
+inline bool can_use_write_watch()
{
-#ifdef FEATURE_REDHAWK
- return PalHasCapability(WriteWatchCapability);
-#else //FEATURE_REDHAWK
return write_watch_capability;
-#endif //FEATURE_REDHAWK
}
#else
@@ -1509,12 +1490,12 @@ void WaitLongerNoInstru (int i)
{
YieldProcessor(); // indicate to the processor that we are spining
if (i & 0x01f)
- __SwitchToThread (0, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::YieldThread (0);
else
- __SwitchToThread (5, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::Sleep (5);
}
else
- __SwitchToThread (5, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::Sleep (5);
}
// If CLR is hosted, a thread may reach here while it is in preemptive GC mode,
@@ -1544,7 +1525,7 @@ static void safe_switch_to_thread()
Thread* current_thread = GetThread();
BOOL cooperative_mode = gc_heap::enable_preemptive(current_thread);
- __SwitchToThread(0, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::YieldThread(0);
gc_heap::disable_preemptive(current_thread, cooperative_mode);
}
@@ -1558,7 +1539,7 @@ static void enter_spin_lock_noinstru (RAW_KEYWORD(volatile) int32_t* lock)
{
retry:
- if (FastInterlockExchange ((LONG*)lock, 0) >= 0)
+ if (Interlocked::Exchange (lock, 0) >= 0)
{
unsigned int i = 0;
while (VolatileLoad(lock) >= 0)
@@ -1600,7 +1581,7 @@ retry:
inline
static BOOL try_enter_spin_lock_noinstru(RAW_KEYWORD(volatile) int32_t* lock)
{
- return (FastInterlockExchange ((LONG*)&*lock, 0) < 0);
+ return (Interlocked::Exchange (&*lock, 0) < 0);
}
inline
@@ -1685,12 +1666,12 @@ void WaitLonger (int i
{
YieldProcessor(); // indicate to the processor that we are spining
if (i & 0x01f)
- __SwitchToThread (0, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::YieldThread (0);
else
- __SwitchToThread (5, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::Sleep (5);
}
else
- __SwitchToThread (5, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::Sleep (5);
}
// If CLR is hosted, a thread may reach here while it is in preemptive GC mode,
@@ -1719,7 +1700,7 @@ static void enter_spin_lock (GCSpinLock* spin_lock)
{
retry:
- if (FastInterlockExchange ((LONG*)&spin_lock->lock, 0) >= 0)
+ if (Interlocked::Exchange (&spin_lock->lock, 0) >= 0)
{
unsigned int i = 0;
while (spin_lock->lock >= 0)
@@ -1747,13 +1728,13 @@ retry:
Thread* current_thread = GetThread();
BOOL cooperative_mode = gc_heap::enable_preemptive (current_thread);
- __SwitchToThread(0, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::YieldThread(0);
gc_heap::disable_preemptive (current_thread, cooperative_mode);
}
}
else
- __SwitchToThread(0, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::YieldThread(0);
}
else
{
@@ -1770,7 +1751,7 @@ retry:
inline BOOL try_enter_spin_lock(GCSpinLock* spin_lock)
{
- return (FastInterlockExchange ((LONG*)&spin_lock->lock, 0) < 0);
+ return (Interlocked::Exchange (&spin_lock->lock, 0) < 0);
}
inline
@@ -1783,8 +1764,6 @@ static void leave_spin_lock (GCSpinLock * spin_lock)
#endif //_DEBUG
-#endif // !DACCESS_COMPILE
-
BOOL gc_heap::enable_preemptive (Thread* current_thread)
{
bool cooperative_mode = false;
@@ -1811,6 +1790,8 @@ void gc_heap::disable_preemptive (Thread* current_thread, BOOL restore_cooperati
}
}
+#endif // !DACCESS_COMPILE
+
typedef void ** PTR_PTR;
//This function clears a piece of memory
// size has to be Dword aligned
@@ -2256,8 +2237,6 @@ CLREvent gc_heap::gc_start_event;
SVAL_IMPL_NS(int, SVR, gc_heap, n_heaps);
SPTR_IMPL_NS(PTR_gc_heap, SVR, gc_heap, g_heaps);
-HANDLE* gc_heap::g_gc_threads;
-
size_t* gc_heap::g_promoted;
#ifdef MH_SC_MARK
@@ -2460,7 +2439,7 @@ BOOL gc_heap::loh_compacted_p = FALSE;
#ifdef BACKGROUND_GC
-uint32_t gc_heap::bgc_thread_id = 0;
+EEThreadId gc_heap::bgc_thread_id;
uint8_t* gc_heap::background_written_addresses [array_size+2];
@@ -2518,7 +2497,7 @@ BOOL gc_heap::bgc_thread_running;
CLREvent gc_heap::background_gc_create_event;
-CRITICAL_SECTION gc_heap::bgc_threads_timeout_cs;
+CLRCriticalSection gc_heap::bgc_threads_timeout_cs;
CLREvent gc_heap::gc_lh_block_event;
@@ -4262,7 +4241,8 @@ void* virtual_alloc (size_t size)
}
}
- void* prgmem = ClrVirtualAllocAligned (0, requested_size, mem_reserve, PAGE_READWRITE, card_size * card_word_width);
+ uint32_t flags = virtual_alloc_write_watch ? VirtualReserveFlags::WriteWatch : VirtualReserveFlags::None;
+ void* prgmem = GCToOSInterface::VirtualReserve (0, requested_size, card_size * card_word_width, flags);
void *aligned_mem = prgmem;
// We don't want (prgmem + size) to be right at the end of the address space
@@ -4276,7 +4256,7 @@ void* virtual_alloc (size_t size)
if ((end_mem == 0) || ((size_t)(MAX_PTR - end_mem) <= END_SPACE_AFTER_GC))
{
- VirtualFree (prgmem, 0, MEM_RELEASE);
+ GCToOSInterface::VirtualRelease (prgmem, requested_size);
dprintf (2, ("Virtual Alloc size %Id returned memory right against 4GB [%Ix, %Ix[ - discarding",
requested_size, (size_t)prgmem, (size_t)((uint8_t*)prgmem+requested_size)));
prgmem = 0;
@@ -4297,7 +4277,7 @@ void* virtual_alloc (size_t size)
void virtual_free (void* add, size_t size)
{
- VirtualFree (add, 0, MEM_RELEASE);
+ GCToOSInterface::VirtualRelease (add, size);
gc_heap::reserved_memory -= size;
dprintf (2, ("Virtual Free size %Id: [%Ix, %Ix[",
size, (size_t)add, (size_t)((uint8_t*)add+size)));
@@ -4757,6 +4737,7 @@ gc_heap::get_large_segment (size_t size, BOOL* did_full_compact_gc)
return res;
}
+#if 0
BOOL gc_heap::unprotect_segment (heap_segment* seg)
{
uint8_t* start = align_lower_page (heap_segment_mem (seg));
@@ -4764,16 +4745,15 @@ BOOL gc_heap::unprotect_segment (heap_segment* seg)
if (region_size != 0 )
{
- uint32_t old_protection;
dprintf (3, ("unprotecting segment %Ix:", (size_t)seg));
- BOOL status = VirtualProtect (start, region_size,
- PAGE_READWRITE, (DWORD*)&old_protection);
+ BOOL status = GCToOSInterface::VirtualUnprotect (start, region_size);
assert (status);
return status;
}
return FALSE;
}
+#endif
#ifdef MULTIPLE_HEAPS
#ifdef _X86_
@@ -4836,10 +4816,6 @@ extern "C" uint64_t __rdtsc();
#error NYI platform: get_cycle_count
#endif //_TARGET_X86_
-// The purpose of this whole class is to guess the right heap to use for a given thread.
-typedef
-uint32_t (WINAPI *GetCurrentProcessorNumber_t)(void);
-
class heap_select
{
heap_select() {}
@@ -4865,31 +4841,11 @@ class heap_select
return (int) elapsed_cycles;
}
- static
- GetCurrentProcessorNumber_t GCGetCurrentProcessorNumber;
-
- //check if the new APIs are supported.
- static
- BOOL api_supported()
- {
-#ifdef FEATURE_REDHAWK
- BOOL fSupported = PalHasCapability(GetCurrentProcessorNumberCapability);
- GCGetCurrentProcessorNumber = fSupported ? PalGetCurrentProcessorNumber : NULL;
- return fSupported;
-#elif !defined(FEATURE_PAL)
- // on all platforms we support this API exists.
- GCGetCurrentProcessorNumber = (GetCurrentProcessorNumber_t)&GetCurrentProcessorNumber;
- return TRUE;
-#else
- return FALSE;
-#endif //FEATURE_REDHAWK
- }
-
public:
static BOOL init(int n_heaps)
{
assert (sniff_buffer == NULL && n_sniff_buffers == 0);
- if (!api_supported())
+ if (!GCToOSInterface::CanGetCurrentProcessorNumber())
{
n_sniff_buffers = n_heaps*2+1;
size_t sniff_buf_size = 0;
@@ -4921,10 +4877,10 @@ public:
static void init_cpu_mapping(gc_heap *heap, int heap_number)
{
- if (GCGetCurrentProcessorNumber != 0)
+ if (GCToOSInterface::CanGetCurrentProcessorNumber())
{
- uint32_t proc_no = GCGetCurrentProcessorNumber() % gc_heap::n_heaps;
- // We can safely cast heap_number to a uint8_t 'cause GetCurrentProcessCpuCount
+ uint32_t proc_no = GCToOSInterface::GetCurrentProcessorNumber() % gc_heap::n_heaps;
+ // We can safely cast heap_number to a BYTE 'cause GetCurrentProcessCpuCount
// only returns up to MAX_SUPPORTED_CPUS procs right now. We only ever create at most
// MAX_SUPPORTED_CPUS GC threads.
proc_no_to_heap_no[proc_no] = (uint8_t)heap_number;
@@ -4933,7 +4889,7 @@ public:
static void mark_heap(int heap_number)
{
- if (GCGetCurrentProcessorNumber != 0)
+ if (GCToOSInterface::CanGetCurrentProcessorNumber())
return;
for (unsigned sniff_index = 0; sniff_index < n_sniff_buffers; sniff_index++)
@@ -4942,10 +4898,10 @@ public:
static int select_heap(alloc_context* acontext, int hint)
{
- if (GCGetCurrentProcessorNumber)
- return proc_no_to_heap_no[GCGetCurrentProcessorNumber() % gc_heap::n_heaps];
+ if (GCToOSInterface::CanGetCurrentProcessorNumber())
+ return proc_no_to_heap_no[GCToOSInterface::GetCurrentProcessorNumber() % gc_heap::n_heaps];
- unsigned sniff_index = FastInterlockIncrement((LONG *)&cur_sniff_index);
+ unsigned sniff_index = Interlocked::Increment(&cur_sniff_index);
sniff_index %= n_sniff_buffers;
int best_heap = 0;
@@ -4983,12 +4939,9 @@ public:
return best_heap;
}
- static BOOL can_find_heap_fast()
+ static bool can_find_heap_fast()
{
- if (GCGetCurrentProcessorNumber)
- return TRUE;
- else
- return FALSE;
+ return GCToOSInterface::CanGetCurrentProcessorNumber();
}
static uint8_t find_proc_no_from_heap_no(int heap_number)
@@ -5057,7 +5010,6 @@ public:
uint8_t* heap_select::sniff_buffer;
unsigned heap_select::n_sniff_buffers;
unsigned heap_select::cur_sniff_index;
-GetCurrentProcessorNumber_t heap_select::GCGetCurrentProcessorNumber;
uint8_t heap_select::proc_no_to_heap_no[MAX_SUPPORTED_CPUS];
uint8_t heap_select::heap_no_to_proc_no[MAX_SUPPORTED_CPUS];
uint8_t heap_select::heap_no_to_numa_node[MAX_SUPPORTED_CPUS];
@@ -5107,17 +5059,14 @@ void gc_heap::destroy_thread_support ()
}
}
-void set_thread_group_affinity_for_heap(HANDLE gc_thread, int heap_number)
-{
#if !defined(FEATURE_REDHAWK) && !defined(FEATURE_CORECLR)
- GROUP_AFFINITY ga;
- uint16_t gn, gpn;
+void set_thread_group_affinity_for_heap(int heap_number, GCThreadAffinity* affinity)
+{
+ affinity->Group = GCThreadAffinity::None;
+ affinity->Processor = GCThreadAffinity::None;
+ uint16_t gn, gpn;
CPUGroupInfo::GetGroupForProcessor((uint16_t)heap_number, &gn, &gpn);
- ga.Group = gn;
- ga.Reserved[0] = 0; // reserve must be filled with zero
- ga.Reserved[1] = 0; // otherwise call may fail
- ga.Reserved[2] = 0;
int bit_number = 0;
for (uintptr_t mask = 1; mask !=0; mask <<=1)
@@ -5125,8 +5074,8 @@ void set_thread_group_affinity_for_heap(HANDLE gc_thread, int heap_number)
if (bit_number == gpn)
{
dprintf(3, ("using processor group %d, mask %x%Ix for heap %d\n", gn, mask, heap_number));
- ga.Mask = mask;
- CPUGroupInfo::SetThreadGroupAffinity(gc_thread, &ga, NULL);
+ affinity->Processor = gpn;
+ affinity->Group = gn;
heap_select::set_cpu_group_for_heap(heap_number, (uint8_t)gn);
heap_select::set_group_proc_for_heap(heap_number, (uint8_t)gpn);
if (NumaNodeInfo::CanEnableGCNumaAware())
@@ -5148,15 +5097,15 @@ void set_thread_group_affinity_for_heap(HANDLE gc_thread, int heap_number)
}
bit_number++;
}
-#endif
}
-void set_thread_affinity_mask_for_heap(HANDLE gc_thread, int heap_number)
+void set_thread_affinity_mask_for_heap(int heap_number, GCThreadAffinity* affinity)
{
-#if !defined(FEATURE_REDHAWK) && !defined(FEATURE_CORECLR)
- DWORD_PTR pmask, smask;
+ affinity->Group = GCThreadAffinity::None;
+ affinity->Processor = GCThreadAffinity::None;
- if (GetProcessAffinityMask(GetCurrentProcess(), &pmask, &smask))
+ uintptr_t pmask, smask;
+ if (GCToOSInterface::GetCurrentProcessAffinityMask(&pmask, &smask))
{
pmask &= smask;
int bit_number = 0;
@@ -5167,8 +5116,8 @@ void set_thread_affinity_mask_for_heap(HANDLE gc_thread, int heap_number)
{
if (bit_number == heap_number)
{
- dprintf (3, ("Using processor mask 0x%Ix for heap %d\n", mask, heap_number));
- SetThreadAffinityMask(gc_thread, mask);
+ dprintf (3, ("Using processor %d for heap %d\n", proc_number, heap_number));
+ affinity->Processor = proc_number;
heap_select::set_proc_no_for_heap(heap_number, proc_number);
if (NumaNodeInfo::CanEnableGCNumaAware())
{ // have the processor number, find the numa node
@@ -5198,42 +5147,35 @@ void set_thread_affinity_mask_for_heap(HANDLE gc_thread, int heap_number)
proc_number++;
}
}
-#endif
}
+#endif // !FEATURE_REDHAWK && !FEATURE_CORECLR
-HANDLE gc_heap::create_gc_thread ()
+bool gc_heap::create_gc_thread ()
{
- uint32_t thread_id;
dprintf (3, ("Creating gc thread\n"));
-#ifdef FEATURE_REDHAWK
- HANDLE gc_thread = CreateThread(0, 4096, gc_thread_stub,this, CREATE_SUSPENDED, &thread_id);
-#else //FEATURE_REDHAWK
- HANDLE gc_thread = Thread::CreateUtilityThread(Thread::StackSize_Medium, (DWORD (*)(void*))gc_thread_stub, this, CREATE_SUSPENDED, (DWORD*)&thread_id);
-#endif //FEATURE_REDHAWK
-
- if (!gc_thread)
- {
- return 0;;
- }
- SetThreadPriority(gc_thread, /* THREAD_PRIORITY_ABOVE_NORMAL );*/ THREAD_PRIORITY_HIGHEST );
+ GCThreadAffinity affinity;
+ affinity.Group = GCThreadAffinity::None;
+ affinity.Processor = GCThreadAffinity::None;
+#if !defined(FEATURE_REDHAWK) && !defined(FEATURE_CORECLR)
//We are about to set affinity for GC threads, it is a good place to setup NUMA and
//CPU groups, because the process mask, processor number, group number are all
//readyly available.
if (CPUGroupInfo::CanEnableGCCPUGroups())
- set_thread_group_affinity_for_heap(gc_thread, heap_number);
+ set_thread_group_affinity_for_heap(heap_number, &affinity);
else
- set_thread_affinity_mask_for_heap(gc_thread, heap_number);
+ set_thread_affinity_mask_for_heap(heap_number, &affinity);
+
+#endif // !FEATURE_REDHAWK && !FEATURE_CORECLR
- ResumeThread(gc_thread);
- return gc_thread;
+ return GCToOSInterface::CreateThread(gc_thread_stub, this, &affinity);
}
#ifdef _MSC_VER
#pragma warning(disable:4715) //IA64 xcompiler recognizes that without the 'break;' the while(1) will never end and therefore not return a value for that code path
#endif //_MSC_VER
-uint32_t gc_heap::gc_thread_function ()
+void gc_heap::gc_thread_function ()
{
assert (gc_done_event.IsValid());
assert (gc_start_event.IsValid());
@@ -5321,7 +5263,6 @@ uint32_t gc_heap::gc_thread_function ()
set_gc_done();
}
}
- return 0;
}
#ifdef _MSC_VER
#pragma warning(default:4715) //IA64 xcompiler recognizes that without the 'break;' the while(1) will never end and therefore not return a value for that code path
@@ -5329,8 +5270,7 @@ uint32_t gc_heap::gc_thread_function ()
#endif //MULTIPLE_HEAPS
-void* virtual_alloc_commit_for_heap(void* addr, size_t size, uint32_t type,
- uint32_t prot, int h_number)
+bool virtual_alloc_commit_for_heap(void* addr, size_t size, int h_number)
{
#if defined(MULTIPLE_HEAPS) && !defined(FEATURE_REDHAWK) && !defined(FEATURE_PAL)
// Currently there is no way for us to specific the numa node to allocate on via hosting interfaces to
@@ -5341,17 +5281,17 @@ void* virtual_alloc_commit_for_heap(void* addr, size_t size, uint32_t type,
{
uint32_t numa_node = heap_select::find_numa_node_from_heap_no(h_number);
void * ret = NumaNodeInfo::VirtualAllocExNuma(GetCurrentProcess(), addr, size,
- type, prot, numa_node);
+ MEM_COMMIT, PAGE_READWRITE, numa_node);
if (ret != NULL)
- return ret;
+ return true;
}
}
#else
UNREFERENCED_PARAMETER(h_number);
#endif
- //numa aware not enabled, or call failed --> fallback to VirtualAlloc()
- return VirtualAlloc(addr, size, type, prot);
+ //numa aware not enabled, or call failed --> fallback to VirtualCommit()
+ return GCToOSInterface::VirtualCommit(addr, size);
}
#ifndef SEG_MAPPING_TABLE
@@ -5972,7 +5912,7 @@ bool gc_heap::new_allocation_allowed (int gen_number)
if ((allocation_running_amount - dd_new_allocation (dd0)) >
dd_min_gc_size (dd0))
{
- uint32_t ctime = GetTickCount();
+ uint32_t ctime = GCToOSInterface::GetLowPrecisionTimeStamp();
if ((ctime - allocation_running_time) > 1000)
{
dprintf (2, (">1s since last gen0 gc"));
@@ -6558,21 +6498,22 @@ class card_table_info
{
public:
unsigned recount;
- uint8_t* lowest_address;
- uint8_t* highest_address;
+ uint8_t* lowest_address;
+ uint8_t* highest_address;
short* brick_table;
#ifdef CARD_BUNDLE
- uint32_t* card_bundle_table;
+ uint32_t* card_bundle_table;
#endif //CARD_BUNDLE
// mark_array is always at the end of the data structure because we
// want to be able to make one commit call for everything before it.
#ifdef MARK_ARRAY
- uint32_t* mark_array;
+ uint32_t* mark_array;
#endif //MARK_ARRAY
- uint32_t* next_card_table;
+ size_t size;
+ uint32_t* next_card_table;
};
//These are accessors on untranslated cardtable
@@ -6718,7 +6659,7 @@ void gc_heap::mark_array_set_marked (uint8_t* add)
size_t index = mark_word_of (add);
uint32_t val = (1 << mark_bit_bit_of (add));
#ifdef MULTIPLE_HEAPS
- InterlockedOr ((LONG*)&(mark_array [index]), val);
+ Interlocked::Or (&(mark_array [index]), val);
#else
mark_array [index] |= val;
#endif
@@ -6829,6 +6770,12 @@ uint32_t*& card_table_next (uint32_t* c_table)
return ((card_table_info*)((uint8_t*)c_table - sizeof (card_table_info)))->next_card_table;
}
+inline
+size_t& card_table_size (uint32_t* c_table)
+{
+ return ((card_table_info*)((uint8_t*)c_table - sizeof (card_table_info)))->size;
+}
+
void own_card_table (uint32_t* c_table)
{
card_table_refcount (c_table) += 1;
@@ -6880,7 +6827,8 @@ void release_card_table (uint32_t* c_table)
void destroy_card_table (uint32_t* c_table)
{
// delete (uint32_t*)&card_table_refcount(c_table);
- VirtualFree (&card_table_refcount(c_table), 0, MEM_RELEASE);
+
+ GCToOSInterface::VirtualRelease (&card_table_refcount(c_table), card_table_size(c_table));
dprintf (2, ("Table Virtual Free : %Ix", (size_t)&card_table_refcount(c_table)));
}
@@ -6889,7 +6837,7 @@ uint32_t* gc_heap::make_card_table (uint8_t* start, uint8_t* end)
assert (g_lowest_address == start);
assert (g_highest_address == end);
- uint32_t mem_flags = MEM_RESERVE;
+ uint32_t virtual_reserve_flags = VirtualReserveFlags::None;
size_t bs = size_brick_of (start, end);
size_t cs = size_card_of (start, end);
@@ -6906,7 +6854,7 @@ uint32_t* gc_heap::make_card_table (uint8_t* start, uint8_t* end)
#ifdef CARD_BUNDLE
if (can_use_write_watch())
{
- mem_flags |= MEM_WRITE_WATCH;
+ virtual_reserve_flags |= VirtualReserveFlags::WriteWatch;
cb = size_card_bundle_of (g_lowest_address, g_highest_address);
}
#endif //CARD_BUNDLE
@@ -6922,8 +6870,7 @@ uint32_t* gc_heap::make_card_table (uint8_t* start, uint8_t* end)
size_t alloc_size = sizeof (uint8_t)*(bs + cs + cb + ms + st + sizeof (card_table_info));
size_t alloc_size_aligned = Align (alloc_size, g_SystemInfo.dwAllocationGranularity-1);
- uint32_t* ct = (uint32_t*)VirtualAlloc (0, alloc_size_aligned,
- mem_flags, PAGE_READWRITE);
+ uint32_t* ct = (uint32_t*)GCToOSInterface::VirtualReserve (0, alloc_size_aligned, 0, virtual_reserve_flags);
if (!ct)
return 0;
@@ -6933,11 +6880,11 @@ uint32_t* gc_heap::make_card_table (uint8_t* start, uint8_t* end)
// mark array will be committed separately (per segment).
size_t commit_size = alloc_size - ms;
-
- if (!VirtualAlloc ((uint8_t*)ct, commit_size, MEM_COMMIT, PAGE_READWRITE))
+
+ if (!GCToOSInterface::VirtualCommit ((uint8_t*)ct, commit_size))
{
- dprintf (2, ("Table commit failed: %d", GetLastError()));
- VirtualFree ((uint8_t*)ct, 0, MEM_RELEASE);
+ dprintf (2, ("Table commit failed"));
+ GCToOSInterface::VirtualRelease ((uint8_t*)ct, alloc_size_aligned);
return 0;
}
@@ -6947,6 +6894,7 @@ uint32_t* gc_heap::make_card_table (uint8_t* start, uint8_t* end)
card_table_lowest_address (ct) = start;
card_table_highest_address (ct) = end;
card_table_brick_table (ct) = (short*)((uint8_t*)ct + cs);
+ card_table_size (ct) = alloc_size_aligned;
card_table_next (ct) = 0;
#ifdef CARD_BUNDLE
@@ -7012,7 +6960,7 @@ int gc_heap::grow_brick_card_tables (uint8_t* start,
//modify the higest address so the span covered
//is twice the previous one.
GCMemoryStatus st;
- GetProcessMemoryLoad (&st);
+ GCToOSInterface::GetMemoryStatus (&st);
uint8_t* top = (uint8_t*)0 + Align ((size_t)(st.ullTotalVirtual));
// On non-Windows systems, we get only an approximate ullTotalVirtual
// value that can possibly be slightly lower than the saved_g_highest_address.
@@ -7052,7 +7000,7 @@ int gc_heap::grow_brick_card_tables (uint8_t* start,
(size_t)saved_g_lowest_address,
(size_t)saved_g_highest_address));
- uint32_t mem_flags = MEM_RESERVE;
+ uint32_t virtual_reserve_flags = VirtualReserveFlags::None;
uint32_t* saved_g_card_table = g_card_table;
uint32_t* ct = 0;
short* bt = 0;
@@ -7073,7 +7021,7 @@ int gc_heap::grow_brick_card_tables (uint8_t* start,
#ifdef CARD_BUNDLE
if (can_use_write_watch())
{
- mem_flags |= MEM_WRITE_WATCH;
+ virtual_reserve_flags = VirtualReserveFlags::WriteWatch;
cb = size_card_bundle_of (saved_g_lowest_address, saved_g_highest_address);
}
#endif //CARD_BUNDLE
@@ -7091,7 +7039,7 @@ int gc_heap::grow_brick_card_tables (uint8_t* start,
dprintf (GC_TABLE_LOG, ("brick table: %Id; card table: %Id; mark array: %Id, card bundle: %Id, seg table: %Id",
bs, cs, ms, cb, st));
- uint8_t* mem = (uint8_t*)VirtualAlloc (0, alloc_size_aligned, mem_flags, PAGE_READWRITE);
+ uint8_t* mem = (uint8_t*)GCToOSInterface::VirtualReserve (0, alloc_size_aligned, 0, virtual_reserve_flags);
if (!mem)
{
@@ -7106,7 +7054,7 @@ int gc_heap::grow_brick_card_tables (uint8_t* start,
// mark array will be committed separately (per segment).
size_t commit_size = alloc_size - ms;
- if (!VirtualAlloc (mem, commit_size, MEM_COMMIT, PAGE_READWRITE))
+ if (!GCToOSInterface::VirtualCommit (mem, commit_size))
{
dprintf (GC_TABLE_LOG, ("Table commit failed"));
set_fgm_result (fgm_commit_table, commit_size, loh_p);
@@ -7205,7 +7153,7 @@ int gc_heap::grow_brick_card_tables (uint8_t* start,
// with address that it does not cover. Write barriers access card table
// without memory barriers for performance reasons, so we need to flush
// the store buffers here.
- FlushProcessWriteBuffers();
+ GCToOSInterface::FlushProcessWriteBuffers();
g_lowest_address = saved_g_lowest_address;
VolatileStore(&g_highest_address, saved_g_highest_address);
@@ -7223,9 +7171,9 @@ fail:
}
//delete (uint32_t*)((uint8_t*)ct - sizeof(card_table_info));
- if (!VirtualFree (mem, 0, MEM_RELEASE))
+ if (!GCToOSInterface::VirtualRelease (mem, alloc_size_aligned))
{
- dprintf (GC_TABLE_LOG, ("VirtualFree failed: %d", GetLastError()));
+ dprintf (GC_TABLE_LOG, ("GCToOSInterface::VirtualRelease failed"));
assert (!"release failed");
}
}
@@ -8950,12 +8898,10 @@ int gc_heap::object_gennum_plan (uint8_t* o)
heap_segment* gc_heap::make_heap_segment (uint8_t* new_pages, size_t size, int h_number)
{
- void * res;
size_t initial_commit = SEGMENT_INITIAL_COMMIT;
//Commit the first page
- if ((res = virtual_alloc_commit_for_heap (new_pages, initial_commit,
- MEM_COMMIT, PAGE_READWRITE, h_number)) == 0)
+ if (!virtual_alloc_commit_for_heap (new_pages, initial_commit, h_number))
{
return 0;
}
@@ -9062,7 +9008,7 @@ void gc_heap::reset_heap_segment_pages (heap_segment* seg)
size_t page_start = align_on_page ((size_t)heap_segment_allocated (seg));
size_t size = (size_t)heap_segment_committed (seg) - page_start;
if (size != 0)
- VirtualAlloc ((char*)page_start, size, MEM_RESET, PAGE_READWRITE);
+ GCToOSInterface::VirtualReset((void*)page_start, size, false /* unlock */);
#endif //!FEATURE_PAL
}
@@ -9077,7 +9023,7 @@ void gc_heap::decommit_heap_segment_pages (heap_segment* seg,
page_start += max(extra_space, 32*OS_PAGE_SIZE);
size -= max (extra_space, 32*OS_PAGE_SIZE);
- VirtualFree (page_start, size, MEM_DECOMMIT);
+ GCToOSInterface::VirtualDecommit (page_start, size);
dprintf (3, ("Decommitting heap segment [%Ix, %Ix[(%d)",
(size_t)page_start,
(size_t)(page_start + size),
@@ -9102,7 +9048,7 @@ void gc_heap::decommit_heap_segment (heap_segment* seg)
#endif //BACKGROUND_GC
size_t size = heap_segment_committed (seg) - page_start;
- VirtualFree (page_start, size, MEM_DECOMMIT);
+ GCToOSInterface::VirtualDecommit (page_start, size);
//re-init the segment object
heap_segment_committed (seg) = page_start;
@@ -9239,7 +9185,6 @@ void gc_heap::update_card_table_bundle()
uint8_t* base_address = (uint8_t*)(&card_table[card_word (card_of (lowest_address))]);
uint8_t* saved_base_address = base_address;
uintptr_t bcount = array_size;
- uint32_t granularity = 0;
uint8_t* high_address = (uint8_t*)(&card_table[card_word (card_of (highest_address))]);
size_t saved_region_size = align_on_page (high_address) - saved_base_address;
@@ -9247,16 +9192,15 @@ void gc_heap::update_card_table_bundle()
{
size_t region_size = align_on_page (high_address) - base_address;
dprintf (3,("Probing card table pages [%Ix, %Ix[", (size_t)base_address, (size_t)base_address+region_size));
- uint32_t status = GetWriteWatch (0, base_address, region_size,
- (void**)g_addresses,
- (ULONG_PTR*)&bcount, (DWORD*)&granularity);
- assert (status == 0);
- assert (granularity == OS_PAGE_SIZE);
+ bool success = GCToOSInterface::GetWriteWatch (false /* resetState */ , base_address, region_size,
+ (void**)g_addresses,
+ &bcount);
+ assert (success);
dprintf (3,("Found %d pages written", bcount));
for (unsigned i = 0; i < bcount; i++)
{
size_t bcardw = (uint32_t*)(max(g_addresses[i],base_address)) - &card_table[0];
- size_t ecardw = (uint32_t*)(min(g_addresses[i]+granularity, high_address)) - &card_table[0];
+ size_t ecardw = (uint32_t*)(min(g_addresses[i]+OS_PAGE_SIZE, high_address)) - &card_table[0];
assert (bcardw >= card_word (card_of (g_lowest_address)));
card_bundles_set (cardw_card_bundle (bcardw),
@@ -9283,7 +9227,7 @@ void gc_heap::update_card_table_bundle()
}
} while ((bcount >= array_size) && (base_address < high_address));
- ResetWriteWatch (saved_base_address, saved_region_size);
+ GCToOSInterface::ResetWriteWatch (saved_base_address, saved_region_size);
#ifdef _DEBUG
@@ -9328,7 +9272,7 @@ void gc_heap::switch_one_quantum()
{
Thread* current_thread = GetThread();
enable_preemptive (current_thread);
- __SwitchToThread (1, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::Sleep (1);
disable_preemptive (current_thread, TRUE);
}
@@ -9344,7 +9288,7 @@ void gc_heap::reset_ww_by_chunk (uint8_t* start_address, size_t total_reset_size
next_reset_size = ((remaining_reset_size >= ww_reset_quantum) ? ww_reset_quantum : remaining_reset_size);
if (next_reset_size)
{
- ResetWriteWatch (start_address, next_reset_size);
+ GCToOSInterface::ResetWriteWatch (start_address, next_reset_size);
reset_size += next_reset_size;
switch_one_quantum();
@@ -9354,7 +9298,7 @@ void gc_heap::reset_ww_by_chunk (uint8_t* start_address, size_t total_reset_size
assert (reset_size == total_reset_size);
}
-// This does a __SwitchToThread for every reset ww_reset_quantum bytes of reset
+// This does a Sleep(1) for every reset ww_reset_quantum bytes of reset
// we do concurrently.
void gc_heap::switch_on_reset (BOOL concurrent_p, size_t* current_total_reset_size, size_t last_reset_size)
{
@@ -9413,7 +9357,7 @@ void gc_heap::reset_write_watch (BOOL concurrent_p)
#endif //TIME_WRITE_WATCH
dprintf (3, ("h%d: soh ww: [%Ix(%Id)", heap_number, (size_t)base_address, region_size));
//reset_ww_by_chunk (base_address, region_size);
- ResetWriteWatch (base_address, region_size);
+ GCToOSInterface::ResetWriteWatch (base_address, region_size);
#ifdef TIME_WRITE_WATCH
unsigned int time_stop = GetCycleCount32();
@@ -9456,7 +9400,7 @@ void gc_heap::reset_write_watch (BOOL concurrent_p)
#endif //TIME_WRITE_WATCH
dprintf (3, ("h%d: loh ww: [%Ix(%Id)", heap_number, (size_t)base_address, region_size));
//reset_ww_by_chunk (base_address, region_size);
- ResetWriteWatch (base_address, region_size);
+ GCToOSInterface::ResetWriteWatch (base_address, region_size);
#ifdef TIME_WRITE_WATCH
unsigned int time_stop = GetCycleCount32();
@@ -9560,45 +9504,28 @@ void gc_heap::adjust_ephemeral_limits ()
}
#if defined(TRACE_GC) || defined(GC_CONFIG_DRIVEN)
-HANDLE CreateLogFile(const CLRConfig::ConfigStringInfo & info, BOOL is_config)
+FILE* CreateLogFile(const CLRConfig::ConfigStringInfo & info, BOOL is_config)
{
+ FILE* logFile;
LPWSTR temp_logfile_name = NULL;
CLRConfig::GetConfigValue(info, &temp_logfile_name);
-#ifdef FEATURE_REDHAWK
- UNREFERENCED_PARAMETER(is_config);
- return PalCreateFileW(
- temp_logfile_name,
- GENERIC_WRITE,
- FILE_SHARE_READ,
- NULL,
- CREATE_ALWAYS,
- FILE_ATTRIBUTE_NORMAL,
- NULL);
-#else // FEATURE_REDHAWK
- char logfile_name[MAX_PATH+1];
+ WCHAR logfile_name[MAX_LONGPATH+1];
if (temp_logfile_name != 0)
{
- int ret;
- ret = WszWideCharToMultiByte(CP_ACP, 0, temp_logfile_name, -1, logfile_name, sizeof(logfile_name)-1, NULL, NULL);
- _ASSERTE(ret != 0);
- delete temp_logfile_name;
- }
-
- char szPid[20];
- sprintf_s(szPid, _countof(szPid), ".%d", GetCurrentProcessId());
- strcat_s(logfile_name, _countof(logfile_name), szPid);
- strcat_s(logfile_name, _countof(logfile_name), (is_config ? ".config.log" : ".log"));
-
- return CreateFileA(
- logfile_name,
- GENERIC_WRITE,
- FILE_SHARE_READ,
- NULL,
- CREATE_ALWAYS,
- FILE_ATTRIBUTE_NORMAL,
- NULL);
-#endif //FEATURE_REDHAWK
+ wcscpy(logfile_name, temp_logfile_name);
+ }
+
+ size_t logfile_name_len = wcslen(logfile_name);
+ WCHAR* szPid = logfile_name + logfile_name_len;
+ size_t remaining_space = MAX_LONGPATH + 1 - logfile_name_len;
+ swprintf_s(szPid, remaining_space, W(".%d%s"), GCToOSInterface::GetCurrentProcessId(), (is_config ? W(".config.log") : W(".log")));
+
+ logFile = GCToOSInterface::OpenFile(logfile_name, W("wb"));
+
+ delete temp_logfile_name;
+
+ return logFile;
}
#endif //TRACE_GC || GC_CONFIG_DRIVEN
@@ -9615,7 +9542,7 @@ HRESULT gc_heap::initialize_gc (size_t segment_size,
{
gc_log = CreateLogFile(CLRConfig::UNSUPPORTED_GCLogFile, FALSE);
- if (gc_log == INVALID_HANDLE_VALUE)
+ if (gc_log == NULL)
return E_FAIL;
// GCLogFileSize in MBs.
@@ -9623,15 +9550,15 @@ HRESULT gc_heap::initialize_gc (size_t segment_size,
if (gc_log_file_size > 500)
{
- CloseHandle (gc_log);
+ fclose (gc_log);
return E_FAIL;
}
- gc_log_lock = ClrCreateMutex(NULL, FALSE, NULL);
+ gc_log_lock.Initialize();
gc_log_buffer = new (nothrow) uint8_t [gc_log_buffer_size];
if (!gc_log_buffer)
{
- CloseHandle(gc_log);
+ fclose(gc_log);
return E_FAIL;
}
@@ -9647,13 +9574,13 @@ HRESULT gc_heap::initialize_gc (size_t segment_size,
{
gc_config_log = CreateLogFile(CLRConfig::UNSUPPORTED_GCConfigLogFile, TRUE);
- if (gc_config_log == INVALID_HANDLE_VALUE)
+ if (gc_config_log == NULL)
return E_FAIL;
gc_config_log_buffer = new (nothrow) uint8_t [gc_config_log_buffer_size];
if (!gc_config_log_buffer)
{
- CloseHandle(gc_config_log);
+ fclose(gc_config_log);
return E_FAIL;
}
@@ -9687,7 +9614,7 @@ HRESULT gc_heap::initialize_gc (size_t segment_size,
GCStatistics::logFileName = CLRConfig::GetConfigValue(CLRConfig::UNSUPPORTED_GCMixLog);
if (GCStatistics::logFileName != NULL)
{
- GCStatistics::logFile = _wfopen((LPCWSTR)GCStatistics::logFileName, W("a"));
+ GCStatistics::logFile = GCToOSInterface::OpenFile((LPCWSTR)GCStatistics::logFileName, W("a"));
}
#endif // GC_STATS
@@ -9700,7 +9627,7 @@ HRESULT gc_heap::initialize_gc (size_t segment_size,
if (can_use_write_watch () && g_pConfig->GetGCconcurrent()!=0)
{
gc_can_use_concurrent = true;
- mem_reserve = MEM_WRITE_WATCH | MEM_RESERVE;
+ virtual_alloc_write_watch = true;
}
else
{
@@ -9777,10 +9704,6 @@ HRESULT gc_heap::initialize_gc (size_t segment_size,
return E_OUTOFMEMORY;
#endif //MH_SC_MARK
- g_gc_threads = new (nothrow) HANDLE [number_of_heaps];
- if (!g_gc_threads)
- return E_OUTOFMEMORY;
-
if (!create_thread_support (number_of_heaps))
return E_OUTOFMEMORY;
@@ -10053,7 +9976,7 @@ gc_heap::enter_gc_done_event_lock()
uint32_t dwSwitchCount = 0;
retry:
- if (FastInterlockExchange ((LONG*)&gc_done_event_lock, 0) >= 0)
+ if (Interlocked::Exchange (&gc_done_event_lock, 0) >= 0)
{
while (gc_done_event_lock >= 0)
{
@@ -10067,10 +9990,10 @@ retry:
YieldProcessor(); // indicate to the processor that we are spining
}
if (gc_done_event_lock >= 0)
- __SwitchToThread(0, ++dwSwitchCount);
+ GCToOSInterface::YieldThread(++dwSwitchCount);
}
else
- __SwitchToThread(0, ++dwSwitchCount);
+ GCToOSInterface::YieldThread(++dwSwitchCount);
}
goto retry;
}
@@ -10105,7 +10028,7 @@ void gc_heap::add_saved_spinlock_info (
current->enter_state = enter_state;
current->take_state = take_state;
- current->thread_id = GetCurrentThreadId();
+ current->thread_id.SetToCurrentThread();
spinlock_info_index++;
@@ -10388,8 +10311,7 @@ gc_heap::init_gc_heap (int h_number)
#ifdef MULTIPLE_HEAPS
//register the heap in the heaps array
- g_gc_threads [heap_number] = create_gc_thread ();
- if (!g_gc_threads [heap_number])
+ if (!create_gc_thread ())
return 0;
g_heaps [heap_number] = this;
@@ -10439,7 +10361,7 @@ gc_heap::init_gc_heap (int h_number)
#endif // MULTIPLE_HEAPS
#ifdef BACKGROUND_GC
- bgc_thread_id = 0;
+ bgc_thread_id.Clear();
if (!create_bgc_thread_support())
{
@@ -10462,7 +10384,7 @@ gc_heap::init_gc_heap (int h_number)
bgc_thread_running = 0;
bgc_thread = 0;
- InitializeCriticalSection (&bgc_threads_timeout_cs);
+ bgc_threads_timeout_cs.Initialize();
expanded_in_fgc = 0;
current_bgc_state = bgc_not_in_process;
background_soh_alloc_count = 0;
@@ -10570,17 +10492,14 @@ void gc_heap::shutdown_gc()
#ifdef MULTIPLE_HEAPS
//delete the heaps array
delete g_heaps;
- for (int i = 0; i < n_heaps; i++)
- {
- CloseHandle (g_gc_threads [i]);
- }
- delete g_gc_threads;
destroy_thread_support();
n_heaps = 0;
#endif //MULTIPLE_HEAPS
//destroy seg_manager
destroy_initial_memory();
+
+ GCToOSInterface::Shutdown();
}
inline
@@ -10667,8 +10586,7 @@ BOOL gc_heap::grow_heap_segment (heap_segment* seg, uint8_t* high_address)
dprintf(3, ("Growing segment allocation %Ix %Ix", (size_t)heap_segment_committed(seg),c_size));
- if (!virtual_alloc_commit_for_heap(heap_segment_committed (seg), c_size,
- MEM_COMMIT, PAGE_READWRITE, heap_number))
+ if (!virtual_alloc_commit_for_heap(heap_segment_committed (seg), c_size, heap_number))
{
dprintf(3, ("Cannot grow heap segment"));
return FALSE;
@@ -11319,7 +11237,7 @@ void gc_heap::handle_oom (int heap_num, oom_reason reason, size_t alloc_size,
// could have allocated on the same heap when OOM happened.
if (g_pConfig->IsGCBreakOnOOMEnabled())
{
- DebugBreak();
+ GCToOSInterface::DebugBreak();
}
}
@@ -11999,7 +11917,7 @@ void gc_heap::wait_for_bgc_high_memory (alloc_wait_reason awr)
{
GCMemoryStatus ms;
memset (&ms, 0, sizeof(ms));
- GetProcessMemoryLoad(&ms);
+ GCToOSInterface::GetMemoryStatus(&ms);
if (ms.dwMemoryLoad >= 95)
{
dprintf (GTC_LOG, ("high mem - wait for BGC to finish, wait reason: %d", awr));
@@ -12089,7 +12007,7 @@ BOOL gc_heap::allocate_small (int gen_number,
dprintf (SPINLOCK_LOG, ("[%d]spin Lmsl", heap_number));
leave_spin_lock (&more_space_lock);
BOOL cooperative_mode = enable_preemptive (current_thread);
- __SwitchToThread (bgc_alloc_spin, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::Sleep (bgc_alloc_spin);
disable_preemptive (current_thread, cooperative_mode);
enter_spin_lock (&more_space_lock);
add_saved_spinlock_info (me_acquire, mt_alloc_small);
@@ -12097,7 +12015,7 @@ BOOL gc_heap::allocate_small (int gen_number,
}
else
{
- //__SwitchToThread (0, CALLER_LIMITS_SPINNING);
+ //GCToOSInterface::YieldThread (0);
}
}
#endif //BACKGROUND_GC && !MULTIPLE_HEAPS
@@ -12577,7 +12495,7 @@ exit:
}
#ifdef RECORD_LOH_STATE
-void gc_heap::add_saved_loh_state (allocation_state loh_state_to_save, uint32_t thread_id)
+void gc_heap::add_saved_loh_state (allocation_state loh_state_to_save, EEThreadId thread_id)
{
// When the state is can_allocate we already have released the more
// space lock. So we are not logging states here since this code
@@ -12618,7 +12536,7 @@ BOOL gc_heap::allocate_large (int gen_number,
dprintf (SPINLOCK_LOG, ("[%d]spin Lmsl loh", heap_number));
leave_spin_lock (&more_space_lock);
BOOL cooperative_mode = enable_preemptive (current_thread);
- __SwitchToThread (bgc_alloc_spin_loh, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::YieldThread (bgc_alloc_spin_loh);
disable_preemptive (current_thread, cooperative_mode);
enter_spin_lock (&more_space_lock);
add_saved_spinlock_info (me_acquire, mt_alloc_large);
@@ -12642,7 +12560,8 @@ BOOL gc_heap::allocate_large (int gen_number,
// That's why there are local variable for each state
allocation_state loh_alloc_state = a_state_start;
#ifdef RECORD_LOH_STATE
- uint32_t current_thread_id = GetCurrentThreadId();
+ EEThreadId current_thread_id;
+ current_thread_id.SetToCurrentThread();
#endif //RECORD_LOH_STATE
// If we can get a new seg it means allocation will succeed.
@@ -13126,41 +13045,29 @@ try_again:
{
uint8_t group_proc_no = heap_select::find_group_proc_from_heap_no(max_hp->heap_number);
-#if !defined(FEATURE_CORESYSTEM)
- SetThreadIdealProcessor(GetCurrentThread(), (uint32_t)group_proc_no);
-#else
- PROCESSOR_NUMBER proc;
- proc.Group = org_gn;
- proc.Number = group_proc_no;
- proc.Reserved = 0;
-
- if(!SetThreadIdealProcessorEx(GetCurrentThread(), &proc, NULL))
+ GCThreadAffinity affinity;
+ affinity.Processor = group_proc_no;
+ affinity.Group = org_gn;
+ if (!GCToOSInterface::SetCurrentThreadIdealAffinity(&affinity))
{
dprintf (3, ("Failed to set the ideal processor and group for heap %d.",
org_hp->heap_number));
}
-#endif
}
}
else
{
uint8_t proc_no = heap_select::find_proc_no_from_heap_no(max_hp->heap_number);
-#if !defined(FEATURE_CORESYSTEM)
- SetThreadIdealProcessor(GetCurrentThread(), (uint32_t)proc_no);
-#else
- PROCESSOR_NUMBER proc;
- if(GetThreadIdealProcessorEx(GetCurrentThread(), &proc))
+ GCThreadAffinity affinity;
+ affinity.Processor = proc_no;
+ affinity.Group = GCThreadAffinity::None;
+
+ if (!GCToOSInterface::SetCurrentThreadIdealAffinity(&affinity))
{
- proc.Number = proc_no;
- BOOL result;
- if(!SetThreadIdealProcessorEx(GetCurrentThread(), &proc, NULL))
- {
- dprintf (3, ("Failed to set the ideal processor for heap %d.",
- org_hp->heap_number));
- }
+ dprintf (3, ("Failed to set the ideal processor for heap %d.",
+ org_hp->heap_number));
}
-#endif
}
#endif // !FEATURE_REDHAWK && !FEATURE_PAL
dprintf (3, ("Switching context %p (home heap %d) ",
@@ -14532,11 +14439,7 @@ int gc_heap::generation_to_condemn (int n_initial,
(local_settings->pause_mode == pause_sustained_low_latency))
{
dynamic_data* dd0 = dynamic_data_of (0);
- LARGE_INTEGER ts;
- if (!QueryPerformanceCounter(&ts))
- FATAL_GC_ERROR();
-
- size_t now = (size_t) (ts.QuadPart/(qpf.QuadPart/1000));
+ size_t now = GetHighPrecisionTimeStamp();
temp_gen = n;
for (i = (temp_gen+1); i <= n_time_max; i++)
{
@@ -14655,7 +14558,7 @@ int gc_heap::generation_to_condemn (int n_initial,
if (check_memory)
{
//find out if we are short on memory
- GetProcessMemoryLoad(&ms);
+ GCToOSInterface::GetMemoryStatus(&ms);
if (heap_number == 0)
{
dprintf (GTC_LOG, ("ml: %d", ms.dwMemoryLoad));
@@ -14955,7 +14858,7 @@ size_t gc_heap::min_reclaim_fragmentation_threshold (uint32_t num_heaps)
size_t min_mem_based_on_available =
(500 - (settings.entry_memory_load - high_memory_load_th) * 40) * 1024 * 1024 / num_heaps;
size_t ten_percent_size = (size_t)((float)generation_size (max_generation) * 0.10);
- ULONGLONG three_percent_mem = mem_one_percent * 3 / num_heaps;
+ uint64_t three_percent_mem = mem_one_percent * 3 / num_heaps;
#ifdef SIMPLE_DPRINTF
dprintf (GTC_LOG, ("min av: %Id, 10%% gen2: %Id, 3%% mem: %I64d",
@@ -15036,10 +14939,7 @@ void fire_overflow_event (uint8_t* overflow_min,
void gc_heap::concurrent_print_time_delta (const char* msg)
{
#ifdef TRACE_GC
- LARGE_INTEGER ts;
- QueryPerformanceCounter (&ts);
-
- size_t current_time = (size_t) (ts.QuadPart/(qpf.QuadPart/1000));
+ size_t current_time = GetHighPrecisionTimeStamp();
size_t elapsed_time = current_time - time_bgc_last;
time_bgc_last = current_time;
@@ -15113,7 +15013,7 @@ BOOL gc_heap::should_proceed_with_gc()
void gc_heap::gc1()
{
#ifdef BACKGROUND_GC
- assert (settings.concurrent == (uint32_t)(GetCurrentThreadId() == bgc_thread_id));
+ assert (settings.concurrent == (uint32_t)(bgc_thread_id.IsCurrentThread()));
#endif //BACKGROUND_GC
#ifdef TIME_GC
@@ -15151,10 +15051,7 @@ void gc_heap::gc1()
if (settings.concurrent)
{
#ifdef TRACE_GC
- LARGE_INTEGER ts;
- QueryPerformanceCounter (&ts);
-
- time_bgc_last = (size_t)(ts.QuadPart/(qpf.QuadPart/1000));
+ time_bgc_last = GetHighPrecisionTimeStamp();
#endif //TRACE_GC
fire_bgc_event (BGCBegin);
@@ -15183,17 +15080,7 @@ void gc_heap::gc1()
}
}
- LARGE_INTEGER ts;
- if (!QueryPerformanceCounter(&ts))
- FATAL_GC_ERROR();
-
- size_t end_gc_time = (size_t) (ts.QuadPart/(qpf.QuadPart/1000));
-
-#ifdef GC_CONFIG_DRIVEN
- if (heap_number == 0)
- time_since_init = end_gc_time - time_init;
-#endif //GC_CONFIG_DRIVEN
-
+ size_t end_gc_time = GetHighPrecisionTimeStamp();
// printf ("generation: %d, elapsed time: %Id\n", n, end_gc_time - dd_time_clock (dynamic_data_of (0)));
//adjust the allocation size from the pinned quantities.
@@ -15393,7 +15280,7 @@ void gc_heap::gc1()
#endif //TIME_GC
#ifdef BACKGROUND_GC
- assert (settings.concurrent == (uint32_t)(GetCurrentThreadId() == bgc_thread_id));
+ assert (settings.concurrent == (uint32_t)(bgc_thread_id.IsCurrentThread()));
#endif //BACKGROUND_GC
#if defined(VERIFY_HEAP) || (defined (FEATURE_EVENT_TRACE) && defined(BACKGROUND_GC))
@@ -15443,7 +15330,7 @@ void gc_heap::gc1()
#endif //BACKGROUND_GC
#ifdef BACKGROUND_GC
- assert (settings.concurrent == (uint32_t)(GetCurrentThreadId() == bgc_thread_id));
+ assert (settings.concurrent == (uint32_t)(bgc_thread_id.IsCurrentThread()));
#ifdef FEATURE_EVENT_TRACE
if (ETW::GCLog::ShouldTrackMovementForEtw() && settings.concurrent)
{
@@ -15547,7 +15434,7 @@ void gc_heap::gc1()
size_t min_gc_size = dd_min_gc_size(dd);
// if min GC size larger than true on die cache, then don't bother
// limiting the desired size
- if ((min_gc_size <= GetLargestOnDieCacheSize(TRUE) / GetLogicalCpuCount()) &&
+ if ((min_gc_size <= GCToOSInterface::GetLargestOnDieCacheSize(TRUE) / GCToOSInterface::GetLogicalCpuCount()) &&
desired_per_heap <= 2*min_gc_size)
{
desired_per_heap = min_gc_size;
@@ -16063,11 +15950,7 @@ void gc_heap::update_collection_counts ()
dynamic_data* dd0 = dynamic_data_of (0);
dd_gc_clock (dd0) += 1;
- LARGE_INTEGER ts;
- if (!QueryPerformanceCounter (&ts))
- FATAL_GC_ERROR();
-
- size_t now = (size_t)(ts.QuadPart/(qpf.QuadPart/1000));
+ size_t now = GetHighPrecisionTimeStamp();
for (int i = 0; i <= settings.condemned_generation;i++)
{
@@ -16719,7 +16602,7 @@ int gc_heap::garbage_collect (int n)
gc1();
}
#ifndef MULTIPLE_HEAPS
- allocation_running_time = (size_t)GetTickCount();
+ allocation_running_time = (size_t)GCToOSInterface::GetLowPrecisionTimeStamp();
allocation_running_amount = dd_new_allocation (dynamic_data_of (0));
fgn_last_alloc = dd_new_allocation (dynamic_data_of (0));
#endif //MULTIPLE_HEAPS
@@ -17721,7 +17604,7 @@ gc_heap::mark_steal()
#ifdef SNOOP_STATS
dprintf (SNOOP_LOG, ("(GC%d)heap%d: start snooping %d", settings.gc_index, heap_number, (heap_number+1)%n_heaps));
- uint32_t begin_tick = GetTickCount();
+ uint32_t begin_tick = GCToOSInterface::GetLowPrecisionTimeStamp();
#endif //SNOOP_STATS
int idle_loop_count = 0;
@@ -17822,8 +17705,8 @@ gc_heap::mark_steal()
#ifdef SNOOP_STATS
dprintf (SNOOP_LOG, ("heap%d: marking %Ix from %d [%d] tl:%dms",
heap_number, (size_t)o, (heap_number+1)%n_heaps, level,
- (GetTickCount()-begin_tick)));
- uint32_t start_tick = GetTickCount();
+ (GCToOSInterface::GetLowPrecisionTimeStamp()-begin_tick)));
+ uint32_t start_tick = GCToOSInterface::GetLowPrecisionTimeStamp();
#endif //SNOOP_STATS
mark_object_simple1 (o, start, heap_number);
@@ -17831,7 +17714,7 @@ gc_heap::mark_steal()
#ifdef SNOOP_STATS
dprintf (SNOOP_LOG, ("heap%d: done marking %Ix from %d [%d] %dms tl:%dms",
heap_number, (size_t)o, (heap_number+1)%n_heaps, level,
- (GetTickCount()-start_tick),(GetTickCount()-begin_tick)));
+ (GCToOSInterface::GetLowPrecisionTimeStamp()-start_tick),(GCToOSInterface::GetLowPrecisionTimeStamp()-begin_tick)));
#endif //SNOOP_STATS
mark_stack_busy() = 0;
@@ -17872,7 +17755,7 @@ gc_heap::mark_steal()
#ifdef SNOOP_STATS
snoop_stat.switch_to_thread_count++;
#endif //SNOOP_STATS
- __SwitchToThread(1,0);
+ GCToOSInterface::Sleep(1);
}
int free_count = 1;
#ifdef SNOOP_STATS
@@ -17985,7 +17868,7 @@ gc_heap::ha_mark_object_simple (uint8_t** po THREAD_NUMBER_DCL)
size_t new_size = 2*internal_root_array_length;
GCMemoryStatus statex;
- GetProcessMemoryLoad(&statex);
+ GCToOSInterface::GetMemoryStatus(&statex);
if (new_size > (size_t)(statex.ullAvailPhys / 10))
{
heap_analyze_success = FALSE;
@@ -18510,11 +18393,10 @@ void gc_heap::fix_card_table ()
PREFIX_ASSUME(seg != NULL);
- uint32_t granularity;
#ifdef BACKGROUND_GC
- uint32_t mode = settings.concurrent ? 1 : 0;
+ bool reset_watch_state = !!settings.concurrent;
#else //BACKGROUND_GC
- uint32_t mode = 0;
+ bool reset_watch_state = false;
#endif //BACKGROUND_GC
BOOL small_object_segments = TRUE;
while (1)
@@ -18554,10 +18436,10 @@ void gc_heap::fix_card_table ()
#ifdef TIME_WRITE_WATCH
unsigned int time_start = GetCycleCount32();
#endif //TIME_WRITE_WATCH
- uint32_t status = GetWriteWatch (mode, base_address, region_size,
- (void**)g_addresses,
- (ULONG_PTR*)&bcount, (DWORD*)&granularity);
- assert (status == 0);
+ bool success = GCToOSInterface::GetWriteWatch(reset_watch_state, base_address, region_size,
+ (void**)g_addresses,
+ &bcount);
+ assert (success);
#ifdef TIME_WRITE_WATCH
unsigned int time_stop = GetCycleCount32();
@@ -18567,7 +18449,6 @@ void gc_heap::fix_card_table ()
#endif //TIME_WRITE_WATCH
assert( ((card_size * card_word_width)&(OS_PAGE_SIZE-1))==0 );
- assert (granularity == OS_PAGE_SIZE);
//printf ("%Ix written into\n", bcount);
dprintf (3,("Found %Id pages written", bcount));
for (unsigned i = 0; i < bcount; i++)
@@ -18595,7 +18476,7 @@ void gc_heap::fix_card_table ()
align_on_page (generation_allocation_start (generation_of (0)));
size_t region_size =
heap_segment_allocated (ephemeral_heap_segment) - base_address;
- ResetWriteWatch (base_address, region_size);
+ GCToOSInterface::ResetWriteWatch (base_address, region_size);
}
#endif //BACKGROUND_GC
#endif //WRITE_WATCH
@@ -21137,7 +21018,7 @@ void gc_heap::store_plug_gap_info (uint8_t* plug_start,
//if (last_plug_len == Align (min_obj_size))
//{
// dprintf (3, ("debugging only - last npinned plug is min, check to see if it's correct"));
- // DebugBreak();
+ // GCToOSInterface::DebugBreak();
//}
save_pre_plug_info_p = TRUE;
}
@@ -21170,7 +21051,7 @@ void gc_heap::store_plug_gap_info (uint8_t* plug_start,
//if (Align (last_plug_len) < min_pre_pin_obj_size)
//{
// dprintf (3, ("debugging only - last pinned plug is min, check to see if it's correct"));
- // DebugBreak();
+ // GCToOSInterface::DebugBreak();
//}
save_post_plug_info (last_pinned_plug, last_object_in_last_plug, plug_start);
@@ -23486,7 +23367,7 @@ void gc_heap::relocate_shortened_obj_helper (uint8_t* x, size_t s, uint8_t* end,
//{
// dprintf (3, ("obj %Ix needed padding: end %Ix is %d bytes from pinned obj %Ix",
// x, (x + s), (plug- (x + s)), plug));
- // DebugBreak();
+ // GCToOSInterface::DebugBreak();
//}
relocate_pre_plug_info (pinned_plug_entry);
@@ -24770,7 +24651,7 @@ inline int32_t GCUnhandledExceptionFilter(EXCEPTION_POINTERS* pExceptionPointers
#pragma warning(push)
#pragma warning(disable:4702) // C4702: unreachable code: gc_thread_function may not return
#endif //_MSC_VER
-uint32_t __stdcall gc_heap::gc_thread_stub (void* arg)
+void __stdcall gc_heap::gc_thread_stub (void* arg)
{
ClrFlsSetThreadType (ThreadType_GC);
STRESS_LOG_RESERVE_MEM (GC_STRESSLOG_MULTIPLY);
@@ -24783,7 +24664,7 @@ uint32_t __stdcall gc_heap::gc_thread_stub (void* arg)
{
#ifdef BACKGROUND_GC
// For background GC we revert to doing a blocking GC.
- return 0;
+ return;
#else
STRESS_LOG0(LF_GC, LL_ALWAYS, "Thread::CommitThreadStack failed.");
_ASSERTE(!"Thread::CommitThreadStack failed.");
@@ -24797,7 +24678,7 @@ uint32_t __stdcall gc_heap::gc_thread_stub (void* arg)
#endif // NO_CATCH_HANDLERS
gc_heap* heap = (gc_heap*)arg;
_alloca (256*heap->heap_number);
- return heap->gc_thread_function();
+ heap->gc_thread_function();
#ifndef NO_CATCH_HANDLERS
}
@@ -25229,7 +25110,7 @@ BOOL gc_heap::commit_mark_array_by_range (uint8_t* begin, uint8_t* end, uint32_t
size));
#endif //SIMPLE_DPRINTF
- if (VirtualAlloc (commit_start, size, MEM_COMMIT, PAGE_READWRITE))
+ if (GCToOSInterface::VirtualCommit (commit_start, size))
{
// We can only verify the mark array is cleared from begin to end, the first and the last
// page aren't necessarily all cleared 'cause they could be used by other segments or
@@ -25474,10 +25355,10 @@ void gc_heap::decommit_mark_array_by_seg (heap_segment* seg)
if (decommit_start < decommit_end)
{
- if (!VirtualFree (decommit_start, size, MEM_DECOMMIT))
+ if (!GCToOSInterface::VirtualDecommit (decommit_start, size))
{
- dprintf (GC_TABLE_LOG, ("VirtualFree on %Ix for %Id bytes failed: %d",
- decommit_start, size, GetLastError()));
+ dprintf (GC_TABLE_LOG, ("GCToOSInterface::VirtualDecommit on %Ix for %Id bytes failed",
+ decommit_start, size));
assert (!"decommit failed");
}
}
@@ -25603,7 +25484,7 @@ void gc_heap::background_mark_phase ()
dont_restart_ee_p = FALSE;
restart_vm();
- __SwitchToThread (0, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::YieldThread (0);
#ifdef MULTIPLE_HEAPS
dprintf(3, ("Starting all gc threads for gc"));
bgc_t_join.restart();
@@ -26242,8 +26123,7 @@ void gc_heap::revisit_written_pages (BOOL concurrent_p, BOOL reset_only_p)
PREFIX_ASSUME(seg != NULL);
- uint32_t granularity;
- int mode = concurrent_p ? 1 : 0;
+ bool reset_watch_state = !!concurrent_p;
BOOL small_object_segments = TRUE;
int align_const = get_alignment_constant (small_object_segments);
@@ -26348,19 +26228,18 @@ void gc_heap::revisit_written_pages (BOOL concurrent_p, BOOL reset_only_p)
ptrdiff_t region_size = high_address - base_address;
dprintf (3, ("h%d: gw: [%Ix(%Id)", heap_number, (size_t)base_address, (size_t)region_size));
- uint32_t status = GetWriteWatch (mode, base_address, region_size,
- (void**)background_written_addresses,
- (ULONG_PTR*)&bcount, (DWORD*)&granularity);
+ bool success = GCToOSInterface::GetWriteWatch (reset_watch_state, base_address, region_size,
+ (void**)background_written_addresses,
+ &bcount);
//#ifdef _DEBUG
- if (status != 0)
+ if (!success)
{
printf ("GetWriteWatch Error ");
printf ("Probing pages [%Ix, %Ix[\n", (size_t)base_address, (size_t)high_address);
}
//#endif
- assert (status == 0);
- assert (granularity == OS_PAGE_SIZE);
+ assert (success);
if (bcount != 0)
{
@@ -26540,7 +26419,7 @@ BOOL gc_heap::prepare_bgc_thread(gc_heap* gh)
BOOL thread_created = FALSE;
dprintf (2, ("Preparing gc thread"));
- EnterCriticalSection (&(gh->bgc_threads_timeout_cs));
+ gh->bgc_threads_timeout_cs.Enter();
if (!(gh->bgc_thread_running))
{
dprintf (2, ("GC thread not runnning"));
@@ -26555,7 +26434,7 @@ BOOL gc_heap::prepare_bgc_thread(gc_heap* gh)
dprintf (3, ("GC thread already running"));
success = TRUE;
}
- LeaveCriticalSection (&(gh->bgc_threads_timeout_cs));
+ gh->bgc_threads_timeout_cs.Leave();
if(thread_created)
FireEtwGCCreateConcurrentThread_V1(GetClrInstanceId());
@@ -26581,7 +26460,7 @@ BOOL gc_heap::create_bgc_thread(gc_heap* gh)
// finished the event wait below.
rh_bgc_thread_ctx sContext;
- sContext.m_pRealStartRoutine = gh->bgc_thread_stub;
+ sContext.m_pRealStartRoutine = (PTHREAD_START_ROUTINE)gh->bgc_thread_stub;
sContext.m_pRealContext = gh;
if (!PalStartBackgroundGCThread(gh->rh_bgc_thread_stub, &sContext))
@@ -26833,7 +26712,7 @@ void gc_heap::kill_gc_thread()
background_gc_done_event.CloseEvent();
gc_lh_block_event.CloseEvent();
bgc_start_event.CloseEvent();
- DeleteCriticalSection (&bgc_threads_timeout_cs);
+ bgc_threads_timeout_cs.Destroy();
bgc_thread = 0;
recursive_gc_sync::shutdown();
}
@@ -26864,8 +26743,8 @@ uint32_t gc_heap::bgc_thread_function()
bgc_thread_running = TRUE;
Thread* current_thread = GetThread();
BOOL cooperative_mode = TRUE;
- bgc_thread_id = GetCurrentThreadId();
- dprintf (1, ("bgc_thread_id is set to %Ix", bgc_thread_id));
+ bgc_thread_id.SetToCurrentThread();
+ dprintf (1, ("bgc_thread_id is set to %Ix", GCToOSInterface::GetCurrentThreadIdForLogging()));
//this also indicates that the thread is ready.
background_gc_create_event.Set();
while (1)
@@ -26902,7 +26781,7 @@ uint32_t gc_heap::bgc_thread_function()
// Should join the bgc threads and terminate all of them
// at once.
dprintf (1, ("GC thread timeout"));
- EnterCriticalSection (&bgc_threads_timeout_cs);
+ bgc_threads_timeout_cs.Enter();
if (!keep_bgc_threads_p)
{
dprintf (2, ("GC thread exiting"));
@@ -26912,10 +26791,10 @@ uint32_t gc_heap::bgc_thread_function()
// assert if the lock count is not 0.
thread_to_destroy = bgc_thread;
bgc_thread = 0;
- bgc_thread_id = 0;
+ bgc_thread_id.Clear();
do_exit = TRUE;
}
- LeaveCriticalSection (&bgc_threads_timeout_cs);
+ bgc_threads_timeout_cs.Leave();
if (do_exit)
break;
else
@@ -29403,18 +29282,9 @@ generation* gc_heap::expand_heap (int condemned_generation,
bool gc_heap::init_dynamic_data()
{
- LARGE_INTEGER ts;
- if (!QueryPerformanceFrequency(&qpf))
- {
- FATAL_GC_ERROR();
- }
+ qpf = GCToOSInterface::QueryPerformanceFrequency();
- if (!QueryPerformanceCounter(&ts))
- {
- FATAL_GC_ERROR();
- }
-
- uint32_t now = (uint32_t)(ts.QuadPart/(qpf.QuadPart/1000));
+ uint32_t now = (uint32_t)GetHighPrecisionTimeStamp();
//clear some fields
for (int i = 0; i < max_generation+1; i++)
@@ -29536,17 +29406,6 @@ bool gc_heap::init_dynamic_data()
return true;
}
-// This returns a time stamp in milliseconds that is used throughout GC.
-// TODO: Replace all calls to QueryPerformanceCounter with this function.
-size_t gc_heap::get_time_now()
-{
- LARGE_INTEGER ts;
- if (!QueryPerformanceCounter(&ts))
- FATAL_GC_ERROR();
-
- return (size_t)(ts.QuadPart/(qpf.QuadPart/1000));
-}
-
float gc_heap::surv_to_growth (float cst, float limit, float max_limit)
{
if (cst < ((max_limit - limit ) / (limit * (max_limit-1.0f))))
@@ -29643,7 +29502,7 @@ size_t gc_heap::desired_new_allocation (dynamic_data* dd,
else //large object heap
{
GCMemoryStatus ms;
- GetProcessMemoryLoad (&ms);
+ GCToOSInterface::GetMemoryStatus (&ms);
uint64_t available_ram = ms.ullAvailPhys;
if (ms.ullAvailPhys > 1024*1024)
@@ -29879,7 +29738,7 @@ size_t gc_heap::joined_youngest_desired (size_t new_allocation)
{
uint32_t dwMemoryLoad = 0;
GCMemoryStatus ms;
- GetProcessMemoryLoad(&ms);
+ GCToOSInterface::GetMemoryStatus(&ms);
dprintf (2, ("Current memory load: %d", ms.dwMemoryLoad));
dwMemoryLoad = ms.dwMemoryLoad;
@@ -30573,7 +30432,7 @@ CObjectHeader* gc_heap::allocate_large_object (size_t jsize, int64_t& alloc_byte
{
if (g_pConfig->IsGCBreakOnOOMEnabled())
{
- DebugBreak();
+ GCToOSInterface::DebugBreak();
}
#ifndef FEATURE_REDHAWK
@@ -30666,10 +30525,7 @@ void reset_memory (uint8_t* o, size_t sizeo)
// on write watched memory.
if (reset_mm_p)
{
- if (VirtualAlloc ((char*)page_start, size, MEM_RESET, PAGE_READWRITE))
- VirtualUnlock ((char*)page_start, size);
- else
- reset_mm_p = FALSE;
+ reset_mm_p = GCToOSInterface::VirtualReset((void*)page_start, size, true /* unlock */);
}
}
#endif //!FEATURE_PAL
@@ -32524,11 +32380,7 @@ void gc_heap::clear_all_mark_array()
{
#ifdef MARK_ARRAY
//size_t num_dwords_written = 0;
- //LARGE_INTEGER ts;
- //if (!QueryPerformanceCounter(&ts))
- // FATAL_GC_ERROR();
- //
- //size_t begin_time = (size_t) (ts.QuadPart/(qpf.QuadPart/1000));
+ //size_t begin_time = GetHighPrecisionTimeStamp();
generation* gen = generation_of (max_generation);
heap_segment* seg = heap_segment_rw (generation_start_segment (gen));
@@ -32589,10 +32441,7 @@ void gc_heap::clear_all_mark_array()
seg = heap_segment_next_rw (seg);
}
- //if (!QueryPerformanceCounter(&ts))
- // FATAL_GC_ERROR();
- //
- //size_t end_time = (size_t) (ts.QuadPart/(qpf.QuadPart/1000)) - begin_time;
+ //size_t end_time = GetHighPrecisionTimeStamp() - begin_time;
//printf ("took %Id ms to clear %Id bytes\n", end_time, num_dwords_written*sizeof(uint32_t));
@@ -32932,7 +32781,7 @@ gc_heap::verify_heap (BOOL begin_gc_p)
#ifdef MULTIPLE_HEAPS
t_join* current_join = &gc_t_join;
#ifdef BACKGROUND_GC
- if (settings.concurrent && (GetCurrentThreadId() == bgc_thread_id))
+ if (settings.concurrent && (bgc_thread_id.IsCurrentThread()))
{
// We always call verify_heap on entry of GC on the SVR GC threads.
current_join = &bgc_t_join;
@@ -33559,6 +33408,11 @@ HRESULT GCHeap::Initialize ()
HRESULT hr = S_OK;
+ if (!GCToOSInterface::Initialize())
+ {
+ return E_FAIL;
+ }
+
//Initialize the static members.
#ifdef TRACE_GC
GcDuration = 0;
@@ -33572,7 +33426,7 @@ HRESULT GCHeap::Initialize ()
#ifdef MULTIPLE_HEAPS
// GetGCProcessCpuCount only returns up to 64 procs.
unsigned nhp = CPUGroupInfo::CanEnableGCCPUGroups() ? CPUGroupInfo::GetNumActiveProcessors():
- GetCurrentProcessCpuCount();
+ GCToOSInterface::GetCurrentProcessCpuCount();
hr = gc_heap::initialize_gc (seg_size, large_seg_size /*LHEAP_ALLOC*/, nhp);
#else
hr = gc_heap::initialize_gc (seg_size, large_seg_size /*LHEAP_ALLOC*/);
@@ -33582,7 +33436,7 @@ HRESULT GCHeap::Initialize ()
return hr;
GCMemoryStatus ms;
- GetProcessMemoryLoad (&ms);
+ GCToOSInterface::GetMemoryStatus (&ms);
gc_heap::total_physical_mem = ms.ullTotalPhys;
gc_heap::mem_one_percent = gc_heap::total_physical_mem / 100;
#ifndef MULTIPLE_HEAPS
@@ -33596,7 +33450,7 @@ HRESULT GCHeap::Initialize ()
// I am assuming 47 processes using WKS GC and 3 using SVR GC.
// I am assuming 3 in part due to the "very high memory load" is 97%.
int available_mem_th = 10;
- if (gc_heap::total_physical_mem >= ((ULONGLONG)80 * 1024 * 1024 * 1024))
+ if (gc_heap::total_physical_mem >= ((uint64_t)80 * 1024 * 1024 * 1024))
{
int adjusted_available_mem_th = 3 + (int)((float)47 / (float)(g_SystemInfo.dwNumberOfProcessors));
available_mem_th = min (available_mem_th, adjusted_available_mem_th);
@@ -34056,7 +33910,7 @@ BOOL GCHeap::StressHeap(alloc_context * acontext)
// Allow programmer to skip the first N Stress GCs so that you can
// get to the interesting ones faster.
- FastInterlockIncrement((LONG*)&GCStressCurCount);
+ Interlocked::Increment(&GCStressCurCount);
if (GCStressCurCount < GCStressStartCount)
return FALSE;
@@ -34102,7 +33956,7 @@ BOOL GCHeap::StressHeap(alloc_context * acontext)
// at a time. A secondary advantage is that we release part of our StressObjs
// buffer sparingly but just as effectively.
- if (FastInterlockIncrement((LONG *) &OneAtATime) == 0 &&
+ if (Interlocked::Increment(&OneAtATime) == 0 &&
!TrackAllocations()) // Messing with object sizes can confuse the profiler (see ICorProfilerInfo::GetObjectSize)
{
StringObject* str;
@@ -34164,7 +34018,7 @@ BOOL GCHeap::StressHeap(alloc_context * acontext)
}
}
}
- FastInterlockDecrement((LONG *) &OneAtATime);
+ Interlocked::Decrement(&OneAtATime);
#endif // !MULTIPLE_HEAPS
if (IsConcurrentGCEnabled())
{
@@ -35747,18 +35601,18 @@ size_t GCHeap::GetValidGen0MaxSize(size_t seg_size)
#ifdef SERVER_GC
// performance data seems to indicate halving the size results
// in optimal perf. Ask for adjusted gen0 size.
- gen0size = max(GetLargestOnDieCacheSize(FALSE)/GetLogicalCpuCount(),(256*1024));
+ gen0size = max(GCToOSInterface::GetLargestOnDieCacheSize(FALSE)/GCToOSInterface::GetLogicalCpuCount(),(256*1024));
#if (defined(_TARGET_AMD64_))
// if gen0 size is too large given the available memory, reduce it.
// Get true cache size, as we don't want to reduce below this.
- size_t trueSize = max(GetLargestOnDieCacheSize(TRUE)/GetLogicalCpuCount(),(256*1024));
+ size_t trueSize = max(GCToOSInterface::GetLargestOnDieCacheSize(TRUE)/GCToOSInterface::GetLogicalCpuCount(),(256*1024));
dprintf (2, ("cache: %Id-%Id, cpu: %Id",
- GetLargestOnDieCacheSize(FALSE),
- GetLargestOnDieCacheSize(TRUE),
- GetLogicalCpuCount()));
+ GCToOSInterface::GetLargestOnDieCacheSize(FALSE),
+ GCToOSInterface::GetLargestOnDieCacheSize(TRUE),
+ GCToOSInterface::GetLogicalCpuCount()));
GCMemoryStatus ms;
- GetProcessMemoryLoad (&ms);
+ GCToOSInterface::GetMemoryStatus (&ms);
// if the total min GC across heaps will exceed 1/6th of available memory,
// then reduce the min GC size until it either fits or has been reduced to cache size.
while ((gen0size * gc_heap::n_heaps) > (ms.ullAvailPhys / 6))
@@ -35773,7 +35627,7 @@ size_t GCHeap::GetValidGen0MaxSize(size_t seg_size)
#endif //_TARGET_AMD64_
#else //SERVER_GC
- gen0size = max((4*GetLargestOnDieCacheSize(TRUE)/5),(256*1024));
+ gen0size = max((4*GCToOSInterface::GetLargestOnDieCacheSize(TRUE)/5),(256*1024));
#endif //SERVER_GC
#else //!FEATURE_REDHAWK
gen0size = (256*1024);
@@ -35982,8 +35836,7 @@ GCHeap::SetCardsAfterBulkCopy( Object **StartPoint, size_t len )
// Set Bit For Card and advance to next card
size_t card = gcard_of ((uint8_t*)rover);
- FastInterlockOr ((DWORD RAW_KEYWORD(volatile) *)&g_card_table[card/card_word_width],
- (1 << (uint32_t)(card % card_word_width)));
+ Interlocked::Or (&g_card_table[card/card_word_width], (1U << (card % card_word_width)));
// Skip to next card for the object
rover = (Object**)align_on_card ((uint8_t*)(rover+1));
}
@@ -36029,7 +35882,7 @@ bool CFinalize::Initialize()
STRESS_LOG_OOM_STACK(sizeof(Object*[100]));
if (g_pConfig->IsGCBreakOnOOMEnabled())
{
- DebugBreak();
+ GCToOSInterface::DebugBreak();
}
return false;
}
@@ -36042,7 +35895,7 @@ bool CFinalize::Initialize()
m_PromotedCount = 0;
lock = -1;
#ifdef _DEBUG
- lockowner_threadid = (uint32_t) -1;
+ lockowner_threadid.Clear();
#endif // _DEBUG
return true;
@@ -36066,22 +35919,22 @@ void CFinalize::EnterFinalizeLock()
GCToEEInterface::IsPreemptiveGCDisabled(GetThread()));
retry:
- if (FastInterlockExchange ((LONG*)&lock, 0) >= 0)
+ if (Interlocked::Exchange (&lock, 0) >= 0)
{
unsigned int i = 0;
while (lock >= 0)
{
YieldProcessor(); // indicate to the processor that we are spining
if (++i & 7)
- __SwitchToThread (0, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::YieldThread (0);
else
- __SwitchToThread (5, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::Sleep (5);
}
goto retry;
}
#ifdef _DEBUG
- lockowner_threadid = ::GetCurrentThreadId();
+ lockowner_threadid.SetToCurrentThread();
#endif // _DEBUG
}
@@ -36093,7 +35946,7 @@ void CFinalize::LeaveFinalizeLock()
GCToEEInterface::IsPreemptiveGCDisabled(GetThread()));
#ifdef _DEBUG
- lockowner_threadid = (uint32_t) -1;
+ lockowner_threadid.Clear();
#endif // _DEBUG
lock = -1;
}
@@ -36143,7 +35996,7 @@ CFinalize::RegisterForFinalization (int gen, Object* obj, size_t size)
STRESS_LOG_OOM_STACK(0);
if (g_pConfig->IsGCBreakOnOOMEnabled())
{
- DebugBreak();
+ GCToOSInterface::DebugBreak();
}
#ifdef FEATURE_REDHAWK
return false;
@@ -36795,7 +36648,7 @@ void TouchPages(LPVOID pStart, uint32_t cb)
void deleteGCShadow()
{
if (g_GCShadow != 0)
- VirtualFree (g_GCShadow, 0, MEM_RELEASE);
+ GCToOSInterface::VirtualRelease (g_GCShadow, g_GCShadowEnd - g_GCShadow);
g_GCShadow = 0;
g_GCShadowEnd = 0;
}
@@ -36810,7 +36663,7 @@ void initGCShadow()
if (len > (size_t)(g_GCShadowEnd - g_GCShadow))
{
deleteGCShadow();
- g_GCShadowEnd = g_GCShadow = (uint8_t*) VirtualAlloc(0, len, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
+ g_GCShadowEnd = g_GCShadow = (uint8_t*) GCToOSInterface::VirtualCommit(0, len);
if (g_GCShadow)
{
g_GCShadowEnd += len;
diff --git a/src/gc/gcee.cpp b/src/gc/gcee.cpp
index 7a9bb1891f..8e4e4480b4 100644
--- a/src/gc/gcee.cpp
+++ b/src/gc/gcee.cpp
@@ -379,15 +379,11 @@ size_t GCHeap::GetLastGCDuration(int generation)
return dd_gc_elapsed_time (hp->dynamic_data_of (generation));
}
+size_t GetHighPrecisionTimeStamp();
+
size_t GCHeap::GetNow()
{
-#ifdef MULTIPLE_HEAPS
- gc_heap* hp = gc_heap::g_heaps[0];
-#else
- gc_heap* hp = pGenGCHeap;
-#endif //MULTIPLE_HEAPS
-
- return hp->get_time_now();
+ return GetHighPrecisionTimeStamp();
}
#if defined(GC_PROFILING) //UNIXTODO: Enable this for FEATURE_EVENT_TRACE
diff --git a/src/gc/gcpriv.h b/src/gc/gcpriv.h
index 14bea156a4..fe40c0ccd7 100644
--- a/src/gc/gcpriv.h
+++ b/src/gc/gcpriv.h
@@ -25,7 +25,7 @@
inline void FATAL_GC_ERROR()
{
- DebugBreak();
+ GCToOSInterface::DebugBreak();
_ASSERTE(!"Fatal Error in GC.");
EEPOLICY_HANDLE_FATAL_ERROR(COR_E_EXECUTIONENGINE);
}
@@ -143,12 +143,12 @@ inline void FATAL_GC_ERROR()
#if defined (SYNCHRONIZATION_STATS) || defined (STAGE_STATS)
#define BEGIN_TIMING(x) \
LARGE_INTEGER x##_start; \
- QueryPerformanceCounter (&x##_start)
+ x##_start = GCToOSInterface::QueryPerformanceCounter ()
#define END_TIMING(x) \
LARGE_INTEGER x##_end; \
- QueryPerformanceCounter (&x##_end); \
- x += x##_end.QuadPart - x##_start.QuadPart
+ x##_end = GCToOSInterface::QueryPerformanceCounter (); \
+ x += x##_end - x##_start
#else
#define BEGIN_TIMING(x)
@@ -204,70 +204,7 @@ void GCLogConfig (const char *fmt, ... );
#define CLREvent CLREventStatic
-#ifdef CreateFileMapping
-
-#undef CreateFileMapping
-
-#endif //CreateFileMapping
-
-#define CreateFileMapping WszCreateFileMapping
-
// hosted api
-#ifdef InitializeCriticalSection
-#undef InitializeCriticalSection
-#endif //ifdef InitializeCriticalSection
-#define InitializeCriticalSection UnsafeInitializeCriticalSection
-
-#ifdef DeleteCriticalSection
-#undef DeleteCriticalSection
-#endif //ifdef DeleteCriticalSection
-#define DeleteCriticalSection UnsafeDeleteCriticalSection
-
-#ifdef EnterCriticalSection
-#undef EnterCriticalSection
-#endif //ifdef EnterCriticalSection
-#define EnterCriticalSection UnsafeEEEnterCriticalSection
-
-#ifdef LeaveCriticalSection
-#undef LeaveCriticalSection
-#endif //ifdef LeaveCriticalSection
-#define LeaveCriticalSection UnsafeEELeaveCriticalSection
-
-#ifdef TryEnterCriticalSection
-#undef TryEnterCriticalSection
-#endif //ifdef TryEnterCriticalSection
-#define TryEnterCriticalSection UnsafeEETryEnterCriticalSection
-
-#ifdef CreateSemaphore
-#undef CreateSemaphore
-#endif //CreateSemaphore
-#define CreateSemaphore UnsafeCreateSemaphore
-
-#ifdef CreateEvent
-#undef CreateEvent
-#endif //ifdef CreateEvent
-#define CreateEvent UnsafeCreateEvent
-
-#ifdef VirtualAlloc
-#undef VirtualAlloc
-#endif //ifdef VirtualAlloc
-#define VirtualAlloc ClrVirtualAlloc
-
-#ifdef VirtualFree
-#undef VirtualFree
-#endif //ifdef VirtualFree
-#define VirtualFree ClrVirtualFree
-
-#ifdef VirtualQuery
-#undef VirtualQuery
-#endif //ifdef VirtualQuery
-#define VirtualQuery ClrVirtualQuery
-
-#ifdef VirtualProtect
-#undef VirtualProtect
-#endif //ifdef VirtualProtect
-#define VirtualProtect ClrVirtualProtect
-
#ifdef memcpy
#undef memcpy
#endif //memcpy
@@ -1045,7 +982,7 @@ struct spinlock_info
{
msl_enter_state enter_state;
msl_take_state take_state;
- uint32_t thread_id;
+ EEThreadId thread_id;
};
const unsigned HS_CACHE_LINE_SIZE = 128;
@@ -1293,7 +1230,7 @@ public:
static
gc_heap* balance_heaps_loh (alloc_context* acontext, size_t size);
static
- uint32_t __stdcall gc_thread_stub (void* arg);
+ void __stdcall gc_thread_stub (void* arg);
#endif //MULTIPLE_HEAPS
CObjectHeader* try_fast_alloc (size_t jsize);
@@ -1621,13 +1558,13 @@ protected:
struct loh_state_info
{
allocation_state alloc_state;
- uint32_t thread_id;
+ EEThreadId thread_id;
};
PER_HEAP
loh_state_info last_loh_states[max_saved_loh_states];
PER_HEAP
- void add_saved_loh_state (allocation_state loh_state_to_save, uint32_t thread_id);
+ void add_saved_loh_state (allocation_state loh_state_to_save, EEThreadId thread_id);
#endif //RECORD_LOH_STATE
PER_HEAP
BOOL allocate_large (int gen_number,
@@ -2517,8 +2454,6 @@ protected:
PER_HEAP
void save_ephemeral_generation_starts();
- static size_t get_time_now();
-
PER_HEAP
bool init_dynamic_data ();
PER_HEAP
@@ -2612,9 +2547,9 @@ protected:
PER_HEAP_ISOLATED
void destroy_thread_support ();
PER_HEAP
- HANDLE create_gc_thread();
+ bool create_gc_thread();
PER_HEAP
- uint32_t gc_thread_function();
+ void gc_thread_function();
#ifdef MARK_LIST
#ifdef PARALLEL_MARK_LIST_SORT
PER_HEAP
@@ -3109,7 +3044,7 @@ protected:
#ifdef BACKGROUND_GC
PER_HEAP
- uint32_t bgc_thread_id;
+ EEThreadId bgc_thread_id;
#ifdef WRITE_WATCH
PER_HEAP
@@ -3152,7 +3087,7 @@ protected:
Thread* bgc_thread;
PER_HEAP
- CRITICAL_SECTION bgc_threads_timeout_cs;
+ CLRCriticalSection bgc_threads_timeout_cs;
PER_HEAP_ISOLATED
CLREvent background_gc_done_event;
@@ -3728,8 +3663,6 @@ public:
SPTR_DECL(PTR_gc_heap, g_heaps);
static
- HANDLE* g_gc_threads; // keep all of the gc threads.
- static
size_t* g_promoted;
#ifdef BACKGROUND_GC
static
@@ -3784,7 +3717,7 @@ private:
VOLATILE(int32_t) lock;
#ifdef _DEBUG
- uint32_t lockowner_threadid;
+ EEThreadId lockowner_threadid;
#endif // _DEBUG
BOOL GrowArray();
diff --git a/src/gc/gcscan.cpp b/src/gc/gcscan.cpp
index 621ffad7f3..78e0dd61f8 100644
--- a/src/gc/gcscan.cpp
+++ b/src/gc/gcscan.cpp
@@ -270,13 +270,13 @@ void GCScan::GcRuntimeStructuresValid (BOOL bValid)
if (!bValid)
{
int32_t result;
- result = FastInterlockIncrement ((LONG*)&m_GcStructuresInvalidCnt);
+ result = Interlocked::Increment (&m_GcStructuresInvalidCnt);
_ASSERTE (result > 0);
}
else
{
int32_t result;
- result = FastInterlockDecrement ((LONG*)&m_GcStructuresInvalidCnt);
+ result = Interlocked::Decrement (&m_GcStructuresInvalidCnt);
_ASSERTE (result >= 0);
}
}
diff --git a/src/gc/handletable.cpp b/src/gc/handletable.cpp
index e14316bd08..7f855bba29 100644
--- a/src/gc/handletable.cpp
+++ b/src/gc/handletable.cpp
@@ -688,7 +688,7 @@ uintptr_t HndCompareExchangeHandleExtraInfo(OBJECTHANDLE handle, uint32_t uType,
if (pUserData)
{
// yes - attempt to store the info
- return (uintptr_t)FastInterlockCompareExchangePointer((void**)pUserData, (void*)lNewExtraInfo, (void*)lOldExtraInfo);
+ return (uintptr_t)Interlocked::CompareExchangePointer((void**)pUserData, (void*)lNewExtraInfo, (void*)lOldExtraInfo);
}
_ASSERTE(!"Shouldn't be trying to call HndCompareExchangeHandleExtraInfo on handle types without extra info");
diff --git a/src/gc/handletable.inl b/src/gc/handletable.inl
index 29594d0a7c..15c38fdd9a 100644
--- a/src/gc/handletable.inl
+++ b/src/gc/handletable.inl
@@ -67,7 +67,7 @@ inline void* HndInterlockedCompareExchangeHandle(OBJECTHANDLE handle, OBJECTREF
// store the pointer
- void* ret = FastInterlockCompareExchangePointer(reinterpret_cast<_UNCHECKED_OBJECTREF volatile*>(handle), value, oldValue);
+ void* ret = Interlocked::CompareExchangePointer(reinterpret_cast<_UNCHECKED_OBJECTREF volatile*>(handle), value, oldValue);
if (ret == oldValue)
HndLogSetEvent(handle, value);
@@ -101,7 +101,7 @@ inline BOOL HndFirstAssignHandle(OBJECTHANDLE handle, OBJECTREF objref)
_UNCHECKED_OBJECTREF null = NULL;
// store the pointer if we are the first ones here
- BOOL success = (NULL == FastInterlockCompareExchangePointer(reinterpret_cast<_UNCHECKED_OBJECTREF volatile*>(handle),
+ BOOL success = (NULL == Interlocked::CompareExchangePointer(reinterpret_cast<_UNCHECKED_OBJECTREF volatile*>(handle),
value,
null));
diff --git a/src/gc/handletablecache.cpp b/src/gc/handletablecache.cpp
index 717348fdb4..33cc08e82f 100644
--- a/src/gc/handletablecache.cpp
+++ b/src/gc/handletablecache.cpp
@@ -86,7 +86,7 @@ void SpinUntil(void *pCond, BOOL fNonZero)
#endif //_DEBUG
// sleep for a little while
- __SwitchToThread(dwThisSleepPeriod, CALLER_LIMITS_SPINNING);
+ GCToOSInterface::Sleep(dwThisSleepPeriod);
// now update our sleep period
dwThisSleepPeriod = dwNextSleepPeriod;
@@ -471,7 +471,7 @@ void TableFullRebalanceCache(HandleTable *pTable,
// update the write index for the free bank
// NOTE: we use an interlocked exchange here to guarantee relative store order on MP
// AFTER THIS POINT THE FREE BANK IS LIVE AND COULD RECEIVE NEW HANDLES
- FastInterlockExchange((LONG*)&pCache->lFreeIndex, lMinFreeIndex);
+ Interlocked::Exchange(&pCache->lFreeIndex, lMinFreeIndex);
// now if we have any handles left, store them in the reserve bank
if (uHandleCount)
@@ -488,7 +488,7 @@ void TableFullRebalanceCache(HandleTable *pTable,
// update the read index for the reserve bank
// NOTE: we use an interlocked exchange here to guarantee relative store order on MP
// AT THIS POINT THE RESERVE BANK IS LIVE AND HANDLES COULD BE ALLOCATED FROM IT
- FastInterlockExchange((LONG*)&pCache->lReserveIndex, lMinReserveIndex);
+ Interlocked::Exchange(&pCache->lReserveIndex, lMinReserveIndex);
}
@@ -599,12 +599,12 @@ void TableQuickRebalanceCache(HandleTable *pTable,
// update the write index for the free bank
// NOTE: we use an interlocked exchange here to guarantee relative store order on MP
// AFTER THIS POINT THE FREE BANK IS LIVE AND COULD RECEIVE NEW HANDLES
- FastInterlockExchange((LONG*)&pCache->lFreeIndex, lMinFreeIndex);
+ Interlocked::Exchange(&pCache->lFreeIndex, lMinFreeIndex);
// update the read index for the reserve bank
// NOTE: we use an interlocked exchange here to guarantee relative store order on MP
// AT THIS POINT THE RESERVE BANK IS LIVE AND HANDLES COULD BE ALLOCATED FROM IT
- FastInterlockExchange((LONG*)&pCache->lReserveIndex, lMinReserveIndex);
+ Interlocked::Exchange(&pCache->lReserveIndex, lMinReserveIndex);
}
@@ -630,13 +630,13 @@ OBJECTHANDLE TableCacheMissOnAlloc(HandleTable *pTable, HandleTypeCache *pCache,
CrstHolder ch(&pTable->Lock);
// try again to take a handle (somebody else may have rebalanced)
- int32_t lReserveIndex = FastInterlockDecrement((LONG*)&pCache->lReserveIndex);
+ int32_t lReserveIndex = Interlocked::Decrement(&pCache->lReserveIndex);
// are we still waiting for handles?
if (lReserveIndex < 0)
{
// yup, suspend free list usage...
- int32_t lFreeIndex = FastInterlockExchange((LONG*)&pCache->lFreeIndex, 0L);
+ int32_t lFreeIndex = Interlocked::Exchange(&pCache->lFreeIndex, 0);
// ...and rebalance the cache...
TableQuickRebalanceCache(pTable, pCache, uType, lReserveIndex, lFreeIndex, &handle, NULL);
@@ -680,13 +680,13 @@ void TableCacheMissOnFree(HandleTable *pTable, HandleTypeCache *pCache, uint32_t
CrstHolder ch(&pTable->Lock);
// try again to take a slot (somebody else may have rebalanced)
- int32_t lFreeIndex = FastInterlockDecrement((LONG*)&pCache->lFreeIndex);
+ int32_t lFreeIndex = Interlocked::Decrement(&pCache->lFreeIndex);
// are we still waiting for free slots?
if (lFreeIndex < 0)
{
// yup, suspend reserve list usage...
- int32_t lReserveIndex = FastInterlockExchange((LONG*)&pCache->lReserveIndex, 0L);
+ int32_t lReserveIndex = Interlocked::Exchange(&pCache->lReserveIndex, 0);
// ...and rebalance the cache...
TableQuickRebalanceCache(pTable, pCache, uType, lReserveIndex, lFreeIndex, NULL, handle);
@@ -718,7 +718,7 @@ OBJECTHANDLE TableAllocSingleHandleFromCache(HandleTable *pTable, uint32_t uType
if (pTable->rgQuickCache[uType])
{
// try to grab the handle we saw
- handle = FastInterlockExchangePointer(pTable->rgQuickCache + uType, (OBJECTHANDLE)NULL);
+ handle = Interlocked::ExchangePointer(pTable->rgQuickCache + uType, (OBJECTHANDLE)NULL);
// if it worked then we're done
if (handle)
@@ -729,7 +729,7 @@ OBJECTHANDLE TableAllocSingleHandleFromCache(HandleTable *pTable, uint32_t uType
HandleTypeCache *pCache = pTable->rgMainCache + uType;
// try to take a handle from the main cache
- int32_t lReserveIndex = FastInterlockDecrement((LONG*)&pCache->lReserveIndex);
+ int32_t lReserveIndex = Interlocked::Decrement(&pCache->lReserveIndex);
// did we underflow?
if (lReserveIndex < 0)
@@ -787,7 +787,7 @@ void TableFreeSingleHandleToCache(HandleTable *pTable, uint32_t uType, OBJECTHAN
if (!pTable->rgQuickCache[uType])
{
// yup - try to stuff our handle in the slot we saw
- handle = FastInterlockExchangePointer(&pTable->rgQuickCache[uType], handle);
+ handle = Interlocked::ExchangePointer(&pTable->rgQuickCache[uType], handle);
// if we didn't end up with another handle then we're done
if (!handle)
@@ -798,7 +798,7 @@ void TableFreeSingleHandleToCache(HandleTable *pTable, uint32_t uType, OBJECTHAN
HandleTypeCache *pCache = pTable->rgMainCache + uType;
// try to take a free slot from the main cache
- int32_t lFreeIndex = FastInterlockDecrement((LONG*)&pCache->lFreeIndex);
+ int32_t lFreeIndex = Interlocked::Decrement(&pCache->lFreeIndex);
// did we underflow?
if (lFreeIndex < 0)
diff --git a/src/gc/handletablecore.cpp b/src/gc/handletablecore.cpp
index 8435f94165..d302087ec9 100644
--- a/src/gc/handletablecore.cpp
+++ b/src/gc/handletablecore.cpp
@@ -239,7 +239,7 @@ BOOL TableCanFreeSegmentNow(HandleTable *pTable, TableSegment *pSegment)
// fail but by the time a dump was created the lock was unowned so
// there was no way to tell who the previous owner was.
EEThreadId threadId = pTable->Lock.GetHolderThreadId();
- _ASSERTE(threadId.IsSameThread());
+ _ASSERTE(threadId.IsCurrentThread());
#endif // _DEBUG
// deterine if any segment is currently being scanned asynchronously
@@ -526,7 +526,7 @@ BOOL SegmentInitialize(TableSegment *pSegment, HandleTable *pTable)
dwCommit &= ~(g_SystemInfo.dwPageSize - 1);
// commit the header
- if (!ClrVirtualAlloc(pSegment, dwCommit, MEM_COMMIT, PAGE_READWRITE))
+ if (!GCToOSInterface::VirtualCommit(pSegment, dwCommit))
{
//_ASSERTE(FALSE);
return FALSE;
@@ -581,7 +581,7 @@ void SegmentFree(TableSegment *pSegment)
*/
// free the segment's memory
- ClrVirtualFree(pSegment, 0, MEM_RELEASE);
+ GCToOSInterface::VirtualRelease(pSegment, HANDLE_SEGMENT_SIZE);
}
@@ -611,7 +611,7 @@ TableSegment *SegmentAlloc(HandleTable *pTable)
_ASSERTE(HANDLE_SEGMENT_ALIGNMENT >= HANDLE_SEGMENT_SIZE);
_ASSERTE(HANDLE_SEGMENT_ALIGNMENT == 0x10000);
- pSegment = (TableSegment *)ClrVirtualAllocAligned(NULL, HANDLE_SEGMENT_SIZE, MEM_RESERVE, PAGE_NOACCESS, HANDLE_SEGMENT_ALIGNMENT);
+ pSegment = (TableSegment *)GCToOSInterface::VirtualReserve(NULL, HANDLE_SEGMENT_SIZE, HANDLE_SEGMENT_ALIGNMENT, VirtualReserveFlags::None);
_ASSERTE(((size_t)pSegment % HANDLE_SEGMENT_ALIGNMENT) == 0);
// bail out if we couldn't get any memory
@@ -1440,7 +1440,7 @@ uint32_t SegmentInsertBlockFromFreeListWorker(TableSegment *pSegment, uint32_t u
uint32_t dwCommit = g_SystemInfo.dwPageSize;
// commit the memory
- if (!ClrVirtualAlloc(pvCommit, dwCommit, MEM_COMMIT, PAGE_READWRITE))
+ if (!GCToOSInterface::VirtualCommit(pvCommit, dwCommit))
return BLOCK_INVALID;
// use the previous commit line as the new decommit line
@@ -1844,7 +1844,7 @@ void SegmentTrimExcessPages(TableSegment *pSegment)
if (dwHi > dwLo)
{
// decommit the memory
- ClrVirtualFree((LPVOID)dwLo, dwHi - dwLo, MEM_DECOMMIT);
+ GCToOSInterface::VirtualDecommit((LPVOID)dwLo, dwHi - dwLo);
// update the commit line
pSegment->bCommitLine = (uint8_t)((dwLo - (size_t)pSegment->rgValue) / HANDLE_BYTES_PER_BLOCK);
diff --git a/src/gc/objecthandle.cpp b/src/gc/objecthandle.cpp
index 8b72d0d430..1654cf9b94 100644
--- a/src/gc/objecthandle.cpp
+++ b/src/gc/objecthandle.cpp
@@ -787,7 +787,7 @@ HandleTableBucket *Ref_CreateHandleTableBucket(ADIndex uADIndex)
HndSetHandleTableIndex(result->pTable[uCPUindex], i+offset);
result->HandleTableIndex = i+offset;
- if (FastInterlockCompareExchangePointer(&walk->pBuckets[i], result, NULL) == 0) {
+ if (Interlocked::CompareExchangePointer(&walk->pBuckets[i], result, NULL) == 0) {
// Get a free slot.
bucketHolder.SuppressRelease();
return result;
@@ -812,7 +812,7 @@ HandleTableBucket *Ref_CreateHandleTableBucket(ADIndex uADIndex)
ZeroMemory(newMap->pBuckets,
INITIAL_HANDLE_TABLE_ARRAY_SIZE * sizeof (HandleTableBucket *));
- if (FastInterlockCompareExchangePointer(&last->pNext, newMap.GetValue(), NULL) != NULL)
+ if (Interlocked::CompareExchangePointer(&last->pNext, newMap.GetValue(), NULL) != NULL)
{
// This thread loses.
delete [] newMap->pBuckets;
@@ -1575,8 +1575,8 @@ void Ref_UpdatePointers(uint32_t condemned, uint32_t maxgen, ScanContext* sc, Re
if (GCHeap::IsServerHeap())
{
- bDo = (FastInterlockIncrement((LONG*)&uCount) == 1);
- FastInterlockCompareExchange ((LONG*)&uCount, 0, GCHeap::GetGCHeap()->GetNumberOfHeaps());
+ bDo = (Interlocked::Increment(&uCount) == 1);
+ Interlocked::CompareExchange (&uCount, 0, GCHeap::GetGCHeap()->GetNumberOfHeaps());
_ASSERTE (uCount <= GCHeap::GetGCHeap()->GetNumberOfHeaps());
}
diff --git a/src/gc/sample/CMakeLists.txt b/src/gc/sample/CMakeLists.txt
index 8bed3adee2..a46f9aeb8b 100644
--- a/src/gc/sample/CMakeLists.txt
+++ b/src/gc/sample/CMakeLists.txt
@@ -1,11 +1,13 @@
project(clrgcsample)
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
include_directories(..)
include_directories(../env)
set(SOURCES
GCSample.cpp
- gcenv.cpp
+ gcenv.ee.cpp
../gccommon.cpp
../gceewks.cpp
../gcscan.cpp
@@ -19,45 +21,12 @@ set(SOURCES
if(WIN32)
list(APPEND SOURCES
- ../env/gcenv.windows.cpp)
+ gcenv.windows.cpp)
else()
list(APPEND SOURCES
- ../env/gcenv.unix.cpp)
-endif()
-
-if(CLR_CMAKE_PLATFORM_UNIX)
- add_compile_options(-Wno-format)
- add_compile_options(-Wno-unused-variable)
- add_compile_options(-Wno-unused-private-field)
- add_compile_options(-Wno-tautological-undefined-compare)
+ gcenv.unix.cpp)
endif()
-if(CLR_CMAKE_PLATFORM_ARCH_AMD64)
- add_definitions(-D_TARGET_AMD64_=1)
- set(IS_64BIT_BUILD 1)
-elseif(CLR_CMAKE_PLATFORM_ARCH_I386)
- add_definitions(-D_TARGET_X86_=1)
-elseif(CLR_CMAKE_PLATFORM_ARCH_ARM)
- add_definitions(-D_TARGET_ARM_=1)
-elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64)
- add_definitions(-D_TARGET_ARM64_=1)
- set(IS_64BIT_BUILD 1)
-else()
- clr_unknown_arch()
-endif()
-
-if(IS_64BIT_BUILD)
- add_definitions(-DBIT64=1)
-endif(IS_64BIT_BUILD)
-
-if(WIN32)
- add_definitions(-DWIN32)
- add_definitions(-D_WIN32=1)
- if(IS_64BIT_BUILD)
- add_definitions(-D_WIN64=1)
- endif()
-endif(WIN32)
-
add_executable(gcsample
${SOURCES}
)
diff --git a/src/gc/sample/GCSample.cpp b/src/gc/sample/GCSample.cpp
index 446956110a..eb2c9aa9c4 100644
--- a/src/gc/sample/GCSample.cpp
+++ b/src/gc/sample/GCSample.cpp
@@ -111,12 +111,15 @@ void WriteBarrier(Object ** dst, Object * ref)
ErectWriteBarrier(dst, ref);
}
-int main(int argc, char* argv[])
+int __cdecl main(int argc, char* argv[])
{
//
// Initialize system info
//
- InitializeSystemInfo();
+ if (!GCToOSInterface::Initialize())
+ {
+ return -1;
+ }
//
// Initialize free object methodtable. The GC uses a special array-like methodtable as placeholder
@@ -170,7 +173,7 @@ int main(int argc, char* argv[])
My_MethodTable;
// 'My' contains the MethodTable*
- size_t baseSize = sizeof(My);
+ uint32_t baseSize = sizeof(My);
// GC expects the size of ObjHeader (extra void*) to be included in the size.
baseSize = baseSize + sizeof(ObjHeader);
// Add padding as necessary. GC requires the object size to be at least MIN_OBJECT_SIZE.
diff --git a/src/gc/sample/GCSample.vcxproj b/src/gc/sample/GCSample.vcxproj
index a0a79c59eb..eefca17fb3 100644
--- a/src/gc/sample/GCSample.vcxproj
+++ b/src/gc/sample/GCSample.vcxproj
@@ -83,7 +83,8 @@
<ClInclude Include="gcenv.h" />
</ItemGroup>
<ItemGroup>
- <ClCompile Include="gcenv.cpp" />
+ <ClCompile Include="gcenv.ee.cpp" />
+ <ClCompile Include="gcenv.windows.cpp" />
<ClCompile Include="GCSample.cpp" />
<ClCompile Include="..\gccommon.cpp" />
<ClCompile Include="..\gceewks.cpp" />
@@ -94,7 +95,6 @@
<ClCompile Include="..\handletablecore.cpp" />
<ClCompile Include="..\handletablescan.cpp" />
<ClCompile Include="..\objecthandle.cpp" />
- <ClCompile Include="..\env\gcenv.windows.cpp" />
<ClCompile Include="..\env\common.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
diff --git a/src/gc/sample/GCSample.vcxproj.filters b/src/gc/sample/GCSample.vcxproj.filters
index 1e9facde09..e46c054565 100644
--- a/src/gc/sample/GCSample.vcxproj.filters
+++ b/src/gc/sample/GCSample.vcxproj.filters
@@ -53,13 +53,13 @@
<ClCompile Include="..\gccommon.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\env\gcenv.windows.cpp">
+ <ClCompile Include="..\env\common.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\env\common.cpp">
+ <ClCompile Include="gcenv.ee.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="gcenv.cpp">
+ <ClCompile Include="gcenv.windows.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
diff --git a/src/gc/sample/gcenv.cpp b/src/gc/sample/gcenv.cpp
deleted file mode 100644
index 2164fb0c5e..0000000000
--- a/src/gc/sample/gcenv.cpp
+++ /dev/null
@@ -1,156 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-#include "common.h"
-
-#include "windows.h"
-
-#include "gcenv.h"
-#include "gc.h"
-
-EEConfig * g_pConfig;
-
-#ifdef _MSC_VER
-__declspec(thread)
-#else
-__thread
-#endif
-Thread * pCurrentThread;
-
-Thread * GetThread()
-{
- return pCurrentThread;
-}
-
-Thread * g_pThreadList = NULL;
-
-Thread * ThreadStore::GetThreadList(Thread * pThread)
-{
- if (pThread == NULL)
- return g_pThreadList;
-
- return pThread->m_pNext;
-}
-
-void ThreadStore::AttachCurrentThread()
-{
- // TODO: Locks
-
- Thread * pThread = new Thread();
- pThread->GetAllocContext()->init();
- pCurrentThread = pThread;
-
- pThread->m_pNext = g_pThreadList;
- g_pThreadList = pThread;
-}
-
-void GCToEEInterface::SuspendEE(GCToEEInterface::SUSPEND_REASON reason)
-{
- GCHeap::GetGCHeap()->SetGCInProgress(TRUE);
-
- // TODO: Implement
-}
-
-void GCToEEInterface::RestartEE(bool bFinishedGC)
-{
- // TODO: Implement
-
- GCHeap::GetGCHeap()->SetGCInProgress(FALSE);
-}
-
-void GCToEEInterface::GcScanRoots(promote_func* fn, int condemned, int max_gen, ScanContext* sc)
-{
- // TODO: Implement - Scan stack roots on given thread
-}
-
-void GCToEEInterface::GcStartWork(int condemned, int max_gen)
-{
-}
-
-void GCToEEInterface::AfterGcScanRoots(int condemned, int max_gen, ScanContext* sc)
-{
-}
-
-void GCToEEInterface::GcBeforeBGCSweepWork()
-{
-}
-
-void GCToEEInterface::GcDone(int condemned)
-{
-}
-
-bool GCToEEInterface::RefCountedHandleCallbacks(Object * pObject)
-{
- return false;
-}
-
-bool GCToEEInterface::IsPreemptiveGCDisabled(Thread * pThread)
-{
- return pThread->PreemptiveGCDisabled();
-}
-
-void GCToEEInterface::EnablePreemptiveGC(Thread * pThread)
-{
- return pThread->EnablePreemptiveGC();
-}
-
-void GCToEEInterface::DisablePreemptiveGC(Thread * pThread)
-{
- pThread->DisablePreemptiveGC();
-}
-
-void GCToEEInterface::SetGCSpecial(Thread * pThread)
-{
- pThread->SetGCSpecial(true);
-}
-
-alloc_context * GCToEEInterface::GetAllocContext(Thread * pThread)
-{
- return pThread->GetAllocContext();
-}
-
-bool GCToEEInterface::CatchAtSafePoint(Thread * pThread)
-{
- return pThread->CatchAtSafePoint();
-}
-
-// does not acquire thread store lock
-void GCToEEInterface::AttachCurrentThread()
-{
- ThreadStore::AttachCurrentThread();
-}
-
-void GCToEEInterface::GcEnumAllocContexts (enum_alloc_context_func* fn, void* param)
-{
- Thread * pThread = NULL;
- while ((pThread = ThreadStore::GetThreadList(pThread)) != NULL)
- {
- fn(pThread->GetAllocContext(), param);
- }
-}
-
-
-void FinalizerThread::EnableFinalization()
-{
- // Signal to finalizer thread that there are objects to finalize
- // TODO: Implement for finalization
-}
-
-bool FinalizerThread::HaveExtraWorkForFinalizer()
-{
- return false;
-}
-
-bool PalStartBackgroundGCThread(BackgroundCallback callback, void* pCallbackContext)
-{
- // TODO: Implement for background GC
- return false;
-}
-
-bool IsGCSpecialThread()
-{
- // TODO: Implement for background GC
- return false;
-}
diff --git a/src/gc/sample/gcenv.ee.cpp b/src/gc/sample/gcenv.ee.cpp
new file mode 100644
index 0000000000..a1a0360f20
--- /dev/null
+++ b/src/gc/sample/gcenv.ee.cpp
@@ -0,0 +1,289 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+#include "common.h"
+
+#include "windows.h"
+
+#include "gcenv.h"
+#include "gc.h"
+
+EEConfig * g_pConfig;
+
+void CLREventStatic::CreateManualEvent(bool bInitialState)
+{
+ m_hEvent = CreateEventW(NULL, TRUE, bInitialState, NULL);
+ m_fInitialized = true;
+}
+
+void CLREventStatic::CreateAutoEvent(bool bInitialState)
+{
+ m_hEvent = CreateEventW(NULL, FALSE, bInitialState, NULL);
+ m_fInitialized = true;
+}
+
+void CLREventStatic::CreateOSManualEvent(bool bInitialState)
+{
+ m_hEvent = CreateEventW(NULL, TRUE, bInitialState, NULL);
+ m_fInitialized = true;
+}
+
+void CLREventStatic::CreateOSAutoEvent(bool bInitialState)
+{
+ m_hEvent = CreateEventW(NULL, FALSE, bInitialState, NULL);
+ m_fInitialized = true;
+}
+
+void CLREventStatic::CloseEvent()
+{
+ if (m_fInitialized && m_hEvent != INVALID_HANDLE_VALUE)
+ {
+ CloseHandle(m_hEvent);
+ m_hEvent = INVALID_HANDLE_VALUE;
+ }
+}
+
+bool CLREventStatic::IsValid() const
+{
+ return m_fInitialized && m_hEvent != INVALID_HANDLE_VALUE;
+}
+
+bool CLREventStatic::Set()
+{
+ if (!m_fInitialized)
+ return false;
+ return !!SetEvent(m_hEvent);
+}
+
+bool CLREventStatic::Reset()
+{
+ if (!m_fInitialized)
+ return false;
+ return !!ResetEvent(m_hEvent);
+}
+
+uint32_t CLREventStatic::Wait(uint32_t dwMilliseconds, bool bAlertable)
+{
+ DWORD result = WAIT_FAILED;
+
+ if (m_fInitialized)
+ {
+ bool disablePreemptive = false;
+ Thread * pCurThread = GetThread();
+
+ if (NULL != pCurThread)
+ {
+ if (GCToEEInterface::IsPreemptiveGCDisabled(pCurThread))
+ {
+ GCToEEInterface::EnablePreemptiveGC(pCurThread);
+ disablePreemptive = true;
+ }
+ }
+
+ result = WaitForSingleObjectEx(m_hEvent, dwMilliseconds, bAlertable);
+
+ if (disablePreemptive)
+ {
+ GCToEEInterface::DisablePreemptiveGC(pCurThread);
+ }
+ }
+
+ return result;
+}
+
+__declspec(thread) Thread * pCurrentThread;
+
+Thread * GetThread()
+{
+ return pCurrentThread;
+}
+
+Thread * g_pThreadList = NULL;
+
+Thread * ThreadStore::GetThreadList(Thread * pThread)
+{
+ if (pThread == NULL)
+ return g_pThreadList;
+
+ return pThread->m_pNext;
+}
+
+void ThreadStore::AttachCurrentThread()
+{
+ // TODO: Locks
+
+ Thread * pThread = new Thread();
+ pThread->GetAllocContext()->init();
+ pCurrentThread = pThread;
+
+ pThread->m_pNext = g_pThreadList;
+ g_pThreadList = pThread;
+}
+
+void GCToEEInterface::SuspendEE(GCToEEInterface::SUSPEND_REASON reason)
+{
+ GCHeap::GetGCHeap()->SetGCInProgress(TRUE);
+
+ // TODO: Implement
+}
+
+void GCToEEInterface::RestartEE(bool bFinishedGC)
+{
+ // TODO: Implement
+
+ GCHeap::GetGCHeap()->SetGCInProgress(FALSE);
+}
+
+void GCToEEInterface::GcScanRoots(promote_func* fn, int condemned, int max_gen, ScanContext* sc)
+{
+ // TODO: Implement - Scan stack roots on given thread
+}
+
+void GCToEEInterface::GcStartWork(int condemned, int max_gen)
+{
+}
+
+void GCToEEInterface::AfterGcScanRoots(int condemned, int max_gen, ScanContext* sc)
+{
+}
+
+void GCToEEInterface::GcBeforeBGCSweepWork()
+{
+}
+
+void GCToEEInterface::GcDone(int condemned)
+{
+}
+
+bool GCToEEInterface::RefCountedHandleCallbacks(Object * pObject)
+{
+ return false;
+}
+
+bool GCToEEInterface::IsPreemptiveGCDisabled(Thread * pThread)
+{
+ return pThread->PreemptiveGCDisabled();
+}
+
+void GCToEEInterface::EnablePreemptiveGC(Thread * pThread)
+{
+ return pThread->EnablePreemptiveGC();
+}
+
+void GCToEEInterface::DisablePreemptiveGC(Thread * pThread)
+{
+ pThread->DisablePreemptiveGC();
+}
+
+void GCToEEInterface::SetGCSpecial(Thread * pThread)
+{
+ pThread->SetGCSpecial(true);
+}
+
+alloc_context * GCToEEInterface::GetAllocContext(Thread * pThread)
+{
+ return pThread->GetAllocContext();
+}
+
+bool GCToEEInterface::CatchAtSafePoint(Thread * pThread)
+{
+ return pThread->CatchAtSafePoint();
+}
+
+// does not acquire thread store lock
+void GCToEEInterface::AttachCurrentThread()
+{
+ ThreadStore::AttachCurrentThread();
+}
+
+void GCToEEInterface::GcEnumAllocContexts (enum_alloc_context_func* fn, void* param)
+{
+ Thread * pThread = NULL;
+ while ((pThread = ThreadStore::GetThreadList(pThread)) != NULL)
+ {
+ fn(pThread->GetAllocContext(), param);
+ }
+}
+
+void GCToEEInterface::SyncBlockCacheWeakPtrScan(HANDLESCANPROC /*scanProc*/, uintptr_t /*lp1*/, uintptr_t /*lp2*/)
+{
+}
+
+void GCToEEInterface::SyncBlockCacheDemote(int /*max_gen*/)
+{
+}
+
+void GCToEEInterface::SyncBlockCachePromotionsGranted(int /*max_gen*/)
+{
+}
+
+void FinalizerThread::EnableFinalization()
+{
+ // Signal to finalizer thread that there are objects to finalize
+ // TODO: Implement for finalization
+}
+
+bool FinalizerThread::HaveExtraWorkForFinalizer()
+{
+ return false;
+}
+
+bool PalStartBackgroundGCThread(BackgroundCallback callback, void* pCallbackContext)
+{
+ // TODO: Implement for background GC
+ return false;
+}
+
+bool IsGCSpecialThread()
+{
+ // TODO: Implement for background GC
+ return false;
+}
+
+void StompWriteBarrierEphemeral()
+{
+}
+
+void StompWriteBarrierResize(bool /*bReqUpperBoundsCheck*/)
+{
+}
+
+VOID LogSpewAlways(const char * /*fmt*/, ...)
+{
+}
+
+uint32_t CLRConfig::GetConfigValue(ConfigDWORDInfo eType)
+{
+ switch (eType)
+ {
+ case UNSUPPORTED_BGCSpinCount:
+ return 140;
+
+ case UNSUPPORTED_BGCSpin:
+ return 2;
+
+ case UNSUPPORTED_GCLogEnabled:
+ case UNSUPPORTED_GCLogFile:
+ case UNSUPPORTED_GCLogFileSize:
+ case EXTERNAL_GCStressStart:
+ case INTERNAL_GCStressStartAtJit:
+ case INTERNAL_DbgDACSkipVerifyDlls:
+ return 0;
+
+ case Config_COUNT:
+ default:
+#ifdef _MSC_VER
+#pragma warning(suppress:4127) // Constant conditional expression in ASSERT below
+#endif
+ ASSERT(!"Unknown config value type");
+ return 0;
+ }
+}
+
+HRESULT CLRConfig::GetConfigValue(ConfigStringInfo /*eType*/, wchar_t * * outVal)
+{
+ *outVal = NULL;
+ return 0;
+}
diff --git a/src/gc/sample/gcenv.h b/src/gc/sample/gcenv.h
index 1e391ab80c..c09d012ec4 100644
--- a/src/gc/sample/gcenv.h
+++ b/src/gc/sample/gcenv.h
@@ -16,11 +16,20 @@
#define _ASSERTE(_expr) ASSERT(_expr)
#endif
+typedef wchar_t WCHAR;
+#define W(s) L##s
+
#include "gcenv.structs.h"
#include "gcenv.base.h"
+#include "gcenv.ee.h"
+#include "gcenv.os.h"
+#include "gcenv.interlocked.h"
+#include "gcenv.interlocked.inl"
#include "gcenv.object.h"
#include "gcenv.sync.h"
+#define MAX_LONGPATH 1024
+
//
// Thread
//
diff --git a/src/gc/env/gcenv.unix.cpp b/src/gc/sample/gcenv.unix.cpp
index c9186d5d43..33d9bd649c 100644
--- a/src/gc/env/gcenv.unix.cpp
+++ b/src/gc/sample/gcenv.unix.cpp
@@ -115,6 +115,7 @@ void GetProcessMemoryLoad(GCMemoryStatus* pGCMemStatus)
}
}
+#if 0
void CLREventStatic::CreateManualEvent(bool bInitialState)
{
// TODO: Implement
@@ -196,6 +197,12 @@ uint32_t CLREventStatic::Wait(uint32_t dwMilliseconds, bool bAlertable)
return result;
}
+#endif // 0
+
+void DestroyThread(Thread * pThread)
+{
+ // TODO: implement
+}
bool __SwitchToThread(uint32_t dwSleepMSec, uint32_t dwSwitchCount)
{
@@ -328,6 +335,7 @@ int32_t g_TrapReturningThreads;
bool g_fFinalizerRunOnShutDown;
+#if 0
#ifdef _MSC_VER
__declspec(thread)
#else
@@ -361,18 +369,68 @@ void ThreadStore::AttachCurrentThread(bool fAcquireThreadStoreLock)
pThread->m_pNext = g_pThreadList;
g_pThreadList = pThread;
}
-
+#endif // 0
void DestroyThread(Thread * pThread)
{
// TODO: Implement
}
+#if 0
+void GCToEEInterface::SuspendEE(GCToEEInterface::SUSPEND_REASON reason)
+{
+ GCHeap::GetGCHeap()->SetGCInProgress(TRUE);
+
+ // TODO: Implement
+}
+
+void GCToEEInterface::RestartEE(bool bFinishedGC)
+{
+ // TODO: Implement
+
+ GCHeap::GetGCHeap()->SetGCInProgress(FALSE);
+}
+
+void GCToEEInterface::GcScanRoots(promote_func* fn, int condemned, int max_gen, ScanContext* sc)
+{
+ // TODO: Implement - Scan stack roots
+}
+
+void GCToEEInterface::GcStartWork(int condemned, int max_gen)
+{
+}
+
+void GCToEEInterface::AfterGcScanRoots(int condemned, int max_gen, ScanContext* sc)
+{
+}
+
+void GCToEEInterface::GcBeforeBGCSweepWork()
+{
+}
+
+void GCToEEInterface::GcDone(int condemned)
+{
+}
+
void FinalizerThread::EnableFinalization()
{
// Signal to finalizer thread that there are objects to finalize
// TODO: Implement for finalization
}
+bool PalStartBackgroundGCThread(BackgroundCallback callback, void* pCallbackContext)
+{
+ // TODO: Implement for background GC
+ return false;
+}
+
+bool IsGCSpecialThread()
+{
+ // TODO: Implement for background GC
+ return false;
+}
+
+#endif // 0
+
bool PalHasCapability(PalCapability capability)
{
// TODO: Implement for background GC
@@ -424,14 +482,6 @@ VirtualUnlock(
}
-WINBASEAPI
-VOID
-WINAPI
-FlushProcessWriteBuffers()
-{
- // TODO: Implement
-}
-
const int tccSecondsToMillieSeconds = 1000;
const int tccSecondsToMicroSeconds = 1000000;
const int tccMillieSecondsToMicroSeconds = 1000; // 10^3
diff --git a/src/gc/sample/gcenv.windows.cpp b/src/gc/sample/gcenv.windows.cpp
new file mode 100644
index 0000000000..c9f0edb1f2
--- /dev/null
+++ b/src/gc/sample/gcenv.windows.cpp
@@ -0,0 +1,446 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+//
+// Implementation of the GC environment
+//
+
+#include "common.h"
+
+#include "windows.h"
+
+#include "gcenv.h"
+#include "gc.h"
+
+static LARGE_INTEGER performanceFrequency;
+
+MethodTable * g_pFreeObjectMethodTable;
+
+int32_t g_TrapReturningThreads;
+
+bool g_fFinalizerRunOnShutDown;
+
+GCSystemInfo g_SystemInfo;
+
+// Initialize the interface implementation
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::Initialize()
+{
+ if (!::QueryPerformanceFrequency(&performanceFrequency))
+ {
+ return false;
+ }
+
+ SYSTEM_INFO systemInfo;
+ GetSystemInfo(&systemInfo);
+
+ g_SystemInfo.dwNumberOfProcessors = systemInfo.dwNumberOfProcessors;
+ g_SystemInfo.dwPageSize = systemInfo.dwPageSize;
+ g_SystemInfo.dwAllocationGranularity = systemInfo.dwAllocationGranularity;
+
+ return true;
+}
+
+// Shutdown the interface implementation
+void GCToOSInterface::Shutdown()
+{
+}
+
+// Get numeric id of the current thread if possible on the
+// current platform. It is indended for logging purposes only.
+// Return:
+// Numeric id of the current thread or 0 if the
+uint32_t GCToOSInterface::GetCurrentThreadIdForLogging()
+{
+ return ::GetCurrentThreadId();
+}
+
+// Get id of the process
+// Return:
+// Id of the current process
+uint32_t GCToOSInterface::GetCurrentProcessId()
+{
+ return ::GetCurrentProcessId();
+}
+
+// Set ideal affinity for the current thread
+// Parameters:
+// affinity - ideal processor affinity for the thread
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::SetCurrentThreadIdealAffinity(GCThreadAffinity* affinity)
+{
+ bool success = true;
+
+#if !defined(FEATURE_CORESYSTEM)
+ SetThreadIdealProcessor(GetCurrentThread(), (DWORD)affinity->Processor);
+#elif !defined(FEATURE_PAL)
+ PROCESSOR_NUMBER proc;
+
+ if (affinity->Group != -1)
+ {
+ proc.Group = (WORD)affinity->Group;
+ proc.Number = (BYTE)affinity->Processor;
+ proc.Reserved = 0;
+
+ success = !!SetThreadIdealProcessorEx(GetCurrentThread(), &proc, NULL);
+ }
+ else
+ {
+ if (GetThreadIdealProcessorEx(GetCurrentThread(), &proc))
+ {
+ proc.Number = affinity->Processor;
+ success = !!SetThreadIdealProcessorEx(GetCurrentThread(), &proc, NULL);
+ }
+ }
+#endif
+
+ return success;
+}
+
+// Get the number of the current processor
+uint32_t GCToOSInterface::GetCurrentProcessorNumber()
+{
+ _ASSERTE(GCToOSInterface::CanGetCurrentProcessorNumber());
+ return ::GetCurrentProcessorNumber();
+}
+
+// Check if the OS supports getting current processor number
+bool GCToOSInterface::CanGetCurrentProcessorNumber()
+{
+ return true;
+}
+
+// Flush write buffers of processors that are executing threads of the current process
+void GCToOSInterface::FlushProcessWriteBuffers()
+{
+ ::FlushProcessWriteBuffers();
+}
+
+// Break into a debugger
+void GCToOSInterface::DebugBreak()
+{
+ ::DebugBreak();
+}
+
+// Get number of logical processors
+uint32_t GCToOSInterface::GetLogicalCpuCount()
+{
+ return g_SystemInfo.dwNumberOfProcessors;
+}
+
+// Causes the calling thread to sleep for the specified number of milliseconds
+// Parameters:
+// sleepMSec - time to sleep before switching to another thread
+void GCToOSInterface::Sleep(uint32_t sleepMSec)
+{
+ ::Sleep(sleepMSec);
+}
+
+// Causes the calling thread to yield execution to another thread that is ready to run on the current processor.
+// Parameters:
+// switchCount - number of times the YieldThread was called in a loop
+void GCToOSInterface::YieldThread(uint32_t switchCount)
+{
+ SwitchToThread();
+}
+
+// Reserve virtual memory range.
+// Parameters:
+// address - starting virtual address, it can be NULL to let the function choose the starting address
+// size - size of the virtual memory range
+// alignment - requested memory alignment
+// flags - flags to control special settings like write watching
+// Return:
+// Starting virtual address of the reserved range
+void* GCToOSInterface::VirtualReserve(void* address, size_t size, size_t alignment, uint32_t flags)
+{
+ DWORD memFlags = (flags & VirtualReserveFlags::WriteWatch) ? (MEM_RESERVE | MEM_WRITE_WATCH) : MEM_RESERVE;
+ return ::VirtualAlloc(0, size, memFlags, PAGE_READWRITE);
+}
+
+// Release virtual memory range previously reserved using VirtualReserve
+// Parameters:
+// address - starting virtual address
+// size - size of the virtual memory range
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::VirtualRelease(void* address, size_t size)
+{
+ UNREFERENCED_PARAMETER(size);
+ return !!::VirtualFree(address, 0, MEM_RELEASE);
+}
+
+// Commit virtual memory range. It must be part of a range reserved using VirtualReserve.
+// Parameters:
+// address - starting virtual address
+// size - size of the virtual memory range
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::VirtualCommit(void* address, size_t size)
+{
+ return ::VirtualAlloc(address, size, MEM_COMMIT, PAGE_READWRITE) != NULL;
+}
+
+// Decomit virtual memory range.
+// Parameters:
+// address - starting virtual address
+// size - size of the virtual memory range
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::VirtualDecommit(void* address, size_t size)
+{
+ return !!::VirtualFree(address, size, MEM_DECOMMIT);
+}
+
+// Reset virtual memory range. Indicates that data in the memory range specified by address and size is no
+// longer of interest, but it should not be decommitted.
+// Parameters:
+// address - starting virtual address
+// size - size of the virtual memory range
+// unlock - true if the memory range should also be unlocked
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::VirtualReset(void * address, size_t size, bool unlock)
+{
+ bool success = ::VirtualAlloc(address, size, MEM_RESET, PAGE_READWRITE) != NULL;
+#ifndef FEATURE_PAL
+ if (success && unlock)
+ {
+ // Remove the page range from the working set
+ ::VirtualUnlock(address, size);
+ }
+#endif // FEATURE_PAL
+
+ return success;
+}
+
+// Check if the OS supports write watching
+bool GCToOSInterface::SupportsWriteWatch()
+{
+ return false;
+}
+
+// Reset the write tracking state for the specified virtual memory range.
+// Parameters:
+// address - starting virtual address
+// size - size of the virtual memory range
+void GCToOSInterface::ResetWriteWatch(void* address, size_t size)
+{
+}
+
+// Retrieve addresses of the pages that are written to in a region of virtual memory
+// Parameters:
+// resetState - true indicates to reset the write tracking state
+// address - starting virtual address
+// size - size of the virtual memory range
+// pageAddresses - buffer that receives an array of page addresses in the memory region
+// pageAddressesCount - on input, size of the lpAddresses array, in array elements
+// on output, the number of page addresses that are returned in the array.
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::GetWriteWatch(bool resetState, void* address, size_t size, void** pageAddresses, uintptr_t* pageAddressesCount)
+{
+ return false;
+}
+
+// Get size of the largest cache on the processor die
+// Parameters:
+// trueSize - true to return true cache size, false to return scaled up size based on
+// the processor architecture
+// Return:
+// Size of the cache
+size_t GCToOSInterface::GetLargestOnDieCacheSize(bool trueSize)
+{
+ // TODO: implement
+ return 0;
+}
+
+// Get affinity mask of the current process
+// Parameters:
+// processMask - affinity mask for the specified process
+// systemMask - affinity mask for the system
+// Return:
+// true if it has succeeded, false if it has failed
+// Remarks:
+// A process affinity mask is a bit vector in which each bit represents the processors that
+// a process is allowed to run on. A system affinity mask is a bit vector in which each bit
+// represents the processors that are configured into a system.
+// A process affinity mask is a subset of the system affinity mask. A process is only allowed
+// to run on the processors configured into a system. Therefore, the process affinity mask cannot
+// specify a 1 bit for a processor when the system affinity mask specifies a 0 bit for that processor.
+bool GCToOSInterface::GetCurrentProcessAffinityMask(uintptr_t* processMask, uintptr_t* systemMask)
+{
+ return false;
+}
+
+// Get number of processors assigned to the current process
+// Return:
+// The number of processors
+uint32_t GCToOSInterface::GetCurrentProcessCpuCount()
+{
+ return g_SystemInfo.dwNumberOfProcessors;
+}
+
+// Get global memory status
+// Parameters:
+// ms - pointer to the structure that will be filled in with the memory status
+void GCToOSInterface::GetMemoryStatus(GCMemoryStatus* ms)
+{
+ CONTRACTL
+ {
+ NOTHROW;
+ GC_NOTRIGGER;
+ }
+ CONTRACTL_END;
+
+ MEMORYSTATUSEX memStatus;
+
+ memStatus.dwLength = sizeof(MEMORYSTATUSEX);
+ BOOL fRet = GlobalMemoryStatusEx(&memStatus);
+ _ASSERTE (fRet);
+
+ // If the machine has more RAM than virtual address limit, let us cap it.
+ // Our GC can never use more than virtual address limit.
+ if (memStatus.ullAvailPhys > memStatus.ullTotalVirtual)
+ {
+ memStatus.ullAvailPhys = memStatus.ullAvailVirtual;
+ }
+
+ // Convert Windows struct to abstract struct
+ ms->dwMemoryLoad = memStatus.dwMemoryLoad ;
+ ms->ullTotalPhys = memStatus.ullTotalPhys ;
+ ms->ullAvailPhys = memStatus.ullAvailPhys ;
+ ms->ullTotalPageFile = memStatus.ullTotalPageFile ;
+ ms->ullAvailPageFile = memStatus.ullAvailPageFile ;
+ ms->ullTotalVirtual = memStatus.ullTotalVirtual ;
+ ms->ullAvailVirtual = memStatus.ullAvailVirtual ;
+}
+
+// Get a high precision performance counter
+// Return:
+// The counter value
+int64_t GCToOSInterface::QueryPerformanceCounter()
+{
+ LARGE_INTEGER ts;
+ if (!::QueryPerformanceCounter(&ts))
+ {
+ _ASSERTE(!"Fatal Error - cannot query performance counter.");
+ abort();
+ }
+
+ return ts.QuadPart;
+}
+
+// Get a frequency of the high precision performance counter
+// Return:
+// The counter frequency
+int64_t GCToOSInterface::QueryPerformanceFrequency()
+{
+ LARGE_INTEGER frequency;
+ if (!::QueryPerformanceFrequency(&frequency))
+ {
+ _ASSERTE(!"Fatal Error - cannot query performance counter.");
+ abort();
+ }
+
+ return frequency.QuadPart;
+}
+
+// Get a time stamp with a low precision
+// Return:
+// Time stamp in milliseconds
+uint32_t GCToOSInterface::GetLowPrecisionTimeStamp()
+{
+ return ::GetTickCount();
+}
+
+// Parameters of the GC thread stub
+struct GCThreadStubParam
+{
+ GCThreadFunction GCThreadFunction;
+ void* GCThreadParam;
+};
+
+// GC thread stub to convert GC thread function to an OS specific thread function
+static DWORD GCThreadStub(void* param)
+{
+ GCThreadStubParam *stubParam = (GCThreadStubParam*)param;
+ stubParam->GCThreadFunction(stubParam->GCThreadParam);
+
+ return 0;
+}
+
+// Create a new thread
+// Parameters:
+// function - the function to be executed by the thread
+// param - parameters of the thread
+// affinity - processor affinity of the thread
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::CreateThread(GCThreadFunction function, void* param, GCThreadAffinity* affinity)
+{
+ DWORD thread_id;
+ GCThreadStubParam stubParam;
+
+ stubParam.GCThreadFunction = function;
+ stubParam.GCThreadParam = param;
+
+ HANDLE gc_thread = ::CreateThread(NULL, 0, GCThreadStub, &stubParam, CREATE_SUSPENDED, &thread_id);
+
+ if (!gc_thread)
+ {
+ return false;
+ }
+
+ SetThreadPriority(gc_thread, /* THREAD_PRIORITY_ABOVE_NORMAL );*/ THREAD_PRIORITY_HIGHEST );
+
+ ResumeThread(gc_thread);
+
+ CloseHandle(gc_thread);
+
+ return true;
+}
+
+// Open a file
+// Parameters:
+// filename - name of the file to open
+// mode - mode to open the file in (like in the CRT fopen)
+// Return:
+// FILE* of the opened file
+FILE* GCToOSInterface::OpenFile(const WCHAR* filename, const WCHAR* mode)
+{
+ return _wfopen(filename, mode);
+}
+
+// Initialize the critical section
+void CLRCriticalSection::Initialize()
+{
+ ::InitializeCriticalSection(&m_cs);
+}
+
+// Destroy the critical section
+void CLRCriticalSection::Destroy()
+{
+ ::DeleteCriticalSection(&m_cs);
+}
+
+// Enter the critical section. Blocks until the section can be entered.
+void CLRCriticalSection::Enter()
+{
+ ::EnterCriticalSection(&m_cs);
+}
+
+// Leave the critical section
+void CLRCriticalSection::Leave()
+{
+ ::LeaveCriticalSection(&m_cs);
+}
+
+void DestroyThread(Thread * pThread)
+{
+ // TODO: implement
+}
diff --git a/src/ilasm/CMakeLists.txt b/src/ilasm/CMakeLists.txt
index eb84533770..bd7934965f 100644
--- a/src/ilasm/CMakeLists.txt
+++ b/src/ilasm/CMakeLists.txt
@@ -25,11 +25,13 @@ set_source_files_properties( prebuilt/asmparse.c PROPERTIES LANGUAGE CXX )
if(CLR_CMAKE_PLATFORM_UNIX)
add_compile_options(-x c++)
# Need generate a right form of asmparse.c to avoid the following options.
+ # Clang also produces a bad-codegen on this prebuilt file with optimization.
# https://github.com/dotnet/coreclr/issues/2305
add_compile_options(-Wno-delete-non-virtual-dtor)
add_compile_options(-Wno-deprecated-register)
add_compile_options(-Wno-array-bounds)
add_compile_options(-Wno-unused-label)
+ set_source_files_properties( prebuilt/asmparse.c PROPERTIES COMPILE_FLAGS -O0 )
endif(CLR_CMAKE_PLATFORM_UNIX)
add_executable(ilasm
diff --git a/src/ilasm/assembler.cpp b/src/ilasm/assembler.cpp
index 275b721f36..2398ba92f6 100644
--- a/src/ilasm/assembler.cpp
+++ b/src/ilasm/assembler.cpp
@@ -2274,7 +2274,7 @@ void Assembler::EmitSecurityInfo(mdToken token,
mdTypeRef tkTypeRef;
BinStr *pSig;
char *szMemberName;
- DWORD dwErrorIndex;
+ DWORD dwErrorIndex = 0;
if (pPermissions) {
@@ -2320,18 +2320,15 @@ void Assembler::EmitSecurityInfo(mdToken token,
uCount,
&dwErrorIndex)))
{
+ _ASSERT(uCount >= dwErrorIndex);
if (dwErrorIndex == uCount)
{
report->error("Failed to define security attribute set for 0x%08X\n", token);
}
else
{
- _ASSERT(uCount > dwErrorIndex);
- if (uCount > dwErrorIndex)
- {
- report->error("Failed to define security attribute set for 0x%08X\n (error in permission %u)\n",
- token, uCount - dwErrorIndex);
- }
+ report->error("Failed to define security attribute set for 0x%08X\n (error in permission %u)\n",
+ token, uCount - dwErrorIndex);
}
}
delete [] pAttrs;
diff --git a/src/ildasm/dasm.cpp b/src/ildasm/dasm.cpp
index add414d48e..8032af63d5 100644
--- a/src/ildasm/dasm.cpp
+++ b/src/ildasm/dasm.cpp
@@ -2041,7 +2041,7 @@ BYTE* PrettyPrintCABlobValue(PCCOR_SIGNATURE &typePtr,
float df = (float)atof(str);
// Must compare as underlying bytes, not floating point otherwise optmizier will
// try to enregister and comapre 80-bit precision number with 32-bit precision number!!!!
- if((*(ULONG*)&df != (ULONG)GET_UNALIGNED_VAL32(dataPtr))||(strchr(str,'#') != NULL))
+ if((*(ULONG*)&df != (ULONG)GET_UNALIGNED_VAL32(dataPtr))||IsSpecialNumber(str))
sprintf_s(str, 64,"0x%08X",(ULONG)GET_UNALIGNED_VAL32(dataPtr));
appendStr(out,str);
dataPtr +=4;
@@ -2060,7 +2060,7 @@ BYTE* PrettyPrintCABlobValue(PCCOR_SIGNATURE &typePtr,
double df = strtod(str, &pch);
// Must compare as underlying bytes, not floating point otherwise optmizier will
// try to enregister and comapre 80-bit precision number with 64-bit precision number!!!!
- if((*(ULONGLONG*)&df != (ULONGLONG)GET_UNALIGNED_VAL64(dataPtr))||(strchr(str,'#') != NULL))
+ if((*(ULONGLONG*)&df != (ULONGLONG)GET_UNALIGNED_VAL64(dataPtr))||IsSpecialNumber(str))
sprintf_s(str, 64, "0x%I64X",(ULONGLONG)GET_UNALIGNED_VAL64(dataPtr));
appendStr(out,str);
dataPtr +=8;
@@ -2733,7 +2733,7 @@ void DumpDefaultValue(mdToken tok, __inout __nullterminated char* szString, void
float df = (float)atof(szf);
// Must compare as underlying bytes, not floating point otherwise optmizier will
// try to enregister and comapre 80-bit precision number with 32-bit precision number!!!!
- if((*(ULONG*)&df == MDDV.m_ulValue)&&(strchr(szf,'#') == NULL))
+ if((*(ULONG*)&df == MDDV.m_ulValue)&&!IsSpecialNumber(szf))
szptr+=sprintf_s(szptr,SZSTRING_REMAINING_SIZE(szptr)," = %s(%s)",KEYWORD("float32"),szf);
else
szptr+=sprintf_s(szptr,SZSTRING_REMAINING_SIZE(szptr), " = %s(0x%08X)",KEYWORD("float32"),MDDV.m_ulValue);
@@ -2748,7 +2748,7 @@ void DumpDefaultValue(mdToken tok, __inout __nullterminated char* szString, void
szf[31]=0;
// Must compare as underlying bytes, not floating point otherwise optmizier will
// try to enregister and comapre 80-bit precision number with 64-bit precision number!!!!
- if((*(ULONGLONG*)&df == MDDV.m_ullValue)&&(strchr(szf,'#') == NULL))
+ if((*(ULONGLONG*)&df == MDDV.m_ullValue)&&!IsSpecialNumber(szf))
szptr+=sprintf_s(szptr,SZSTRING_REMAINING_SIZE(szptr)," = %s(%s)",KEYWORD("float64"),szf);
else
szptr+=sprintf_s(szptr,SZSTRING_REMAINING_SIZE(szptr), " = %s(0x%I64X) // %s",KEYWORD("float64"),MDDV.m_ullValue,szf);
diff --git a/src/ildasm/dis.cpp b/src/ildasm/dis.cpp
index 32e4b6fc1c..796271b356 100644
--- a/src/ildasm/dis.cpp
+++ b/src/ildasm/dis.cpp
@@ -1600,7 +1600,7 @@ BOOL Disassemble(IMDInternalImport *pImport, BYTE *ILHeader, void *GUICookie, md
float fd = (float)atof(szf);
// Must compare as underlying bytes, not floating point otherwise optmizier will
// try to enregister and comapre 80-bit precision number with 32-bit precision number!!!!
- if(((__int32&)fd == v)&&(strchr(szf,'#') == NULL))
+ if(((__int32&)fd == v)&&!IsSpecialNumber(szf))
szptr+=sprintf_s(szptr,SZSTRING_REMAINING_SIZE(szptr), "%-10s %s", pszInstrName, szf);
else
szptr+=sprintf_s(szptr,SZSTRING_REMAINING_SIZE(szptr), "%-10s (%2.2X %2.2X %2.2X %2.2X)",
@@ -1639,7 +1639,7 @@ BOOL Disassemble(IMDInternalImport *pImport, BYTE *ILHeader, void *GUICookie, md
double df = strtod(szf, &pch); //atof(szf);
// Must compare as underlying bytes, not floating point otherwise optmizier will
// try to enregister and comapre 80-bit precision number with 64-bit precision number!!!!
- if(((__int64&)df == v)&&(strchr(szf,'#') == NULL))
+ if (((__int64&)df == v)&&!IsSpecialNumber(szf))
szptr+=sprintf_s(szptr,SZSTRING_REMAINING_SIZE(szptr), "%-10s %s", pszInstrName, szf);
else
szptr+=sprintf_s(szptr,SZSTRING_REMAINING_SIZE(szptr), "%-10s (%2.2X %2.2X %2.2X %2.2X %2.2X %2.2X %2.2X %2.2X)",
@@ -2789,3 +2789,9 @@ static BOOL ConvToLiteral(__inout __nullterminated char* retBuff, const WCHAR* s
return ret;
}
+bool IsSpecialNumber(const char* szf)
+{
+ return (strchr(szf, '#') != NULL)
+ || (strstr(szf, "nan") != NULL) || (strstr(szf, "NAN") != NULL)
+ || (strstr(szf, "inf") != NULL) || (strstr(szf, "INF") != NULL);
+}
diff --git a/src/ildasm/dis.h b/src/ildasm/dis.h
index 00a689eb05..dd991901f5 100644
--- a/src/ildasm/dis.h
+++ b/src/ildasm/dis.h
@@ -85,6 +85,7 @@ char* DumpUnicodeString(void* GUICookie,
void TokenSigInit(IMDInternalImport *pImport);
void TokenSigDelete();
+bool IsSpecialNumber(const char*);
//---------------- see DMAN.CPP--------------------------------------------------
diff --git a/src/inc/eventtracebase.h b/src/inc/eventtracebase.h
index 13810b015e..bcc865d5a5 100644
--- a/src/inc/eventtracebase.h
+++ b/src/inc/eventtracebase.h
@@ -294,15 +294,10 @@ extern "C" {
EtwCallout(RegHandle, Descriptor, NumberOfArguments, EventData)
#endif //!DONOT_DEFINE_ETW_CALLBACK && !DACCESS_COMPILE
-#include <clretwallmain.h>
-
-#elif defined(__LINUX__)
-
-#include "clrallevents.h"
-#else
-#error "A tracing System has not been enabled for this Platform"
#endif //!FEATURE_PAL
+#include "clretwallmain.h"
+
// The bulk type event is too complex for MC.exe to auto-generate proper code.
// Use code:BulkTypeEventLogger instead.
#ifdef FireEtwBulkType
diff --git a/src/inc/genXplatEtw.pl b/src/inc/genXplatEtw.pl
deleted file mode 100644
index c6d8b65928..0000000000
--- a/src/inc/genXplatEtw.pl
+++ /dev/null
@@ -1,601 +0,0 @@
-##
-## Copyright (c) Microsoft. All rights reserved.
-## Licensed under the MIT license. See LICENSE file in the project root for full license information.
-##
-#
-#USAGE:
-#Add Events: modify <root>src/vm/ClrEtwAll.man
-#Look at the Code in <root>/src/inc/genXplatLttng.pl for using subroutines in this file
-#
-
-use strict;
-use warnings;
-use XML::DOM;
-use FindBin;
-use Scalar::Util qw(looks_like_number);
-use Term::ANSIColor;
-our $stdprolog=<<Copy_Right;
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatEtw.pl
-
-******************************************************************/
-
-Copy_Right
-
-
-our $lindent = " ";
-our %palDataTypeMapping =(
-#constructed types
- "win:null" =>" ",
- "win:Int64" =>"const __int64",
- "win:ULong" =>"const ULONG",
- "win:count" =>"*",
- "win:Struct" =>"const void",
-#actual spec
- "win:GUID" =>"const GUID",
- "win:AnsiString" =>"LPCSTR",
- "win:UnicodeString" =>"PCWSTR",
- "win:Double" =>"const double",
- "win:Int32" =>"const signed int",
- "win:Boolean" =>"const BOOL",
- "win:UInt64" =>"const unsigned __int64",
- "win:UInt32" =>"const unsigned int",
- "win:UInt16" =>"const unsigned short",
- "win:UInt8" =>"const unsigned char",
- "win:Pointer" =>"const void*",
- "win:Binary" =>"const BYTE"
-);
-
-#the abstract templates are created out of the templates in the manifest,
-#they generally correspond one to one, but if the number of arguments in the
-#manifest template > 10 it is broken down to a different abstract template with
-#the same name followed by suffix _<num>
-
- #return values
-# my %allTemplatemap; #maps manifest templates to the list of abstract templates
-# my %allAbstractTemplateTypes; #has all the required info on abstract template
-# Fields:
-# "type"=> AbstractTypeName as given in the Manifest,
-# "var" => The Name of the Variable as given in the Manifest,
-# "count" =>indicates if the variable is a pointer to a memory location
-#
-# my %allTemplateVarProps; # maps size occupied in memory for every pointer by the variable name per abstract template
-#
-my @ignoredXmlTemplateAttribes = ("map","outType");
-my @usedXmlTemplateAttribes = ("name","inType","count", "length");
-sub ParseTemplates
-{
- my @rTemplateNodes = @_;
-
- #return values
- my %allTemplatemap;
- my %allAbstractTemplateTypes;
- my %allTemplateVarProps;
-
- foreach my $rTemplateNode (@rTemplateNodes)
- {
- my $templateName = $rTemplateNode->getAttribute('tid');
- #step 1: Get the list of arguments
- my @fnSignature;
- my %fnSignatureshadow;
- my %varProps;
- my %varDependencies;
- my $count = 0;
-
-#validate that no new attribute is added to XML file that we do not know about
-my %ignoredXmlTemplateAttribes = map {$_ => 1} @ignoredXmlTemplateAttribes;
-my %usedXmlTemplateAttribes = map {$_ => 1} @usedXmlTemplateAttribes;
-
- foreach my $rdataNode ($rTemplateNode->getElementsByTagName('data',0))
- {
- my $nodemap = $rdataNode->getAttributes;
-
- for my $val ($nodemap->getValues)
- {
- my $attrib_name = $val->getName();
- if (!exists($ignoredXmlTemplateAttribes{$attrib_name}) && !exists($usedXmlTemplateAttribes{$attrib_name}))
- {
- die "unknown attribute $attrib_name in template:$templateName";
- }
- }
- }
-#end of validation
-
- foreach my $rdataNode ($rTemplateNode->getElementsByTagName('data',0))
- {
- my $dataName = $rdataNode->getAttribute('name');
- my $wintypeName = $rdataNode->getAttribute('inType');
-
- #count and length are the same
-
- my $wincount = $rdataNode->getAttribute('count');
- my $winlength = $rdataNode->getAttribute('length');
-
- if ((looks_like_number($winlength) && $winlength != 1) || $winlength ne "") {
- $wincount =$winlength;
- }
- #connstruct function signature
- $fnSignatureshadow{$dataName} = {"type"=> $wintypeName,"var" => $dataName, "count" =>"win:null"};
- $fnSignature[$count++] = $dataName;
- my @varDpnds = ($dataName);
-
- if (looks_like_number($wincount) && $wincount == 1){}
- elsif( $wincount ne "" )
- {
- $fnSignatureshadow{$dataName}{"count"} ="win:count";
- my $countVarName = $wincount;
- if ( exists $fnSignatureshadow{$countVarName})
- {
-
- $varProps{$dataName} = "$countVarName";
- @varDpnds = ($countVarName,@varDpnds); # make sure $dataName is the last in the list
- }
- elsif (looks_like_number($wincount))
- {
- $varProps{$dataName} = "$wincount";
-
- }
- else {
- die "don't know ehat the count: $count represents \n";
- }
-
- }
- #special case for GUIDS, consider them as structs
- if ($wintypeName eq "win:GUID")
- {
- $fnSignatureshadow{$dataName}{"count"} = "win:count";
- $varProps{$dataName} = "sizeof(GUID)/sizeof(int)";
- }
- $varDependencies{$dataName} = \@varDpnds;
- }
-
- foreach my $structToBeMarshalled ($rTemplateNode->getElementsByTagName('struct',0))
- {
-
- #add to the function signature
- my $struct_len = "Arg$count"."_Struct_Len_";
- my $struct_pointer = "Arg$count"."_Struct_Pointer_";
-
- $fnSignatureshadow{$struct_len} = {"type"=> "win:ULong","var" => $struct_len, "count" =>"win:null"};
- $fnSignatureshadow{$struct_pointer} = {"type"=> "win:Struct","var" => $struct_pointer, "count" =>"win:count"};
-
- $fnSignature[$count++] = $struct_len;
- $fnSignature[$count++] = $struct_pointer;
- #used in code generation
- my $structName = $structToBeMarshalled->getAttribute('name');
- my $countVarName = $structToBeMarshalled->getAttribute('count') || die "Struct $structName in template $templateName does not have attribute count";
- $varProps{$struct_pointer} = "$countVarName*$struct_len/sizeof(int)";
- $varDependencies{$struct_len} = [$struct_len];
- $varDependencies{$struct_pointer} = [$countVarName, $struct_len, $struct_pointer];
- }
-
-
- #at this point we have the complete argument list, now break them into chunks of ten
- #As Abstract supports a maximum of 10 arguments
- $count = 0;
- my $abstracttemplateName = $templateName;
- my $subevent_cnt = 1;
- my $last_inserted;
- my %abstractFnFrameShadow;
- my @abstractFnFrame;
-
- foreach my $dataName (@fnSignature)
- {
- FRAMEARGS:
- my $framecount = @abstractFnFrame;
- if ($count%10 == 0 and $framecount > 0)
- {
- #check if all the dependecies are present
- my $depExists = 1;
- my $dependecies = $varDependencies{$dataName};
- foreach my $dependency (@$dependecies)
- {
- if (not exists $abstractFnFrameShadow{$dependency})
- {
- $depExists = 0;
- last;
- }
- }
- #remove elements if the dependency list is not complete
- if( $depExists == 0 )
- {
-
- print color('bold red'), "***Warning: Test this feature out depends removed in $abstracttemplateName with @$dependecies\n ***";
- my $i=0;
- my $firstdependecy = @$dependecies[0] || die "no varDependencies for $dataName";
-
- foreach my $params (@abstractFnFrame)
- {
- my $varname = $params->{"var"} || die "no name ";
- if ($varname eq $firstdependecy ){ last; }
- $i++;
- }
-
- my $dependecieslen = @$dependecies;
- splice @abstractFnFrame, $i,$dependecieslen ;
- }
-
- @{$allAbstractTemplateTypes{$abstracttemplateName}} = @abstractFnFrame;
- push (@{$allTemplatemap{$templateName}}, $abstracttemplateName);
- $allTemplateVarProps{$abstracttemplateName} = \%varProps;
- #clear abstractFnFrameShadow
- undef %abstractFnFrameShadow;
- undef @abstractFnFrame ;
- $abstracttemplateName = "$templateName\_$subevent_cnt";
- $subevent_cnt++;
- $count = 0;
-
- next; # so that next frame can begin
- }
-
- my $dependecies = $varDependencies{$dataName} || die "no varDependencies for $dataName";
- foreach my $dependency (@$dependecies)
- {
-
- if (not exists $abstractFnFrameShadow{$dependency})
- {
- $abstractFnFrameShadow{$dependency} = 1;
- $abstractFnFrame[$count++] = $fnSignatureshadow{$dependency};
-
- # if ($dataName ne $dependency){
- goto FRAMEARGS;
- #}
- }
- }
- }
- my $templatelen = @fnSignature;
- if($templatelen == 0 || $count > 0)
- {
- push (@{$allTemplatemap{$templateName}}, $abstracttemplateName);
- $allAbstractTemplateTypes{$abstracttemplateName} =\@abstractFnFrame;
- $allTemplateVarProps{$abstracttemplateName} =\%varProps;
- }
- }
-
- return (\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps)
-}
-
-#generates the dummy header file which is used by the VM as entry point to the logging Functions
-sub GenerateclrEtwDummy
-{
- my ($rTemplateNodes,$allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps,$alleventname) = @_;
- my @rTemplateNodes = @$rTemplateNodes ;
- my @alleventname = @$alleventname ;
- my %allTemplatemap = %$allTemplatemap;
- my %allAbstractTemplateTypes = %$allAbstractTemplateTypes;
- my %allTemplateVarProps = %$allTemplateVarProps;
- my $clretmEvents;
-
- foreach my $reventNode (@alleventname)
- {
- my $eventName = $reventNode->getAttribute('symbol');
- my $templateName = $reventNode->getAttribute('template');
-
- #generate FireEtw functions
- my $fnptype = "\#define FireEtw$eventName(";
- my $line = "";
- if ($templateName ne '')
- {
- foreach my $subtemplates (@{$allTemplatemap{$templateName}})
- {
- my $fnSignature = $allAbstractTemplateTypes{$subtemplates};
-
- foreach my $params (@$fnSignature)
- {
- $line = $line.$params->{"var"}.", ";
- }
- }
- $line =~s/, +$//;
- }
- $fnptype = $fnptype.$line.") 0\n";
- $clretmEvents = $clretmEvents.$fnptype;
- }
- return $clretmEvents;
-}
-#generates the header file which is used by the VM as entry point to the logging Functions
-sub GenerateclrXplatEvents
-{
- my ($rTemplateNodes,$allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps,$alleventname) = @_;
- my @rTemplateNodes = @$rTemplateNodes ;
- my @alleventname = @$alleventname ;
- my %allTemplatemap = %$allTemplatemap;
- my %allAbstractTemplateTypes = %$allAbstractTemplateTypes;
- my %allTemplateVarProps = %$allTemplateVarProps;
- my $clrallEvents;
- foreach my $reventNode (@alleventname)
- {
- my $eventName = $reventNode->getAttribute('symbol');
- my $templateName = $reventNode->getAttribute('template');
-
- #generate EventEnabled
- $clrallEvents = $clrallEvents."extern \"C\" BOOL EventXplatEnabled$eventName();\n";
- #generate FireEtw functions
- my $fnptype = "extern \"C\" ULONG FireEtXplat$eventName(\n";
- my $line = "";
- if ($templateName ne '')
- {
- foreach my $subtemplates (@{$allTemplatemap{$templateName}})
- {
- my $fnSignature = $allAbstractTemplateTypes{$subtemplates};
-
- foreach my $params (@$fnSignature)
- {
- my $wintypeName = $params->{"type"};
- my $typewName = $palDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName";
- my $winCount = $params->{"count"};
- my $countw = $palDataTypeMapping{$winCount} || die "no mapping for $winCount";
- $line = $line.$lindent.$typewName.$countw." ";
- $line = $line.$params->{"var"};
- $line = $line.",\n";
- }
- }
- $line =~ s/,+$//;
- }
- $fnptype = $fnptype.$line.");\n";
- $clrallEvents = $clrallEvents.$fnptype;
- }
- return $clrallEvents;
-}
-sub GenerateclrallEvents
-{
- my ($rTemplateNodes,$allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps,$alleventname) = @_;
- my @rTemplateNodes = @$rTemplateNodes ;
- my @alleventname = @$alleventname ;
- my %allTemplatemap = %$allTemplatemap;
- my %allAbstractTemplateTypes = %$allAbstractTemplateTypes;
- my %allTemplateVarProps = %$allTemplateVarProps;
- my $clrallEvents;
- foreach my $reventNode (@alleventname)
- {
- my $eventName = $reventNode->getAttribute('symbol');
- my $templateName = $reventNode->getAttribute('template');
-
- #generate EventEnabled
- $clrallEvents = $clrallEvents."inline BOOL EventEnabled$eventName() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabled$eventName();}\n\n";
- #generate FireEtw functions
- my $fnptype = "inline ULONG FireEtw$eventName(\n";
- my $fnbody = $lindent."if (!EventEnabled$eventName()) {return ERROR_SUCCESS;}\n";
- my $line = "";
-
- if ($templateName ne '')
- {
- foreach my $subtemplates (@{$allTemplatemap{$templateName}})
- {
- my $fnSignature = $allAbstractTemplateTypes{$subtemplates};
-
- foreach my $params (@$fnSignature)
- {
- my $wintypeName = $params->{"type"};
- my $typewName = $palDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName";
- my $winCount = $params->{"count"};
- my $countw = $palDataTypeMapping{$winCount} || die "no mapping for $winCount";
- $fnptype = $fnptype.$lindent.$typewName.$countw." ";
- $fnptype = $fnptype.$params->{"var"};
- $fnptype = $fnptype.",\n";
- }
- #fnsignature
- foreach my $params (@$fnSignature)
- {
- $line = $line.$params->{"var"};
- $line = $line.",";
- }
-
- }
- $line =~ s/,+$//;
- $fnptype =~ s/,+$//;
- }
-
- $fnptype = $fnptype.")\n{\n";
- $fnbody = $fnbody.$lindent."return FireEtXplat$eventName(".$line.");\n";
- $fnbody = $fnbody."}\n\n";
-
- $clrallEvents = $clrallEvents.$fnptype.$fnbody;
- }
- return $clrallEvents;
-}
-
-# Generates PAL tests that are used for sanity checking of the Logging Functions
-sub GenerateclralltestEvents
-{
- my ($rTemplateNodes,$allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps,$alleventname) = @_;
- my @rTemplateNodes = @$rTemplateNodes ;
- my @alleventname = @$alleventname ;
- my %allTemplatemap = %$allTemplatemap;
- my %allAbstractTemplateTypes = %$allAbstractTemplateTypes;
- my %allTemplateVarProps = %$allTemplateVarProps;
- my $clrallTestEvents;
- foreach my $reventNode (@alleventname)
- {
- my $eventName = $reventNode->getAttribute('symbol');
- my $templateName = $reventNode->getAttribute('template');
-
- #generate EventEnabled
- $clrallTestEvents = $clrallTestEvents." EventXplatEnabled$eventName();\n";
- #generate FireEtw functions
- my $fnptype = "Error |= FireEtXplat$eventName(\n";
- my $line="";
- if ($templateName ne '')
- {
- foreach my $subtemplates (@{$allTemplatemap{$templateName}})
- {
- my $fnSignature = $allAbstractTemplateTypes{$subtemplates};
-
- foreach my $params (@$fnSignature)
- {
- my $wintypeName = $params->{"type"};
- my $winCount = $params->{"count"};
- my $countw = $palDataTypeMapping{$winCount} || die "no mapping for $winCount";
- my $varName = $params->{"var"};
- my $argline;
- if ( uc($varName) eq "COUNT")
- {
- $argline="2";
- }
- else
- {
- if( $wintypeName eq "win:GUID"){ $argline = "&myGuid";}
- elsif( $wintypeName eq "win:Binary"){ $argline = "win_Binary";}
- elsif( $wintypeName eq "win:Pointer" && $winCount eq "win:count"){ $argline = "(const void**)&var11";}
- elsif( $wintypeName eq "win:Pointer"){ $argline = "(const void*)var11";}
- elsif( $wintypeName eq "win:AnsiString" ){ $argline = "\" Testing AniString \"";}
- elsif( $wintypeName eq "win:UnicodeString" ){ $argline = "W(\" Testing UnicodeString \")";}
- else{
- if( $winCount eq "win:count"){ $line = $line."&";}
- $argline = $wintypeName;
- $argline =~ s/:/_/;
- }
-
- }
- $line = $line.$argline;
- $line = $line.",\n";
- }
- }
- $line =~ s/,+$//;
- }
- $fnptype = $fnptype.$line.");\n";
- $clrallTestEvents = $clrallTestEvents.$fnptype;
- }
- return $clrallTestEvents;
-}
-
-sub WriteTestProlog
-{
- #Test prolog
- my $clrallTestEvents = <<TestCPP_Prolog;
-/*=====================================================================
-**
-** Source: clralltestevents.cpp
-**
-** Purpose: Ensure Correctness of Eventing code
-**
-**
-**===================================================================*/
-#include <palsuite.h>
-#include <clrxplatevents.h>
-
-typedef struct _Struct1 {
- ULONG Data1;
- unsigned short Data2;
- unsigned short Data3;
- unsigned char Data4[8];
-} Struct1;
-
-Struct1 var21[2] = { { 245, 13, 14, "deadbea" }, { 542, 0, 14, "deadflu" } };
-
-Struct1* var11 = var21;
-Struct1* win_Struct = var21;
-
-GUID myGuid ={ 245, 13, 14, "deadbea" };
-double win_Double =34.04;
-ULONG win_ULong = 34;
-BOOL win_Boolean = FALSE;
-unsigned __int64 win_UInt64 = 114;
-unsigned int win_UInt32 = 4;
-unsigned short win_UInt16 = 12;
-unsigned char win_UInt8 = 9;
-int win_Int32 = 12;
-BYTE* win_Binary =(BYTE*)var21 ;
-int __cdecl main(int argc, char **argv)
-{
-
- /* Initialize the PAL.
- */
-
- if(0 != PAL_Initialize(argc, argv))
- {
- return FAIL;
- }
-
- ULONG Error = ERROR_SUCCESS;
-#if defined(FEATURE_EVENT_TRACE)
- Trace("\\n Starting functional eventing APIs tests \\n");
-
-TestCPP_Prolog
-}
-
-sub WriteTestEpilog
-{
- my $clrallTestEvents=<<TestCPP_Epilog;
- /* Shutdown the PAL.
- */
-
- if (Error != ERROR_SUCCESS)
- {
- Fail("One or more eventing Apis failed\\n ");
- return FAIL;
- }
- Trace("\\n All eventing APIs were fired succesfully \\n");
-#endif //defined(FEATURE_EVENT_TRACE)
- PAL_Terminate();
- return PASS;
-}
-
-TestCPP_Epilog
- return $clrallTestEvents;
-}
-# This function generates files which are independent of the logging system
-# and provides the entry point to the Event Logging system
-sub GeneratePlformIndFiles
-{
-
-
- my $sClrEtwAllMan = $_[0]; #the manifest
- my $rParser = new XML::DOM::Parser;
- my $rClrEtwAllMan = $rParser->parsefile($sClrEtwAllMan);
- my $clrxplatevents = "$FindBin::Bin/../pal/prebuilt/inc/clrxplatevents.h";
- my $clrallevents = "$FindBin::Bin/../pal/prebuilt/inc/clrallevents.h";
- my $clretwdummy = "$FindBin::Bin/../pal/prebuilt/inc/etmdummy.h";
- my $clralltestevents = "$FindBin::Bin/../pal/tests/palsuite/eventprovider/clralltestevents.cpp";
-
- open(clrallEvents, ">$clrallevents") || die "Cannot open $clrallevents\n";
- open(clrXplatEvents, ">$clrxplatevents") || die "Cannot open $clrxplatevents\n";
- open(clrEtwDummy, ">$clretwdummy") || die "Cannot open $clretwdummy\n";
- open(clrallTestEvents, ">$clralltestevents") || die "Cannot open $clrallevents\n";
-
- print clrallEvents $stdprolog;
- print clrXplatEvents $stdprolog;
- print clrEtwDummy $stdprolog;
- print clrallTestEvents $stdprolog;
- print clrallTestEvents WriteTestProlog();
- print clrallEvents "#include \"clrxplatevents.h\"\n";
-
- foreach my $rProviderNode ($rClrEtwAllMan->getElementsByTagName('provider'))
- {
- my @rTemplateNodes = $rProviderNode->getElementsByTagName('template');
- my @alleventname = $rProviderNode->getElementsByTagName('event');
-#Parse the XML file to construct datatypes used in code generation below
-
- my ($allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps) = ParseTemplates(@rTemplateNodes);
-
- my %allTemplatemap = %$allTemplatemap;
- my %allAbstractTemplateTypes = %$allAbstractTemplateTypes;
- my %allTemplateVarProps = %$allTemplateVarProps;
-
-#vm header:
- print clrallEvents GenerateclrallEvents(\@rTemplateNodes,\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps,\@alleventname);
-
-#pal: create clrallevents.h
- print clrXplatEvents GenerateclrXplatEvents(\@rTemplateNodes,\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps,\@alleventname);
-
-#pal: create etmdummy.h
- print clrEtwDummy GenerateclrEtwDummy(\@rTemplateNodes,\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps,\@alleventname);
-
-#paltest: create clralltestevents.cpp
- print clrallTestEvents GenerateclralltestEvents(\@rTemplateNodes,\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps,\@alleventname);
- }
-
- print clrallTestEvents WriteTestEpilog();
-
- close(clrallEvents);
- close(clrXplatEvents);
- close(clrallTestEvents);
- $rClrEtwAllMan->dispose;
-}
-
diff --git a/src/inc/genXplatLtnng.pl b/src/inc/genXplatLtnng.pl
deleted file mode 100644
index 397758ee21..0000000000
--- a/src/inc/genXplatLtnng.pl
+++ /dev/null
@@ -1,541 +0,0 @@
-##
-## Copyright (c) Microsoft. All rights reserved.
-## Licensed under the MIT license. See LICENSE file in the project root for full license information.
-##
-#
-#USAGE:
-#Add Events: modify <root>src/vm/ClrEtwAll.man
-#Generate Code : perl <root>/src/inc/genXplatLttng.pl
-#
-
-use strict;
-use warnings;
-use XML::DOM;
-use FindBin;
-use Scalar::Util qw(looks_like_number);
-
-
-our $lindent;
-our %palDataTypeMapping;
-
-require "$FindBin::Bin/genXplatEtw.pl";
-
-my $stdprolog=<<Copy_Right;
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-Copy_Right
-
-my %lttngDataTypeMapping =(
-#constructed types
- "win:null" =>" ",
- "win:Int64" =>"const __int64",
- "win:ULong" =>"const ULONG",
- "win:count" =>"*",
- "win:Struct" =>"const int",
-#actual spec
- "win:GUID" =>"const int",
- "win:AnsiString" =>"const char*",
- "win:UnicodeString" =>"const char*",
- "win:Double" =>"const double",
- "win:Int32" =>"const signed int",
- "win:Boolean" =>"const BOOL",
- "win:UInt64" =>"const unsigned __int64",
- "win:UInt32" =>"const unsigned int",
- "win:UInt16" =>"const unsigned short",
- "win:UInt8" =>"const unsigned char",
- "win:Pointer" =>"const size_t",
- "win:Binary" =>"const BYTE"
-);
-
-my %ctfDataTypeMapping =(
-#constructed types
- "win:Int64" =>"ctf_integer",
- "win:ULong" =>"ctf_integer",
- "win:count" =>"ctf_sequence",
- "win:Struct" =>"ctf_sequence",
-#actual spec
- "win:GUID" =>"ctf_sequence",
- "win:AnsiString" =>"ctf_string",
- "win:UnicodeString" =>"ctf_string",
- "win:Double" =>"ctf_float",
- "win:Int32" =>"ctf_integer",
- "win:Boolean" =>"ctf_integer",
- "win:UInt64" =>"ctf_integer",
- "win:UInt32" =>"ctf_integer",
- "win:UInt16" =>"ctf_integer",
- "win:UInt8" =>"ctf_integer", #actually a character
- "win:Pointer" =>"ctf_integer",
- "win:Binary" =>"ctf_sequence"
-);
-
-#we loop over the template property so that the code generated is same every time the script runs
-#generate the code in
-
-# generate $lttngevent*header.h
-# each template corresponds to a TRACEPOINT_EVENT_CLASS, its structure would be like
-#define ThreadCreated_TRACEPOINT_ARGS \
-# TP_ARGS(\
-# const unsigned __int64, ManagedThreadID,\
-# cosnt unsigned __int64, AppDomainID,\
-# const unsigned int, Flags,\
-# const unsigned int, ManagedThreadIndex,\
-# const unsigned int, OSThreadID,\
-# const unsigned short, ClrInstanceID\
-# )
-#TRACEPOINT_EVENT_CLASS(
-# Microsoft_DotNETRuntime,
-# ThreadCreated ,
-# ThreadCreated_TRACEPOINT_ARGS,
-# TP_FIELDS(
-# ctf_integer(unsigned __int64, ManagedThreadID,ManagedThreadID)
-# ctf_integer(unsigned __int64, AppDomainID,AppDomainID)
-# ctf_integer(unsigned int, Flags,Flags)
-# ctf_integer(unsigned int, ManagedThreadIndex,ManagedThreadIndex)
-# ctf_integer(unsigned int, OSThreadID,OSThreadID)
-# ctf_integer(unsigned short, ClrInstanceID,ClrInstanceID)
-# )
-#)
-#define ThreadCreatedT_TRACEPOINT_INSTANCE(name) \
-#TRACEPOINT_EVENT_INSTANCE(\
-# Microsoft_DotNETRuntime,\
-# ThreadCreated ,\
-# name ,\
-# ThreadCreated_TRACEPOINT_ARGS\
-#)
-sub GenerateLttngHeader
-{
- my ($providerName,$rTemplateNodes,$allTemplatemap,$allLTTngTemplateTypes,$allTemplateVarProps,$alleventname) = @_;
- my @rTemplateNodes = @$rTemplateNodes ;
- my @alleventname = @$alleventname ;
- my %allTemplatemap = %$allTemplatemap;
- my %allLTTngTemplateTypes = %$allLTTngTemplateTypes;
- my %allTemplateVarProps = %$allTemplateVarProps;
- my $lTTngHdr;
-
- foreach my $rTemplateNode (@rTemplateNodes)
- {
- my $XMLtemplateName = $rTemplateNode->getAttribute('tid');
- foreach my $templateName (@{$allTemplatemap{$XMLtemplateName}})
- {
- my $fnSignature = $allLTTngTemplateTypes{$templateName};
- my $tp_args;
-#TP_ARGS
- $tp_args=<<TP_ARGS_PROLOG;
-
-#define $templateName\_TRACEPOINT_ARGS \\
-TP_ARGS(\\
-TP_ARGS_PROLOG
- foreach my $params (@$fnSignature)
- {
-
- my $wintypeName = $params->{"type"} || die "no type ";
- my $varname = $params->{"var"} || die "no name ";
- my $winCount = $params->{"count"} || die "no count ";
- my $countw = $lttngDataTypeMapping{$winCount} || die "no mapping for $winCount";
-
- #TP_ARGS
- my $typewName = $lttngDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName";
- $tp_args = $tp_args." $typewName"."$countw";
- $tp_args =~s/ +$//;
- $tp_args = $tp_args." ,$varname,\\\n";
-
- }
- $tp_args =~s/,\\\n+$//;
- $tp_args = $tp_args."\\\n)\n";
- $lTTngHdr = $lTTngHdr.$tp_args;
-# end of TP_ARGS
-
-#TP Fields and Event Class
-
-#start TP_EVENT_CLASS
- my $tp_fields = <<TP_EVENT_CLASS_CONT;
-TRACEPOINT_EVENT_CLASS(
- $providerName,
- $templateName,
- $templateName\_TRACEPOINT_ARGS,
- TP_FIELDS(
-TP_EVENT_CLASS_CONT
-
- foreach my $params (@$fnSignature)
- {
- my $wintypeName = $params->{"type"};
- my $varname = $params->{"var"};
- my $winCount = $params->{"count"};
- my $countw = $lttngDataTypeMapping{$winCount} || die "no mapping for $winCount";
- my $typewName = $lttngDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName";
- $typewName =~s/^const //;
-
- #TP_FIELDS
- my $ctf_type;
- my $tp_fields_body;
- my $varProps = $allTemplateVarProps{$templateName};
-
- if (exists $varProps->{$varname})
- {
- #this is an explicit struct treat as a sequence
- $ctf_type = "ctf_sequence";
- my $sizeofseq = "$varProps->{$varname}";
- $tp_fields_body = "$typewName, $varname, $varname,size_t,$sizeofseq";
- }
- else
- {
- $ctf_type = $ctfDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName";
-
- if ($ctf_type eq "ctf_string")
- {
- $tp_fields_body = "$varname,$varname";
- }
- elsif ($ctf_type eq "ctf_integer" || $ctf_type eq "ctf_float")
- {
- $tp_fields_body = "$typewName,$varname,$varname";
- }
- elsif ($ctf_type eq "ctf_sequence")
- {
- die "ctf_sequence needs to have its memory expilicitly laid out";
- }
- else
- {
- die "no such ctf intrinsic called $ctf_type";
- }
-
- }
-
- $tp_fields = $tp_fields." $ctf_type($tp_fields_body)\n";
- }
- $tp_fields = $tp_fields." )\n)\n";
- $lTTngHdr = $lTTngHdr.$tp_fields;
-
-
-# end of TP_EVENT_CLASS
- #
-# Macro for defining event instance
- $lTTngHdr = $lTTngHdr."#define $templateName";
- $lTTngHdr = $lTTngHdr.<<TP_EVENT_CLASS_EPILOG;
-T_TRACEPOINT_INSTANCE(name) \\
-TRACEPOINT_EVENT_INSTANCE(\\
- $providerName,\\
- $templateName ,\\
- name ,\\
- $templateName\_TRACEPOINT_ARGS \\
-)
-TP_EVENT_CLASS_EPILOG
-
-#end Macro for defining event instance
- }
- }
-#add an empty template node to just specify the event name in the event stream
- $lTTngHdr = $lTTngHdr.<<TP_EVENT_CLASS_EMPTY;
-TRACEPOINT_EVENT_CLASS(
- $providerName,
- emptyTemplate ,
- TP_ARGS(),
- TP_FIELDS()
-)
-#define T_TRACEPOINT_INSTANCE(name) \\
-TRACEPOINT_EVENT_INSTANCE(\\
- $providerName,\\
- emptyTemplate,\\
- name ,\\
- TP_ARGS()\\
-)
-TP_EVENT_CLASS_EMPTY
-#end of empty template
- # create the event instance in headers
- foreach my $reventNode (@alleventname)
- {
- my $eventName = $reventNode->getAttribute('symbol');
- my $templateName = $reventNode->getAttribute('template');
-
- if ($eventName eq '') { die " $reventNode event does not have a symbol"}
- if ($templateName eq '')
- {
- $lTTngHdr = $lTTngHdr."T_TRACEPOINT_INSTANCE($eventName)\n";
- next;
- }
-
- foreach my $subtemplates (@{$allTemplatemap{$templateName}})
- {
- my $subevent = $subtemplates;
- $subevent =~s/$templateName//;
- $lTTngHdr = $lTTngHdr."$subtemplates"."T_TRACEPOINT_INSTANCE($eventName$subevent)\n";
- }
-
- }
-
- $lTTngHdr = $lTTngHdr.<<EOT_Epilog;
-#endif /* LTTNG_CORECLR_H$providerName */
-#include <lttng/tracepoint-event.h>
-EOT_Epilog
-
- return $lTTngHdr;
-}
-
-sub GenerateLttngTpProvider
-{
- my ($providerName,$rTemplateNodes,$allTemplatemap,$allLTTngTemplateTypes,$allTemplateVarProps,$alleventname) = @_;
- my @rTemplateNodes = @$rTemplateNodes ;
- my @alleventname = @$alleventname ;
- my %allTemplatemap = %$allTemplatemap;
- my %allLTTngTemplateTypes = %$allLTTngTemplateTypes;
- my %allTemplateVarProps = %$allTemplateVarProps;
- my $lTTngImpl;
-
- foreach my $reventNode (@alleventname)
- {
- my @vars_to_be_freed; #vars representing the allocation we make
- my $eventName = $reventNode->getAttribute('symbol');
- my $templateName = $reventNode->getAttribute('template');
-
- #generate EventXplatEnabled
- $lTTngImpl = $lTTngImpl."extern \"C\" BOOL EventXplatEnabled$eventName(){ return TRUE;}\n";
- #generate FireEtw functions
- my $fnptype = "extern \"C\" ULONG FireEtXplat$eventName(\n";
- my $linefnptype = "";
-
- if ( $templateName ne "")
- {
- foreach my $subtemplates (@{$allTemplatemap{$templateName}})
- {
- my $fnSignature = $allLTTngTemplateTypes{$subtemplates} ;
-
-
- foreach my $params (@$fnSignature)
- {
- my $wintypeName = $params->{"type"};
- my $typewName = $palDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName";
- my $winCount = $params->{"count"};
- my $countw = $palDataTypeMapping{$winCount} || die "no mapping for $winCount";
- $linefnptype = $linefnptype.$lindent.$typewName.$countw;
- $linefnptype =~s/ +$//;
- $linefnptype = $linefnptype." ";
- $linefnptype = $linefnptype.$params->{"var"};
- $linefnptype = $linefnptype.",\n";
- }
-
- }
- $linefnptype =~ s/,+$//;
- }
- $fnptype = $fnptype.$linefnptype.")\n";
- $fnptype = $fnptype."{\n ULONG Error = ERROR_WRITE_FAULT;\n";
- $lTTngImpl = $lTTngImpl.$fnptype;
-#start of fn body
- $lTTngImpl = $lTTngImpl.<<FN_PROLOG;
- if (!EventXplatEnabled$eventName()){ return ERROR_SUCCESS;};
-FN_PROLOG
- my $linefnbody = "";
- if ($templateName ne '')
- {
-#emit code to init variables convert unicode to ansi string
- foreach my $subtemplates (@{$allTemplatemap{$templateName}})
- {
- my $fnSignature = $allLTTngTemplateTypes{$subtemplates};
- foreach my $params (@$fnSignature)
- {
- my $wintypeName = $params->{"type"};
- if($wintypeName eq "win:UnicodeString")
- {
-
- my $paramname = $params->{"var"};
- $lTTngImpl = $lTTngImpl.<<UTFCODE_INIT;
- INT $paramname\_path_size = -1;
- INT $paramname\_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, $paramname, -1, NULL, 0, NULL, NULL );
- CHAR* $paramname\_full_name=NULL;
-UTFCODE_INIT
- }
- }
- }
-
- $lTTngImpl = $lTTngImpl."\n";
-
- foreach my $subtemplates (@{$allTemplatemap{$templateName}})
- {
- my $fnSignature = $allLTTngTemplateTypes{$subtemplates};
- my $subevent = "";
-
- if ($linefnbody ne "")
- {
- $linefnbody =~ s/,+$//;
- $linefnbody = $linefnbody." );\n";
- }
-
-#start emitting Tracepoint
- $subevent = $subtemplates;
- $subevent =~s/$templateName//;
- $linefnbody = <<FN_body_cont;
- $linefnbody
- tracepoint(
- $providerName,
- $eventName$subevent,
-FN_body_cont
- foreach my $params (@$fnSignature)
- {
- $linefnbody = $linefnbody." ";
- my $wintypeName = $params->{"type"};
- my $winCount = $params->{"count"};
- my $paramname = $params->{"var"};
- my $ctf_type = $ctfDataTypeMapping{$winCount} || $ctfDataTypeMapping{$wintypeName} || die "no such ctf mapping for $eventName: $wintypeName $paramname "; ;
- if ($ctf_type eq "ctf_string")
- {
- if($wintypeName eq "win:UnicodeString")
- {
-#emit code to convert unicode to ansi string
- $lTTngImpl = $lTTngImpl.<<UTFCODE;
- $paramname\_full_name = (CHAR*)malloc($paramname\_full_name_path_size*sizeof(CHAR));
- _ASSERTE($paramname\_full_name != NULL);
- if($paramname\_full_name == NULL){goto LExit;}
-
- $paramname\_path_size = WideCharToMultiByte( CP_ACP, 0, $paramname, -1, $paramname\_full_name, $paramname\_full_name_path_size, NULL, NULL );
- _ASSERTE($paramname\_path_size == $paramname\_full_name_path_size );
- if( $paramname\_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-UTFCODE
- push @vars_to_be_freed, "$paramname\_full_name";
-
- $linefnbody = $linefnbody."$paramname\_full_name";
- $linefnbody = $linefnbody.",\n";
- next;
- }
- }
- elsif (($ctf_type eq "ctf_sequence") or ($wintypeName eq "win:Pointer"))
- {
-
- $linefnbody = $linefnbody."($lttngDataTypeMapping{$wintypeName}$lttngDataTypeMapping{$winCount}";
- $linefnbody =~ s/ +$//;
- $linefnbody = $linefnbody.") ";
- }
- $linefnbody = $linefnbody.$paramname;
- $linefnbody = $linefnbody.",\n";
- }
- }
- $linefnbody =~ s/,+$//;
- $linefnbody = $linefnbody." );\n";
- }
- else
- {
- $linefnbody = <<FN_body_cont;
- $linefnbody
- tracepoint(
- $providerName,
- $eventName
- );
-FN_body_cont
-
- }
-
- $lTTngImpl = $lTTngImpl.<<FnBodyComp;
- $linefnbody
- Error = ERROR_SUCCESS;
-FnBodyComp
-#end of fn
- if (@vars_to_be_freed)
- {
- $lTTngImpl = $lTTngImpl."LExit:\n";
- }
-
- while( my $var = pop @vars_to_be_freed)
- {
- $lTTngImpl = $lTTngImpl. " if ($var != NULL) {free($var);}\n";
- }
- $lTTngImpl = $lTTngImpl. "\nreturn Error;\n}\n";
- }
-
- return $lTTngImpl;
-}
-sub GenerateLttngFiles
-{
- my $sClrEtwAllMan = "$FindBin::Bin/../vm/ClrEtwAll.man";
- my $rParser = new XML::DOM::Parser;
- my $rClrEtwAllMan = $rParser->parsefile($sClrEtwAllMan);
-
- GeneratePlformIndFiles($sClrEtwAllMan);
-
- foreach my $rProviderNode ($rClrEtwAllMan->getElementsByTagName('provider'))
- {
-
- my $providerName = $rProviderNode->getAttribute('name');
- $providerName =~s/Windows-//i;
- $providerName =~s/Microsoft-//i;
- my $providerName_File = $providerName;
- $providerName_File =~s/-//g;
- $providerName_File = "\L$providerName\E";
- $providerName =~s/-/_/g;
-
- my $lttngevntheadershortname = "lttng/tp$providerName_File.h";
- my $lttngevntheader = "$FindBin::Bin/../pal/src/eventprovider/$lttngevntheadershortname";
- my $lttngevntprov = "$FindBin::Bin/../pal/src/eventprovider/lttng/eventprov$providerName_File.cpp";
- my $lttngevntprovTp = "$FindBin::Bin/../pal/src/eventprovider/lttng/traceptprov$providerName_File.cpp";
-
- open(lTTngImpl, ">$lttngevntprov") || die "Cannot open $lttngevntprov\n";
- open(lTTngTpImpl, ">$lttngevntprovTp") || die "Cannot open $lttngevntprovTp\n";
- open(lTTngHdr, ">$lttngevntheader") || die "Cannot open $lttngevntheader\n";
-
-
- print lTTngHdr $stdprolog;
- print lTTngImpl $stdprolog;
- print lTTngTpImpl $stdprolog;
-
- print lTTngTpImpl <<LTTNg_TPIMp;
-
-#define TRACEPOINT_CREATE_PROBES
-#include "./$lttngevntheadershortname"
-LTTNg_TPIMp
-
- print lTTngHdr <<LTTNgHDR_Prolog;
-
-#include "palrt.h"
-#include "pal.h"
-
-#undef TRACEPOINT_PROVIDER
-#define TRACEPOINT_PROVIDER $providerName
-
-#undef TRACEPOINT_INCLUDE
-#define TRACEPOINT_INCLUDE "./$lttngevntheadershortname"
-
-#if !defined(LTTNG_CORECLR_H$providerName) || defined(TRACEPOINT_HEADER_MULTI_READ)
-#define LTTNG_CORECLR_H$providerName
-
-#include <lttng/tracepoint.h>
-
-LTTNgHDR_Prolog
-
- print lTTngImpl <<EventProvider_Prolog;
-
-#define TRACEPOINT_DEFINE
-#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
-#include "$lttngevntheadershortname"
-EventProvider_Prolog
-
- my @rTemplateNodes = $rProviderNode->getElementsByTagName('template');
- my @alleventname = $rProviderNode->getElementsByTagName('event');
-#Parse the XML file to construct datatypes used in code generation below
-
- my ($allTemplatemap,$allLTTngTemplateTypes,$allTemplateVarProps) = ParseTemplates(@rTemplateNodes);
-
- my %allTemplatemap = %$allTemplatemap;
- my %allLTTngTemplateTypes = %$allLTTngTemplateTypes;
- my %allTemplateVarProps = %$allTemplateVarProps;
-
-#generate the header
- print lTTngHdr GenerateLttngHeader($providerName,\@rTemplateNodes,\%allTemplatemap,\%allLTTngTemplateTypes,\%allTemplateVarProps,\@alleventname);
-
-#create the implementation of eventing functions : lttngeventprov*.cpp
- print lTTngImpl GenerateLttngTpProvider($providerName,\@rTemplateNodes,\%allTemplatemap,\%allLTTngTemplateTypes,\%allTemplateVarProps,\@alleventname);
-
- close(lTTngImpl);
- close(lTTngTpImpl);
- close(lTTngHdr);
-
- }
-
-}
-
-GenerateLttngFiles();
diff --git a/src/jit/morph.cpp b/src/jit/morph.cpp
index 11f72daaa2..5ed1c9b5bf 100644
--- a/src/jit/morph.cpp
+++ b/src/jit/morph.cpp
@@ -6190,7 +6190,9 @@ void Compiler::fgMorphRecursiveFastTailCallIntoLoop(BasicBlock* block, GenTreeCa
GenTreePtr paramAssignmentInsertionPoint = last;
// Process early args. They may contain both setup statements for late args and actual args.
- int earlyArgIndex = 0;
+ // Early args don't include 'this' arg. We need to account for that so that the call to gtArgEntryByArgNum
+ // below has the correct second argument.
+ int earlyArgIndex = (thisArg == nullptr) ? 0 : 1;
for (GenTreeArgList* earlyArgs = recursiveTailCall->gtCallArgs;
earlyArgs != nullptr;
(earlyArgIndex++, earlyArgs = earlyArgs->Rest()))
diff --git a/src/mscorlib/mscorlib.csproj b/src/mscorlib/mscorlib.csproj
index a41f7b079e..423a4e48f8 100644
--- a/src/mscorlib/mscorlib.csproj
+++ b/src/mscorlib/mscorlib.csproj
@@ -66,7 +66,7 @@
</PropertyGroup>
<!-- Configuration specific properties -->
- <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
+ <PropertyGroup Condition="'$(Configuration)' == 'Debug' or '$(Configuration)' == 'Checked'">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineConstants>DBG;_DEBUG;_LOGGING;DEBUG;TRACE;$(DefineConstants)</DefineConstants>
@@ -125,6 +125,7 @@
<!-- These are needed by BCLRewriter -->
<_BuildType Condition="'$(Configuration)' == 'Debug'">chk</_BuildType>
+ <_BuildType Condition="'$(Configuration)' == 'Checked'">chk</_BuildType>
<_BuildType Condition="'$(Configuration)' == 'Release'">ret</_BuildType>
<!-- These are needed to make sure we have the right set of defines -->
diff --git a/src/mscorlib/src/System/Collections/Generic/Dictionary.cs b/src/mscorlib/src/System/Collections/Generic/Dictionary.cs
index 4b2b82e2ad..22f2ed786c 100644
--- a/src/mscorlib/src/System/Collections/Generic/Dictionary.cs
+++ b/src/mscorlib/src/System/Collections/Generic/Dictionary.cs
@@ -346,7 +346,11 @@ namespace System.Collections.Generic {
for (int i = buckets[targetBucket]; i >= 0; i = entries[i].next) {
if (entries[i].hashCode == hashCode && comparer.Equals(entries[i].key, key)) {
if (add) {
+#if FEATURE_CORECLR
+ ThrowHelper.ThrowAddingDuplicateWithKeyArgumentException(key);
+#else
ThrowHelper.ThrowArgumentException(ExceptionResource.Argument_AddingDuplicate);
+#endif
}
entries[i].value = value;
version++;
diff --git a/src/mscorlib/src/System/ThrowHelper.cs b/src/mscorlib/src/System/ThrowHelper.cs
index 3f0169b20f..b050dbc4a7 100644
--- a/src/mscorlib/src/System/ThrowHelper.cs
+++ b/src/mscorlib/src/System/ThrowHelper.cs
@@ -53,6 +53,12 @@ namespace System {
throw new ArgumentException(Environment.GetResourceString("Arg_WrongType", value, targetType), "value");
}
+#if FEATURE_CORECLR
+ internal static void ThrowAddingDuplicateWithKeyArgumentException(object key) {
+ throw new ArgumentException(Environment.GetResourceString("Argument_AddingDuplicateWithKey", key));
+ }
+#endif
+
internal static void ThrowKeyNotFoundException() {
throw new System.Collections.Generic.KeyNotFoundException();
}
diff --git a/src/mscorlib/src/mscorlib.txt b/src/mscorlib/src/mscorlib.txt
index 7687e80fa2..5dcdbb885f 100644
--- a/src/mscorlib/src/mscorlib.txt
+++ b/src/mscorlib/src/mscorlib.txt
@@ -121,6 +121,9 @@ Access_Void = Cannot create an instance of void.
Arg_TypedReference_Null = The TypedReference must be initialized.
Argument_AddingDuplicate__ = Item has already been added. Key in dictionary: '{0}' Key being added: '{1}'
Argument_AddingDuplicate = An item with the same key has already been added.
+#if FEATURE_CORECLR
+Argument_AddingDuplicateWithKey = An item with the same key has already been added. Key: {0}
+#endif // FEATURE_CORECLR
Argument_MethodDeclaringTypeGenericLcg = Method '{0}' has a generic declaring type '{1}'. Explicitly provide the declaring type to GetTokenFor.
Argument_MethodDeclaringTypeGeneric = Cannot resolve method {0} because the declaring type of the method handle {1} is generic. Explicitly provide the declaring type to GetMethodFromHandle.
Argument_FieldDeclaringTypeGeneric = Cannot resolve field {0} because the declaring type of the field handle {1} is generic. Explicitly provide the declaring type to GetFieldFromHandle.
diff --git a/src/pal/inc/pal.h b/src/pal/inc/pal.h
index cec19c290e..c139efcba8 100644
--- a/src/pal/inc/pal.h
+++ b/src/pal/inc/pal.h
@@ -3547,6 +3547,7 @@ SetErrorMode(
#define MEM_RESERVE 0x2000
#define MEM_DECOMMIT 0x4000
#define MEM_RELEASE 0x8000
+#define MEM_RESET 0x80000
#define MEM_FREE 0x10000
#define MEM_PRIVATE 0x20000
#define MEM_MAPPED 0x40000
diff --git a/src/pal/prebuilt/inc/clrallevents.h b/src/pal/prebuilt/inc/clrallevents.h
deleted file mode 100644
index f56e3b0f4e..0000000000
--- a/src/pal/prebuilt/inc/clrallevents.h
+++ /dev/null
@@ -1,5018 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatEtw.pl
-
-******************************************************************/
-
-#include "clrxplatevents.h"
-inline BOOL EventEnabledGCStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCStart();}
-
-inline ULONG FireEtwGCStart(
- const unsigned int Count,
- const unsigned int Reason
-)
-{
- if (!EventEnabledGCStart()) {return ERROR_SUCCESS;}
- return FireEtXplatGCStart(Count,Reason);
-}
-
-inline BOOL EventEnabledGCStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCStart_V1();}
-
-inline ULONG FireEtwGCStart_V1(
- const unsigned int Count,
- const unsigned int Depth,
- const unsigned int Reason,
- const unsigned int Type,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCStart_V1(Count,Depth,Reason,Type,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCStart_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCStart_V2();}
-
-inline ULONG FireEtwGCStart_V2(
- const unsigned int Count,
- const unsigned int Depth,
- const unsigned int Reason,
- const unsigned int Type,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ClientSequenceNumber
-)
-{
- if (!EventEnabledGCStart_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatGCStart_V2(Count,Depth,Reason,Type,ClrInstanceID,ClientSequenceNumber);
-}
-
-inline BOOL EventEnabledGCEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCEnd();}
-
-inline ULONG FireEtwGCEnd(
- const unsigned int Count,
- const unsigned short Depth
-)
-{
- if (!EventEnabledGCEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatGCEnd(Count,Depth);
-}
-
-inline BOOL EventEnabledGCEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCEnd_V1();}
-
-inline ULONG FireEtwGCEnd_V1(
- const unsigned int Count,
- const unsigned int Depth,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCEnd_V1(Count,Depth,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCRestartEEEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCRestartEEEnd();}
-
-inline ULONG FireEtwGCRestartEEEnd(
-)
-{
- if (!EventEnabledGCRestartEEEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatGCRestartEEEnd();
-}
-
-inline BOOL EventEnabledGCRestartEEEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCRestartEEEnd_V1();}
-
-inline ULONG FireEtwGCRestartEEEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCRestartEEEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCRestartEEEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCHeapStats() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCHeapStats();}
-
-inline ULONG FireEtwGCHeapStats(
- const unsigned __int64 GenerationSize0,
- const unsigned __int64 TotalPromotedSize0,
- const unsigned __int64 GenerationSize1,
- const unsigned __int64 TotalPromotedSize1,
- const unsigned __int64 GenerationSize2,
- const unsigned __int64 TotalPromotedSize2,
- const unsigned __int64 GenerationSize3,
- const unsigned __int64 TotalPromotedSize3,
- const unsigned __int64 FinalizationPromotedSize,
- const unsigned __int64 FinalizationPromotedCount,
- const unsigned int PinnedObjectCount,
- const unsigned int SinkBlockCount,
- const unsigned int GCHandleCount
-)
-{
- if (!EventEnabledGCHeapStats()) {return ERROR_SUCCESS;}
- return FireEtXplatGCHeapStats(GenerationSize0,TotalPromotedSize0,GenerationSize1,TotalPromotedSize1,GenerationSize2,TotalPromotedSize2,GenerationSize3,TotalPromotedSize3,FinalizationPromotedSize,FinalizationPromotedCount,PinnedObjectCount,SinkBlockCount,GCHandleCount);
-}
-
-inline BOOL EventEnabledGCHeapStats_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCHeapStats_V1();}
-
-inline ULONG FireEtwGCHeapStats_V1(
- const unsigned __int64 GenerationSize0,
- const unsigned __int64 TotalPromotedSize0,
- const unsigned __int64 GenerationSize1,
- const unsigned __int64 TotalPromotedSize1,
- const unsigned __int64 GenerationSize2,
- const unsigned __int64 TotalPromotedSize2,
- const unsigned __int64 GenerationSize3,
- const unsigned __int64 TotalPromotedSize3,
- const unsigned __int64 FinalizationPromotedSize,
- const unsigned __int64 FinalizationPromotedCount,
- const unsigned int PinnedObjectCount,
- const unsigned int SinkBlockCount,
- const unsigned int GCHandleCount,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCHeapStats_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCHeapStats_V1(GenerationSize0,TotalPromotedSize0,GenerationSize1,TotalPromotedSize1,GenerationSize2,TotalPromotedSize2,GenerationSize3,TotalPromotedSize3,FinalizationPromotedSize,FinalizationPromotedCount,PinnedObjectCount,SinkBlockCount,GCHandleCount,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCCreateSegment() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCCreateSegment();}
-
-inline ULONG FireEtwGCCreateSegment(
- const unsigned __int64 Address,
- const unsigned __int64 Size,
- const unsigned int Type
-)
-{
- if (!EventEnabledGCCreateSegment()) {return ERROR_SUCCESS;}
- return FireEtXplatGCCreateSegment(Address,Size,Type);
-}
-
-inline BOOL EventEnabledGCCreateSegment_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCCreateSegment_V1();}
-
-inline ULONG FireEtwGCCreateSegment_V1(
- const unsigned __int64 Address,
- const unsigned __int64 Size,
- const unsigned int Type,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCCreateSegment_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCCreateSegment_V1(Address,Size,Type,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCFreeSegment() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCFreeSegment();}
-
-inline ULONG FireEtwGCFreeSegment(
- const unsigned __int64 Address
-)
-{
- if (!EventEnabledGCFreeSegment()) {return ERROR_SUCCESS;}
- return FireEtXplatGCFreeSegment(Address);
-}
-
-inline BOOL EventEnabledGCFreeSegment_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCFreeSegment_V1();}
-
-inline ULONG FireEtwGCFreeSegment_V1(
- const unsigned __int64 Address,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCFreeSegment_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCFreeSegment_V1(Address,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCRestartEEBegin() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCRestartEEBegin();}
-
-inline ULONG FireEtwGCRestartEEBegin(
-)
-{
- if (!EventEnabledGCRestartEEBegin()) {return ERROR_SUCCESS;}
- return FireEtXplatGCRestartEEBegin();
-}
-
-inline BOOL EventEnabledGCRestartEEBegin_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCRestartEEBegin_V1();}
-
-inline ULONG FireEtwGCRestartEEBegin_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCRestartEEBegin_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCRestartEEBegin_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCSuspendEEEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCSuspendEEEnd();}
-
-inline ULONG FireEtwGCSuspendEEEnd(
-)
-{
- if (!EventEnabledGCSuspendEEEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatGCSuspendEEEnd();
-}
-
-inline BOOL EventEnabledGCSuspendEEEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCSuspendEEEnd_V1();}
-
-inline ULONG FireEtwGCSuspendEEEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCSuspendEEEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCSuspendEEEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCSuspendEEBegin() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCSuspendEEBegin();}
-
-inline ULONG FireEtwGCSuspendEEBegin(
- const unsigned short Reason
-)
-{
- if (!EventEnabledGCSuspendEEBegin()) {return ERROR_SUCCESS;}
- return FireEtXplatGCSuspendEEBegin(Reason);
-}
-
-inline BOOL EventEnabledGCSuspendEEBegin_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCSuspendEEBegin_V1();}
-
-inline ULONG FireEtwGCSuspendEEBegin_V1(
- const unsigned int Reason,
- const unsigned int Count,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCSuspendEEBegin_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCSuspendEEBegin_V1(Reason,Count,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCAllocationTick() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCAllocationTick();}
-
-inline ULONG FireEtwGCAllocationTick(
- const unsigned int AllocationAmount,
- const unsigned int AllocationKind
-)
-{
- if (!EventEnabledGCAllocationTick()) {return ERROR_SUCCESS;}
- return FireEtXplatGCAllocationTick(AllocationAmount,AllocationKind);
-}
-
-inline BOOL EventEnabledGCAllocationTick_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCAllocationTick_V1();}
-
-inline ULONG FireEtwGCAllocationTick_V1(
- const unsigned int AllocationAmount,
- const unsigned int AllocationKind,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCAllocationTick_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCAllocationTick_V1(AllocationAmount,AllocationKind,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCAllocationTick_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCAllocationTick_V2();}
-
-inline ULONG FireEtwGCAllocationTick_V2(
- const unsigned int AllocationAmount,
- const unsigned int AllocationKind,
- const unsigned short ClrInstanceID,
- const unsigned __int64 AllocationAmount64,
- const void* TypeID,
- PCWSTR TypeName,
- const unsigned int HeapIndex
-)
-{
- if (!EventEnabledGCAllocationTick_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatGCAllocationTick_V2(AllocationAmount,AllocationKind,ClrInstanceID,AllocationAmount64,TypeID,TypeName,HeapIndex);
-}
-
-inline BOOL EventEnabledGCAllocationTick_V3() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCAllocationTick_V3();}
-
-inline ULONG FireEtwGCAllocationTick_V3(
- const unsigned int AllocationAmount,
- const unsigned int AllocationKind,
- const unsigned short ClrInstanceID,
- const unsigned __int64 AllocationAmount64,
- const void* TypeID,
- PCWSTR TypeName,
- const unsigned int HeapIndex,
- const void* Address
-)
-{
- if (!EventEnabledGCAllocationTick_V3()) {return ERROR_SUCCESS;}
- return FireEtXplatGCAllocationTick_V3(AllocationAmount,AllocationKind,ClrInstanceID,AllocationAmount64,TypeID,TypeName,HeapIndex,Address);
-}
-
-inline BOOL EventEnabledGCCreateConcurrentThread() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCCreateConcurrentThread();}
-
-inline ULONG FireEtwGCCreateConcurrentThread(
-)
-{
- if (!EventEnabledGCCreateConcurrentThread()) {return ERROR_SUCCESS;}
- return FireEtXplatGCCreateConcurrentThread();
-}
-
-inline BOOL EventEnabledGCCreateConcurrentThread_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCCreateConcurrentThread_V1();}
-
-inline ULONG FireEtwGCCreateConcurrentThread_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCCreateConcurrentThread_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCCreateConcurrentThread_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCTerminateConcurrentThread() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCTerminateConcurrentThread();}
-
-inline ULONG FireEtwGCTerminateConcurrentThread(
-)
-{
- if (!EventEnabledGCTerminateConcurrentThread()) {return ERROR_SUCCESS;}
- return FireEtXplatGCTerminateConcurrentThread();
-}
-
-inline BOOL EventEnabledGCTerminateConcurrentThread_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCTerminateConcurrentThread_V1();}
-
-inline ULONG FireEtwGCTerminateConcurrentThread_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCTerminateConcurrentThread_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCTerminateConcurrentThread_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCFinalizersEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCFinalizersEnd();}
-
-inline ULONG FireEtwGCFinalizersEnd(
- const unsigned int Count
-)
-{
- if (!EventEnabledGCFinalizersEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatGCFinalizersEnd(Count);
-}
-
-inline BOOL EventEnabledGCFinalizersEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCFinalizersEnd_V1();}
-
-inline ULONG FireEtwGCFinalizersEnd_V1(
- const unsigned int Count,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCFinalizersEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCFinalizersEnd_V1(Count,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCFinalizersBegin() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCFinalizersBegin();}
-
-inline ULONG FireEtwGCFinalizersBegin(
-)
-{
- if (!EventEnabledGCFinalizersBegin()) {return ERROR_SUCCESS;}
- return FireEtXplatGCFinalizersBegin();
-}
-
-inline BOOL EventEnabledGCFinalizersBegin_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCFinalizersBegin_V1();}
-
-inline ULONG FireEtwGCFinalizersBegin_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCFinalizersBegin_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCFinalizersBegin_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledBulkType() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBulkType();}
-
-inline ULONG FireEtwBulkType(
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg2_Struct_Len_,
- const void* Arg2_Struct_Pointer_
-)
-{
- if (!EventEnabledBulkType()) {return ERROR_SUCCESS;}
- return FireEtXplatBulkType(Count,ClrInstanceID,Arg2_Struct_Len_,Arg2_Struct_Pointer_);
-}
-
-inline BOOL EventEnabledGCBulkRootEdge() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCBulkRootEdge();}
-
-inline ULONG FireEtwGCBulkRootEdge(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- if (!EventEnabledGCBulkRootEdge()) {return ERROR_SUCCESS;}
- return FireEtXplatGCBulkRootEdge(Index,Count,ClrInstanceID,Arg3_Struct_Len_,Arg3_Struct_Pointer_);
-}
-
-inline BOOL EventEnabledGCBulkRootConditionalWeakTableElementEdge() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCBulkRootConditionalWeakTableElementEdge();}
-
-inline ULONG FireEtwGCBulkRootConditionalWeakTableElementEdge(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- if (!EventEnabledGCBulkRootConditionalWeakTableElementEdge()) {return ERROR_SUCCESS;}
- return FireEtXplatGCBulkRootConditionalWeakTableElementEdge(Index,Count,ClrInstanceID,Arg3_Struct_Len_,Arg3_Struct_Pointer_);
-}
-
-inline BOOL EventEnabledGCBulkNode() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCBulkNode();}
-
-inline ULONG FireEtwGCBulkNode(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- if (!EventEnabledGCBulkNode()) {return ERROR_SUCCESS;}
- return FireEtXplatGCBulkNode(Index,Count,ClrInstanceID,Arg3_Struct_Len_,Arg3_Struct_Pointer_);
-}
-
-inline BOOL EventEnabledGCBulkEdge() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCBulkEdge();}
-
-inline ULONG FireEtwGCBulkEdge(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- if (!EventEnabledGCBulkEdge()) {return ERROR_SUCCESS;}
- return FireEtXplatGCBulkEdge(Index,Count,ClrInstanceID,Arg3_Struct_Len_,Arg3_Struct_Pointer_);
-}
-
-inline BOOL EventEnabledGCSampledObjectAllocationHigh() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCSampledObjectAllocationHigh();}
-
-inline ULONG FireEtwGCSampledObjectAllocationHigh(
- const void* Address,
- const void* TypeID,
- const unsigned int ObjectCountForTypeSample,
- const unsigned __int64 TotalSizeForTypeSample,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCSampledObjectAllocationHigh()) {return ERROR_SUCCESS;}
- return FireEtXplatGCSampledObjectAllocationHigh(Address,TypeID,ObjectCountForTypeSample,TotalSizeForTypeSample,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCBulkSurvivingObjectRanges() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCBulkSurvivingObjectRanges();}
-
-inline ULONG FireEtwGCBulkSurvivingObjectRanges(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- if (!EventEnabledGCBulkSurvivingObjectRanges()) {return ERROR_SUCCESS;}
- return FireEtXplatGCBulkSurvivingObjectRanges(Index,Count,ClrInstanceID,Arg3_Struct_Len_,Arg3_Struct_Pointer_);
-}
-
-inline BOOL EventEnabledGCBulkMovedObjectRanges() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCBulkMovedObjectRanges();}
-
-inline ULONG FireEtwGCBulkMovedObjectRanges(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- if (!EventEnabledGCBulkMovedObjectRanges()) {return ERROR_SUCCESS;}
- return FireEtXplatGCBulkMovedObjectRanges(Index,Count,ClrInstanceID,Arg3_Struct_Len_,Arg3_Struct_Pointer_);
-}
-
-inline BOOL EventEnabledGCGenerationRange() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCGenerationRange();}
-
-inline ULONG FireEtwGCGenerationRange(
- const unsigned char Generation,
- const void* RangeStart,
- const unsigned __int64 RangeUsedLength,
- const unsigned __int64 RangeReservedLength,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCGenerationRange()) {return ERROR_SUCCESS;}
- return FireEtXplatGCGenerationRange(Generation,RangeStart,RangeUsedLength,RangeReservedLength,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCMarkStackRoots() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCMarkStackRoots();}
-
-inline ULONG FireEtwGCMarkStackRoots(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCMarkStackRoots()) {return ERROR_SUCCESS;}
- return FireEtXplatGCMarkStackRoots(HeapNum,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCMarkFinalizeQueueRoots() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCMarkFinalizeQueueRoots();}
-
-inline ULONG FireEtwGCMarkFinalizeQueueRoots(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCMarkFinalizeQueueRoots()) {return ERROR_SUCCESS;}
- return FireEtXplatGCMarkFinalizeQueueRoots(HeapNum,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCMarkHandles() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCMarkHandles();}
-
-inline ULONG FireEtwGCMarkHandles(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCMarkHandles()) {return ERROR_SUCCESS;}
- return FireEtXplatGCMarkHandles(HeapNum,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCMarkOlderGenerationRoots() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCMarkOlderGenerationRoots();}
-
-inline ULONG FireEtwGCMarkOlderGenerationRoots(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCMarkOlderGenerationRoots()) {return ERROR_SUCCESS;}
- return FireEtXplatGCMarkOlderGenerationRoots(HeapNum,ClrInstanceID);
-}
-
-inline BOOL EventEnabledFinalizeObject() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFinalizeObject();}
-
-inline ULONG FireEtwFinalizeObject(
- const void* TypeID,
- const void* ObjectID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledFinalizeObject()) {return ERROR_SUCCESS;}
- return FireEtXplatFinalizeObject(TypeID,ObjectID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledSetGCHandle() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledSetGCHandle();}
-
-inline ULONG FireEtwSetGCHandle(
- const void* HandleID,
- const void* ObjectID,
- const unsigned int Kind,
- const unsigned int Generation,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledSetGCHandle()) {return ERROR_SUCCESS;}
- return FireEtXplatSetGCHandle(HandleID,ObjectID,Kind,Generation,AppDomainID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledDestroyGCHandle() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDestroyGCHandle();}
-
-inline ULONG FireEtwDestroyGCHandle(
- const void* HandleID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledDestroyGCHandle()) {return ERROR_SUCCESS;}
- return FireEtXplatDestroyGCHandle(HandleID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCSampledObjectAllocationLow() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCSampledObjectAllocationLow();}
-
-inline ULONG FireEtwGCSampledObjectAllocationLow(
- const void* Address,
- const void* TypeID,
- const unsigned int ObjectCountForTypeSample,
- const unsigned __int64 TotalSizeForTypeSample,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCSampledObjectAllocationLow()) {return ERROR_SUCCESS;}
- return FireEtXplatGCSampledObjectAllocationLow(Address,TypeID,ObjectCountForTypeSample,TotalSizeForTypeSample,ClrInstanceID);
-}
-
-inline BOOL EventEnabledPinObjectAtGCTime() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPinObjectAtGCTime();}
-
-inline ULONG FireEtwPinObjectAtGCTime(
- const void* HandleID,
- const void* ObjectID,
- const unsigned __int64 ObjectSize,
- PCWSTR TypeName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledPinObjectAtGCTime()) {return ERROR_SUCCESS;}
- return FireEtXplatPinObjectAtGCTime(HandleID,ObjectID,ObjectSize,TypeName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCTriggered() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCTriggered();}
-
-inline ULONG FireEtwGCTriggered(
- const unsigned int Reason,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCTriggered()) {return ERROR_SUCCESS;}
- return FireEtXplatGCTriggered(Reason,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCBulkRootCCW() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCBulkRootCCW();}
-
-inline ULONG FireEtwGCBulkRootCCW(
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg2_Struct_Len_,
- const void* Arg2_Struct_Pointer_
-)
-{
- if (!EventEnabledGCBulkRootCCW()) {return ERROR_SUCCESS;}
- return FireEtXplatGCBulkRootCCW(Count,ClrInstanceID,Arg2_Struct_Len_,Arg2_Struct_Pointer_);
-}
-
-inline BOOL EventEnabledGCBulkRCW() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCBulkRCW();}
-
-inline ULONG FireEtwGCBulkRCW(
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg2_Struct_Len_,
- const void* Arg2_Struct_Pointer_
-)
-{
- if (!EventEnabledGCBulkRCW()) {return ERROR_SUCCESS;}
- return FireEtXplatGCBulkRCW(Count,ClrInstanceID,Arg2_Struct_Len_,Arg2_Struct_Pointer_);
-}
-
-inline BOOL EventEnabledGCBulkRootStaticVar() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCBulkRootStaticVar();}
-
-inline ULONG FireEtwGCBulkRootStaticVar(
- const unsigned int Count,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- if (!EventEnabledGCBulkRootStaticVar()) {return ERROR_SUCCESS;}
- return FireEtXplatGCBulkRootStaticVar(Count,AppDomainID,ClrInstanceID,Arg3_Struct_Len_,Arg3_Struct_Pointer_);
-}
-
-inline BOOL EventEnabledWorkerThreadCreate() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledWorkerThreadCreate();}
-
-inline ULONG FireEtwWorkerThreadCreate(
- const unsigned int WorkerThreadCount,
- const unsigned int RetiredWorkerThreads
-)
-{
- if (!EventEnabledWorkerThreadCreate()) {return ERROR_SUCCESS;}
- return FireEtXplatWorkerThreadCreate(WorkerThreadCount,RetiredWorkerThreads);
-}
-
-inline BOOL EventEnabledWorkerThreadTerminate() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledWorkerThreadTerminate();}
-
-inline ULONG FireEtwWorkerThreadTerminate(
- const unsigned int WorkerThreadCount,
- const unsigned int RetiredWorkerThreads
-)
-{
- if (!EventEnabledWorkerThreadTerminate()) {return ERROR_SUCCESS;}
- return FireEtXplatWorkerThreadTerminate(WorkerThreadCount,RetiredWorkerThreads);
-}
-
-inline BOOL EventEnabledWorkerThreadRetire() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledWorkerThreadRetire();}
-
-inline ULONG FireEtwWorkerThreadRetire(
- const unsigned int WorkerThreadCount,
- const unsigned int RetiredWorkerThreads
-)
-{
- if (!EventEnabledWorkerThreadRetire()) {return ERROR_SUCCESS;}
- return FireEtXplatWorkerThreadRetire(WorkerThreadCount,RetiredWorkerThreads);
-}
-
-inline BOOL EventEnabledWorkerThreadUnretire() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledWorkerThreadUnretire();}
-
-inline ULONG FireEtwWorkerThreadUnretire(
- const unsigned int WorkerThreadCount,
- const unsigned int RetiredWorkerThreads
-)
-{
- if (!EventEnabledWorkerThreadUnretire()) {return ERROR_SUCCESS;}
- return FireEtXplatWorkerThreadUnretire(WorkerThreadCount,RetiredWorkerThreads);
-}
-
-inline BOOL EventEnabledIOThreadCreate() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledIOThreadCreate();}
-
-inline ULONG FireEtwIOThreadCreate(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads
-)
-{
- if (!EventEnabledIOThreadCreate()) {return ERROR_SUCCESS;}
- return FireEtXplatIOThreadCreate(IOThreadCount,RetiredIOThreads);
-}
-
-inline BOOL EventEnabledIOThreadCreate_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledIOThreadCreate_V1();}
-
-inline ULONG FireEtwIOThreadCreate_V1(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledIOThreadCreate_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatIOThreadCreate_V1(IOThreadCount,RetiredIOThreads,ClrInstanceID);
-}
-
-inline BOOL EventEnabledIOThreadTerminate() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledIOThreadTerminate();}
-
-inline ULONG FireEtwIOThreadTerminate(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads
-)
-{
- if (!EventEnabledIOThreadTerminate()) {return ERROR_SUCCESS;}
- return FireEtXplatIOThreadTerminate(IOThreadCount,RetiredIOThreads);
-}
-
-inline BOOL EventEnabledIOThreadTerminate_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledIOThreadTerminate_V1();}
-
-inline ULONG FireEtwIOThreadTerminate_V1(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledIOThreadTerminate_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatIOThreadTerminate_V1(IOThreadCount,RetiredIOThreads,ClrInstanceID);
-}
-
-inline BOOL EventEnabledIOThreadRetire() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledIOThreadRetire();}
-
-inline ULONG FireEtwIOThreadRetire(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads
-)
-{
- if (!EventEnabledIOThreadRetire()) {return ERROR_SUCCESS;}
- return FireEtXplatIOThreadRetire(IOThreadCount,RetiredIOThreads);
-}
-
-inline BOOL EventEnabledIOThreadRetire_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledIOThreadRetire_V1();}
-
-inline ULONG FireEtwIOThreadRetire_V1(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledIOThreadRetire_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatIOThreadRetire_V1(IOThreadCount,RetiredIOThreads,ClrInstanceID);
-}
-
-inline BOOL EventEnabledIOThreadUnretire() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledIOThreadUnretire();}
-
-inline ULONG FireEtwIOThreadUnretire(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads
-)
-{
- if (!EventEnabledIOThreadUnretire()) {return ERROR_SUCCESS;}
- return FireEtXplatIOThreadUnretire(IOThreadCount,RetiredIOThreads);
-}
-
-inline BOOL EventEnabledIOThreadUnretire_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledIOThreadUnretire_V1();}
-
-inline ULONG FireEtwIOThreadUnretire_V1(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledIOThreadUnretire_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatIOThreadUnretire_V1(IOThreadCount,RetiredIOThreads,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadpoolSuspensionSuspendThread() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadpoolSuspensionSuspendThread();}
-
-inline ULONG FireEtwThreadpoolSuspensionSuspendThread(
- const unsigned int ClrThreadID,
- const unsigned int CpuUtilization
-)
-{
- if (!EventEnabledThreadpoolSuspensionSuspendThread()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadpoolSuspensionSuspendThread(ClrThreadID,CpuUtilization);
-}
-
-inline BOOL EventEnabledThreadpoolSuspensionResumeThread() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadpoolSuspensionResumeThread();}
-
-inline ULONG FireEtwThreadpoolSuspensionResumeThread(
- const unsigned int ClrThreadID,
- const unsigned int CpuUtilization
-)
-{
- if (!EventEnabledThreadpoolSuspensionResumeThread()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadpoolSuspensionResumeThread(ClrThreadID,CpuUtilization);
-}
-
-inline BOOL EventEnabledThreadPoolWorkerThreadStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolWorkerThreadStart();}
-
-inline ULONG FireEtwThreadPoolWorkerThreadStart(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolWorkerThreadStart()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolWorkerThreadStart(ActiveWorkerThreadCount,RetiredWorkerThreadCount,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolWorkerThreadStop() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolWorkerThreadStop();}
-
-inline ULONG FireEtwThreadPoolWorkerThreadStop(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolWorkerThreadStop()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolWorkerThreadStop(ActiveWorkerThreadCount,RetiredWorkerThreadCount,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolWorkerThreadRetirementStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolWorkerThreadRetirementStart();}
-
-inline ULONG FireEtwThreadPoolWorkerThreadRetirementStart(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolWorkerThreadRetirementStart()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolWorkerThreadRetirementStart(ActiveWorkerThreadCount,RetiredWorkerThreadCount,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolWorkerThreadRetirementStop() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolWorkerThreadRetirementStop();}
-
-inline ULONG FireEtwThreadPoolWorkerThreadRetirementStop(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolWorkerThreadRetirementStop()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolWorkerThreadRetirementStop(ActiveWorkerThreadCount,RetiredWorkerThreadCount,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolWorkerThreadAdjustmentSample() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolWorkerThreadAdjustmentSample();}
-
-inline ULONG FireEtwThreadPoolWorkerThreadAdjustmentSample(
- const double Throughput,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolWorkerThreadAdjustmentSample()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolWorkerThreadAdjustmentSample(Throughput,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolWorkerThreadAdjustmentAdjustment() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolWorkerThreadAdjustmentAdjustment();}
-
-inline ULONG FireEtwThreadPoolWorkerThreadAdjustmentAdjustment(
- const double AverageThroughput,
- const unsigned int NewWorkerThreadCount,
- const unsigned int Reason,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolWorkerThreadAdjustmentAdjustment()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolWorkerThreadAdjustmentAdjustment(AverageThroughput,NewWorkerThreadCount,Reason,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolWorkerThreadAdjustmentStats() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolWorkerThreadAdjustmentStats();}
-
-inline ULONG FireEtwThreadPoolWorkerThreadAdjustmentStats(
- const double Duration,
- const double Throughput,
- const double ThreadWave,
- const double ThroughputWave,
- const double ThroughputErrorEstimate,
- const double AverageThroughputErrorEstimate,
- const double ThroughputRatio,
- const double Confidence,
- const double NewControlSetting,
- const unsigned short NewThreadWaveMagnitude,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolWorkerThreadAdjustmentStats()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolWorkerThreadAdjustmentStats(Duration,Throughput,ThreadWave,ThroughputWave,ThroughputErrorEstimate,AverageThroughputErrorEstimate,ThroughputRatio,Confidence,NewControlSetting,NewThreadWaveMagnitude,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolWorkerThreadWait() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolWorkerThreadWait();}
-
-inline ULONG FireEtwThreadPoolWorkerThreadWait(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolWorkerThreadWait()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolWorkerThreadWait(ActiveWorkerThreadCount,RetiredWorkerThreadCount,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolWorkingThreadCount() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolWorkingThreadCount();}
-
-inline ULONG FireEtwThreadPoolWorkingThreadCount(
- const unsigned int Count,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolWorkingThreadCount()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolWorkingThreadCount(Count,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolEnqueue() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolEnqueue();}
-
-inline ULONG FireEtwThreadPoolEnqueue(
- const void* WorkID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolEnqueue()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolEnqueue(WorkID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolDequeue() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolDequeue();}
-
-inline ULONG FireEtwThreadPoolDequeue(
- const void* WorkID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolDequeue()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolDequeue(WorkID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolIOEnqueue() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolIOEnqueue();}
-
-inline ULONG FireEtwThreadPoolIOEnqueue(
- const void* NativeOverlapped,
- const void* Overlapped,
- const BOOL MultiDequeues,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolIOEnqueue()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolIOEnqueue(NativeOverlapped,Overlapped,MultiDequeues,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolIODequeue() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolIODequeue();}
-
-inline ULONG FireEtwThreadPoolIODequeue(
- const void* NativeOverlapped,
- const void* Overlapped,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolIODequeue()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolIODequeue(NativeOverlapped,Overlapped,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadPoolIOPack() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadPoolIOPack();}
-
-inline ULONG FireEtwThreadPoolIOPack(
- const void* NativeOverlapped,
- const void* Overlapped,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadPoolIOPack()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadPoolIOPack(NativeOverlapped,Overlapped,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadCreating() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadCreating();}
-
-inline ULONG FireEtwThreadCreating(
- const void* ID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadCreating()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadCreating(ID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadRunning() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadRunning();}
-
-inline ULONG FireEtwThreadRunning(
- const void* ID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadRunning()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadRunning(ID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledExceptionThrown() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExceptionThrown();}
-
-inline ULONG FireEtwExceptionThrown(
-)
-{
- if (!EventEnabledExceptionThrown()) {return ERROR_SUCCESS;}
- return FireEtXplatExceptionThrown();
-}
-
-inline BOOL EventEnabledExceptionThrown_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExceptionThrown_V1();}
-
-inline ULONG FireEtwExceptionThrown_V1(
- PCWSTR ExceptionType,
- PCWSTR ExceptionMessage,
- const void* ExceptionEIP,
- const unsigned int ExceptionHRESULT,
- const unsigned short ExceptionFlags,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledExceptionThrown_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatExceptionThrown_V1(ExceptionType,ExceptionMessage,ExceptionEIP,ExceptionHRESULT,ExceptionFlags,ClrInstanceID);
-}
-
-inline BOOL EventEnabledExceptionCatchStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExceptionCatchStart();}
-
-inline ULONG FireEtwExceptionCatchStart(
- const unsigned __int64 EntryEIP,
- const unsigned __int64 MethodID,
- PCWSTR MethodName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledExceptionCatchStart()) {return ERROR_SUCCESS;}
- return FireEtXplatExceptionCatchStart(EntryEIP,MethodID,MethodName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledExceptionCatchStop() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExceptionCatchStop();}
-
-inline ULONG FireEtwExceptionCatchStop(
-)
-{
- if (!EventEnabledExceptionCatchStop()) {return ERROR_SUCCESS;}
- return FireEtXplatExceptionCatchStop();
-}
-
-inline BOOL EventEnabledExceptionFinallyStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExceptionFinallyStart();}
-
-inline ULONG FireEtwExceptionFinallyStart(
- const unsigned __int64 EntryEIP,
- const unsigned __int64 MethodID,
- PCWSTR MethodName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledExceptionFinallyStart()) {return ERROR_SUCCESS;}
- return FireEtXplatExceptionFinallyStart(EntryEIP,MethodID,MethodName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledExceptionFinallyStop() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExceptionFinallyStop();}
-
-inline ULONG FireEtwExceptionFinallyStop(
-)
-{
- if (!EventEnabledExceptionFinallyStop()) {return ERROR_SUCCESS;}
- return FireEtXplatExceptionFinallyStop();
-}
-
-inline BOOL EventEnabledExceptionFilterStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExceptionFilterStart();}
-
-inline ULONG FireEtwExceptionFilterStart(
- const unsigned __int64 EntryEIP,
- const unsigned __int64 MethodID,
- PCWSTR MethodName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledExceptionFilterStart()) {return ERROR_SUCCESS;}
- return FireEtXplatExceptionFilterStart(EntryEIP,MethodID,MethodName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledExceptionFilterStop() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExceptionFilterStop();}
-
-inline ULONG FireEtwExceptionFilterStop(
-)
-{
- if (!EventEnabledExceptionFilterStop()) {return ERROR_SUCCESS;}
- return FireEtXplatExceptionFilterStop();
-}
-
-inline BOOL EventEnabledExceptionThrownStop() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExceptionThrownStop();}
-
-inline ULONG FireEtwExceptionThrownStop(
-)
-{
- if (!EventEnabledExceptionThrownStop()) {return ERROR_SUCCESS;}
- return FireEtXplatExceptionThrownStop();
-}
-
-inline BOOL EventEnabledContention() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledContention();}
-
-inline ULONG FireEtwContention(
-)
-{
- if (!EventEnabledContention()) {return ERROR_SUCCESS;}
- return FireEtXplatContention();
-}
-
-inline BOOL EventEnabledContentionStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledContentionStart_V1();}
-
-inline ULONG FireEtwContentionStart_V1(
- const unsigned char ContentionFlags,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledContentionStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatContentionStart_V1(ContentionFlags,ClrInstanceID);
-}
-
-inline BOOL EventEnabledContentionStop() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledContentionStop();}
-
-inline ULONG FireEtwContentionStop(
- const unsigned char ContentionFlags,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledContentionStop()) {return ERROR_SUCCESS;}
- return FireEtXplatContentionStop(ContentionFlags,ClrInstanceID);
-}
-
-inline BOOL EventEnabledCLRStackWalk() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledCLRStackWalk();}
-
-inline ULONG FireEtwCLRStackWalk(
- const unsigned short ClrInstanceID,
- const unsigned char Reserved1,
- const unsigned char Reserved2,
- const unsigned int FrameCount,
- const void** Stack
-)
-{
- if (!EventEnabledCLRStackWalk()) {return ERROR_SUCCESS;}
- return FireEtXplatCLRStackWalk(ClrInstanceID,Reserved1,Reserved2,FrameCount,Stack);
-}
-
-inline BOOL EventEnabledAppDomainMemAllocated() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAppDomainMemAllocated();}
-
-inline ULONG FireEtwAppDomainMemAllocated(
- const unsigned __int64 AppDomainID,
- const unsigned __int64 Allocated,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAppDomainMemAllocated()) {return ERROR_SUCCESS;}
- return FireEtXplatAppDomainMemAllocated(AppDomainID,Allocated,ClrInstanceID);
-}
-
-inline BOOL EventEnabledAppDomainMemSurvived() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAppDomainMemSurvived();}
-
-inline ULONG FireEtwAppDomainMemSurvived(
- const unsigned __int64 AppDomainID,
- const unsigned __int64 Survived,
- const unsigned __int64 ProcessSurvived,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAppDomainMemSurvived()) {return ERROR_SUCCESS;}
- return FireEtXplatAppDomainMemSurvived(AppDomainID,Survived,ProcessSurvived,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadCreated() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadCreated();}
-
-inline ULONG FireEtwThreadCreated(
- const unsigned __int64 ManagedThreadID,
- const unsigned __int64 AppDomainID,
- const unsigned int Flags,
- const unsigned int ManagedThreadIndex,
- const unsigned int OSThreadID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadCreated()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadCreated(ManagedThreadID,AppDomainID,Flags,ManagedThreadIndex,OSThreadID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadTerminated() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadTerminated();}
-
-inline ULONG FireEtwThreadTerminated(
- const unsigned __int64 ManagedThreadID,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadTerminated()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadTerminated(ManagedThreadID,AppDomainID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadDomainEnter() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadDomainEnter();}
-
-inline ULONG FireEtwThreadDomainEnter(
- const unsigned __int64 ManagedThreadID,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadDomainEnter()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadDomainEnter(ManagedThreadID,AppDomainID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledILStubGenerated() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledILStubGenerated();}
-
-inline ULONG FireEtwILStubGenerated(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 StubMethodID,
- const unsigned int StubFlags,
- const unsigned int ManagedInteropMethodToken,
- PCWSTR ManagedInteropMethodNamespace,
- PCWSTR ManagedInteropMethodName,
- PCWSTR ManagedInteropMethodSignature,
- PCWSTR NativeMethodSignature,
- PCWSTR StubMethodSignature,
- PCWSTR StubMethodILCode
-)
-{
- if (!EventEnabledILStubGenerated()) {return ERROR_SUCCESS;}
- return FireEtXplatILStubGenerated(ClrInstanceID,ModuleID,StubMethodID,StubFlags,ManagedInteropMethodToken,ManagedInteropMethodNamespace,ManagedInteropMethodName,ManagedInteropMethodSignature,NativeMethodSignature,StubMethodSignature,StubMethodILCode);
-}
-
-inline BOOL EventEnabledILStubCacheHit() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledILStubCacheHit();}
-
-inline ULONG FireEtwILStubCacheHit(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 StubMethodID,
- const unsigned int ManagedInteropMethodToken,
- PCWSTR ManagedInteropMethodNamespace,
- PCWSTR ManagedInteropMethodName,
- PCWSTR ManagedInteropMethodSignature
-)
-{
- if (!EventEnabledILStubCacheHit()) {return ERROR_SUCCESS;}
- return FireEtXplatILStubCacheHit(ClrInstanceID,ModuleID,StubMethodID,ManagedInteropMethodToken,ManagedInteropMethodNamespace,ManagedInteropMethodName,ManagedInteropMethodSignature);
-}
-
-inline BOOL EventEnabledDCStartCompleteV2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDCStartCompleteV2();}
-
-inline ULONG FireEtwDCStartCompleteV2(
-)
-{
- if (!EventEnabledDCStartCompleteV2()) {return ERROR_SUCCESS;}
- return FireEtXplatDCStartCompleteV2();
-}
-
-inline BOOL EventEnabledDCEndCompleteV2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDCEndCompleteV2();}
-
-inline ULONG FireEtwDCEndCompleteV2(
-)
-{
- if (!EventEnabledDCEndCompleteV2()) {return ERROR_SUCCESS;}
- return FireEtXplatDCEndCompleteV2();
-}
-
-inline BOOL EventEnabledMethodDCStartV2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCStartV2();}
-
-inline ULONG FireEtwMethodDCStartV2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-)
-{
- if (!EventEnabledMethodDCStartV2()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCStartV2(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags);
-}
-
-inline BOOL EventEnabledMethodDCEndV2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCEndV2();}
-
-inline ULONG FireEtwMethodDCEndV2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-)
-{
- if (!EventEnabledMethodDCEndV2()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCEndV2(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags);
-}
-
-inline BOOL EventEnabledMethodDCStartVerboseV2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCStartVerboseV2();}
-
-inline ULONG FireEtwMethodDCStartVerboseV2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- if (!EventEnabledMethodDCStartVerboseV2()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCStartVerboseV2(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature);
-}
-
-inline BOOL EventEnabledMethodDCEndVerboseV2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCEndVerboseV2();}
-
-inline ULONG FireEtwMethodDCEndVerboseV2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- if (!EventEnabledMethodDCEndVerboseV2()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCEndVerboseV2(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature);
-}
-
-inline BOOL EventEnabledMethodLoad() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodLoad();}
-
-inline ULONG FireEtwMethodLoad(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-)
-{
- if (!EventEnabledMethodLoad()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodLoad(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags);
-}
-
-inline BOOL EventEnabledMethodLoad_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodLoad_V1();}
-
-inline ULONG FireEtwMethodLoad_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodLoad_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodLoad_V1(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodLoad_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodLoad_V2();}
-
-inline ULONG FireEtwMethodLoad_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- if (!EventEnabledMethodLoad_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodLoad_V2(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,ClrInstanceID,ReJITID);
-}
-
-inline BOOL EventEnabledMethodUnload() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodUnload();}
-
-inline ULONG FireEtwMethodUnload(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-)
-{
- if (!EventEnabledMethodUnload()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodUnload(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags);
-}
-
-inline BOOL EventEnabledMethodUnload_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodUnload_V1();}
-
-inline ULONG FireEtwMethodUnload_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodUnload_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodUnload_V1(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodUnload_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodUnload_V2();}
-
-inline ULONG FireEtwMethodUnload_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- if (!EventEnabledMethodUnload_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodUnload_V2(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,ClrInstanceID,ReJITID);
-}
-
-inline BOOL EventEnabledMethodLoadVerbose() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodLoadVerbose();}
-
-inline ULONG FireEtwMethodLoadVerbose(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- if (!EventEnabledMethodLoadVerbose()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodLoadVerbose(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature);
-}
-
-inline BOOL EventEnabledMethodLoadVerbose_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodLoadVerbose_V1();}
-
-inline ULONG FireEtwMethodLoadVerbose_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodLoadVerbose_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodLoadVerbose_V1(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodLoadVerbose_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodLoadVerbose_V2();}
-
-inline ULONG FireEtwMethodLoadVerbose_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- if (!EventEnabledMethodLoadVerbose_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodLoadVerbose_V2(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature,ClrInstanceID,ReJITID);
-}
-
-inline BOOL EventEnabledMethodUnloadVerbose() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodUnloadVerbose();}
-
-inline ULONG FireEtwMethodUnloadVerbose(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- if (!EventEnabledMethodUnloadVerbose()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodUnloadVerbose(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature);
-}
-
-inline BOOL EventEnabledMethodUnloadVerbose_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodUnloadVerbose_V1();}
-
-inline ULONG FireEtwMethodUnloadVerbose_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodUnloadVerbose_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodUnloadVerbose_V1(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodUnloadVerbose_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodUnloadVerbose_V2();}
-
-inline ULONG FireEtwMethodUnloadVerbose_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- if (!EventEnabledMethodUnloadVerbose_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodUnloadVerbose_V2(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature,ClrInstanceID,ReJITID);
-}
-
-inline BOOL EventEnabledMethodJittingStarted() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodJittingStarted();}
-
-inline ULONG FireEtwMethodJittingStarted(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned int MethodToken,
- const unsigned int MethodILSize,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- if (!EventEnabledMethodJittingStarted()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodJittingStarted(MethodID,ModuleID,MethodToken,MethodILSize,MethodNamespace,MethodName,MethodSignature);
-}
-
-inline BOOL EventEnabledMethodJittingStarted_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodJittingStarted_V1();}
-
-inline ULONG FireEtwMethodJittingStarted_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned int MethodToken,
- const unsigned int MethodILSize,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodJittingStarted_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodJittingStarted_V1(MethodID,ModuleID,MethodToken,MethodILSize,MethodNamespace,MethodName,MethodSignature,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodJitInliningSucceeded() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodJitInliningSucceeded();}
-
-inline ULONG FireEtwMethodJitInliningSucceeded(
- PCWSTR MethodBeingCompiledNamespace,
- PCWSTR MethodBeingCompiledName,
- PCWSTR MethodBeingCompiledNameSignature,
- PCWSTR InlinerNamespace,
- PCWSTR InlinerName,
- PCWSTR InlinerNameSignature,
- PCWSTR InlineeNamespace,
- PCWSTR InlineeName,
- PCWSTR InlineeNameSignature,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodJitInliningSucceeded()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodJitInliningSucceeded(MethodBeingCompiledNamespace,MethodBeingCompiledName,MethodBeingCompiledNameSignature,InlinerNamespace,InlinerName,InlinerNameSignature,InlineeNamespace,InlineeName,InlineeNameSignature,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodJitInliningFailed() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodJitInliningFailed();}
-
-inline ULONG FireEtwMethodJitInliningFailed(
- PCWSTR MethodBeingCompiledNamespace,
- PCWSTR MethodBeingCompiledName,
- PCWSTR MethodBeingCompiledNameSignature,
- PCWSTR InlinerNamespace,
- PCWSTR InlinerName,
- PCWSTR InlinerNameSignature,
- PCWSTR InlineeNamespace,
- PCWSTR InlineeName,
- PCWSTR InlineeNameSignature,
- const BOOL FailAlways,
- LPCSTR FailReason,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodJitInliningFailed()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodJitInliningFailed(MethodBeingCompiledNamespace,MethodBeingCompiledName,MethodBeingCompiledNameSignature,InlinerNamespace,InlinerName,InlinerNameSignature,InlineeNamespace,InlineeName,InlineeNameSignature,FailAlways,FailReason,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodJitTailCallSucceeded() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodJitTailCallSucceeded();}
-
-inline ULONG FireEtwMethodJitTailCallSucceeded(
- PCWSTR MethodBeingCompiledNamespace,
- PCWSTR MethodBeingCompiledName,
- PCWSTR MethodBeingCompiledNameSignature,
- PCWSTR CallerNamespace,
- PCWSTR CallerName,
- PCWSTR CallerNameSignature,
- PCWSTR CalleeNamespace,
- PCWSTR CalleeName,
- PCWSTR CalleeNameSignature,
- const BOOL TailPrefix,
- const unsigned int TailCallType,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodJitTailCallSucceeded()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodJitTailCallSucceeded(MethodBeingCompiledNamespace,MethodBeingCompiledName,MethodBeingCompiledNameSignature,CallerNamespace,CallerName,CallerNameSignature,CalleeNamespace,CalleeName,CalleeNameSignature,TailPrefix,TailCallType,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodJitTailCallFailed() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodJitTailCallFailed();}
-
-inline ULONG FireEtwMethodJitTailCallFailed(
- PCWSTR MethodBeingCompiledNamespace,
- PCWSTR MethodBeingCompiledName,
- PCWSTR MethodBeingCompiledNameSignature,
- PCWSTR CallerNamespace,
- PCWSTR CallerName,
- PCWSTR CallerNameSignature,
- PCWSTR CalleeNamespace,
- PCWSTR CalleeName,
- PCWSTR CalleeNameSignature,
- const BOOL TailPrefix,
- LPCSTR FailReason,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodJitTailCallFailed()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodJitTailCallFailed(MethodBeingCompiledNamespace,MethodBeingCompiledName,MethodBeingCompiledNameSignature,CallerNamespace,CallerName,CallerNameSignature,CalleeNamespace,CalleeName,CalleeNameSignature,TailPrefix,FailReason,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodILToNativeMap() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodILToNativeMap();}
-
-inline ULONG FireEtwMethodILToNativeMap(
- const unsigned __int64 MethodID,
- const unsigned __int64 ReJITID,
- const unsigned char MethodExtent,
- const unsigned short CountOfMapEntries,
- const unsigned int* ILOffsets,
- const unsigned int* NativeOffsets,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodILToNativeMap()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodILToNativeMap(MethodID,ReJITID,MethodExtent,CountOfMapEntries,ILOffsets,NativeOffsets,ClrInstanceID);
-}
-
-inline BOOL EventEnabledModuleDCStartV2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleDCStartV2();}
-
-inline ULONG FireEtwModuleDCStartV2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- if (!EventEnabledModuleDCStartV2()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleDCStartV2(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath);
-}
-
-inline BOOL EventEnabledModuleDCEndV2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleDCEndV2();}
-
-inline ULONG FireEtwModuleDCEndV2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- if (!EventEnabledModuleDCEndV2()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleDCEndV2(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath);
-}
-
-inline BOOL EventEnabledDomainModuleLoad() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDomainModuleLoad();}
-
-inline ULONG FireEtwDomainModuleLoad(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- if (!EventEnabledDomainModuleLoad()) {return ERROR_SUCCESS;}
- return FireEtXplatDomainModuleLoad(ModuleID,AssemblyID,AppDomainID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath);
-}
-
-inline BOOL EventEnabledDomainModuleLoad_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDomainModuleLoad_V1();}
-
-inline ULONG FireEtwDomainModuleLoad_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledDomainModuleLoad_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatDomainModuleLoad_V1(ModuleID,AssemblyID,AppDomainID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath,ClrInstanceID);
-}
-
-inline BOOL EventEnabledModuleLoad() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleLoad();}
-
-inline ULONG FireEtwModuleLoad(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- if (!EventEnabledModuleLoad()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleLoad(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath);
-}
-
-inline BOOL EventEnabledModuleLoad_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleLoad_V1();}
-
-inline ULONG FireEtwModuleLoad_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledModuleLoad_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleLoad_V1(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath,ClrInstanceID);
-}
-
-inline BOOL EventEnabledModuleLoad_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleLoad_V2();}
-
-inline ULONG FireEtwModuleLoad_V2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID,
- const GUID* ManagedPdbSignature,
- const unsigned int ManagedPdbAge,
- PCWSTR ManagedPdbBuildPath,
- const GUID* NativePdbSignature,
- const unsigned int NativePdbAge,
- PCWSTR NativePdbBuildPath
-)
-{
- if (!EventEnabledModuleLoad_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleLoad_V2(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath,ClrInstanceID,ManagedPdbSignature,ManagedPdbAge,ManagedPdbBuildPath,NativePdbSignature,NativePdbAge,NativePdbBuildPath);
-}
-
-inline BOOL EventEnabledModuleUnload() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleUnload();}
-
-inline ULONG FireEtwModuleUnload(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- if (!EventEnabledModuleUnload()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleUnload(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath);
-}
-
-inline BOOL EventEnabledModuleUnload_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleUnload_V1();}
-
-inline ULONG FireEtwModuleUnload_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledModuleUnload_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleUnload_V1(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath,ClrInstanceID);
-}
-
-inline BOOL EventEnabledModuleUnload_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleUnload_V2();}
-
-inline ULONG FireEtwModuleUnload_V2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID,
- const GUID* ManagedPdbSignature,
- const unsigned int ManagedPdbAge,
- PCWSTR ManagedPdbBuildPath,
- const GUID* NativePdbSignature,
- const unsigned int NativePdbAge,
- PCWSTR NativePdbBuildPath
-)
-{
- if (!EventEnabledModuleUnload_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleUnload_V2(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath,ClrInstanceID,ManagedPdbSignature,ManagedPdbAge,ManagedPdbBuildPath,NativePdbSignature,NativePdbAge,NativePdbBuildPath);
-}
-
-inline BOOL EventEnabledAssemblyLoad() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAssemblyLoad();}
-
-inline ULONG FireEtwAssemblyLoad(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName
-)
-{
- if (!EventEnabledAssemblyLoad()) {return ERROR_SUCCESS;}
- return FireEtXplatAssemblyLoad(AssemblyID,AppDomainID,AssemblyFlags,FullyQualifiedAssemblyName);
-}
-
-inline BOOL EventEnabledAssemblyLoad_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAssemblyLoad_V1();}
-
-inline ULONG FireEtwAssemblyLoad_V1(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned __int64 BindingID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAssemblyLoad_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatAssemblyLoad_V1(AssemblyID,AppDomainID,BindingID,AssemblyFlags,FullyQualifiedAssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledAssemblyUnload() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAssemblyUnload();}
-
-inline ULONG FireEtwAssemblyUnload(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName
-)
-{
- if (!EventEnabledAssemblyUnload()) {return ERROR_SUCCESS;}
- return FireEtXplatAssemblyUnload(AssemblyID,AppDomainID,AssemblyFlags,FullyQualifiedAssemblyName);
-}
-
-inline BOOL EventEnabledAssemblyUnload_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAssemblyUnload_V1();}
-
-inline ULONG FireEtwAssemblyUnload_V1(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned __int64 BindingID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAssemblyUnload_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatAssemblyUnload_V1(AssemblyID,AppDomainID,BindingID,AssemblyFlags,FullyQualifiedAssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledAppDomainLoad() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAppDomainLoad();}
-
-inline ULONG FireEtwAppDomainLoad(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName
-)
-{
- if (!EventEnabledAppDomainLoad()) {return ERROR_SUCCESS;}
- return FireEtXplatAppDomainLoad(AppDomainID,AppDomainFlags,AppDomainName);
-}
-
-inline BOOL EventEnabledAppDomainLoad_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAppDomainLoad_V1();}
-
-inline ULONG FireEtwAppDomainLoad_V1(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName,
- const unsigned int AppDomainIndex,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAppDomainLoad_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatAppDomainLoad_V1(AppDomainID,AppDomainFlags,AppDomainName,AppDomainIndex,ClrInstanceID);
-}
-
-inline BOOL EventEnabledAppDomainUnload() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAppDomainUnload();}
-
-inline ULONG FireEtwAppDomainUnload(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName
-)
-{
- if (!EventEnabledAppDomainUnload()) {return ERROR_SUCCESS;}
- return FireEtXplatAppDomainUnload(AppDomainID,AppDomainFlags,AppDomainName);
-}
-
-inline BOOL EventEnabledAppDomainUnload_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAppDomainUnload_V1();}
-
-inline ULONG FireEtwAppDomainUnload_V1(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName,
- const unsigned int AppDomainIndex,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAppDomainUnload_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatAppDomainUnload_V1(AppDomainID,AppDomainFlags,AppDomainName,AppDomainIndex,ClrInstanceID);
-}
-
-inline BOOL EventEnabledModuleRangeLoad() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleRangeLoad();}
-
-inline ULONG FireEtwModuleRangeLoad(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned int RangeBegin,
- const unsigned int RangeSize,
- const unsigned char RangeType
-)
-{
- if (!EventEnabledModuleRangeLoad()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleRangeLoad(ClrInstanceID,ModuleID,RangeBegin,RangeSize,RangeType);
-}
-
-inline BOOL EventEnabledStrongNameVerificationStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledStrongNameVerificationStart();}
-
-inline ULONG FireEtwStrongNameVerificationStart(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR FullyQualifiedAssemblyName
-)
-{
- if (!EventEnabledStrongNameVerificationStart()) {return ERROR_SUCCESS;}
- return FireEtXplatStrongNameVerificationStart(VerificationFlags,ErrorCode,FullyQualifiedAssemblyName);
-}
-
-inline BOOL EventEnabledStrongNameVerificationStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledStrongNameVerificationStart_V1();}
-
-inline ULONG FireEtwStrongNameVerificationStart_V1(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledStrongNameVerificationStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatStrongNameVerificationStart_V1(VerificationFlags,ErrorCode,FullyQualifiedAssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledStrongNameVerificationStop() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledStrongNameVerificationStop();}
-
-inline ULONG FireEtwStrongNameVerificationStop(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR FullyQualifiedAssemblyName
-)
-{
- if (!EventEnabledStrongNameVerificationStop()) {return ERROR_SUCCESS;}
- return FireEtXplatStrongNameVerificationStop(VerificationFlags,ErrorCode,FullyQualifiedAssemblyName);
-}
-
-inline BOOL EventEnabledStrongNameVerificationStop_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledStrongNameVerificationStop_V1();}
-
-inline ULONG FireEtwStrongNameVerificationStop_V1(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledStrongNameVerificationStop_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatStrongNameVerificationStop_V1(VerificationFlags,ErrorCode,FullyQualifiedAssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledAuthenticodeVerificationStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAuthenticodeVerificationStart();}
-
-inline ULONG FireEtwAuthenticodeVerificationStart(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR ModulePath
-)
-{
- if (!EventEnabledAuthenticodeVerificationStart()) {return ERROR_SUCCESS;}
- return FireEtXplatAuthenticodeVerificationStart(VerificationFlags,ErrorCode,ModulePath);
-}
-
-inline BOOL EventEnabledAuthenticodeVerificationStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAuthenticodeVerificationStart_V1();}
-
-inline ULONG FireEtwAuthenticodeVerificationStart_V1(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR ModulePath,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAuthenticodeVerificationStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatAuthenticodeVerificationStart_V1(VerificationFlags,ErrorCode,ModulePath,ClrInstanceID);
-}
-
-inline BOOL EventEnabledAuthenticodeVerificationStop() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAuthenticodeVerificationStop();}
-
-inline ULONG FireEtwAuthenticodeVerificationStop(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR ModulePath
-)
-{
- if (!EventEnabledAuthenticodeVerificationStop()) {return ERROR_SUCCESS;}
- return FireEtXplatAuthenticodeVerificationStop(VerificationFlags,ErrorCode,ModulePath);
-}
-
-inline BOOL EventEnabledAuthenticodeVerificationStop_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAuthenticodeVerificationStop_V1();}
-
-inline ULONG FireEtwAuthenticodeVerificationStop_V1(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR ModulePath,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAuthenticodeVerificationStop_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatAuthenticodeVerificationStop_V1(VerificationFlags,ErrorCode,ModulePath,ClrInstanceID);
-}
-
-inline BOOL EventEnabledRuntimeInformationStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledRuntimeInformationStart();}
-
-inline ULONG FireEtwRuntimeInformationStart(
- const unsigned short ClrInstanceID,
- const unsigned short Sku,
- const unsigned short BclMajorVersion,
- const unsigned short BclMinorVersion,
- const unsigned short BclBuildNumber,
- const unsigned short BclQfeNumber,
- const unsigned short VMMajorVersion,
- const unsigned short VMMinorVersion,
- const unsigned short VMBuildNumber,
- const unsigned short VMQfeNumber,
- const unsigned int StartupFlags,
- const unsigned char StartupMode,
- PCWSTR CommandLine,
- const GUID* ComObjectGuid,
- PCWSTR RuntimeDllPath
-)
-{
- if (!EventEnabledRuntimeInformationStart()) {return ERROR_SUCCESS;}
- return FireEtXplatRuntimeInformationStart(ClrInstanceID,Sku,BclMajorVersion,BclMinorVersion,BclBuildNumber,BclQfeNumber,VMMajorVersion,VMMinorVersion,VMBuildNumber,VMQfeNumber,StartupFlags,StartupMode,CommandLine,ComObjectGuid,RuntimeDllPath);
-}
-
-inline BOOL EventEnabledIncreaseMemoryPressure() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledIncreaseMemoryPressure();}
-
-inline ULONG FireEtwIncreaseMemoryPressure(
- const unsigned __int64 BytesAllocated,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledIncreaseMemoryPressure()) {return ERROR_SUCCESS;}
- return FireEtXplatIncreaseMemoryPressure(BytesAllocated,ClrInstanceID);
-}
-
-inline BOOL EventEnabledDecreaseMemoryPressure() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDecreaseMemoryPressure();}
-
-inline ULONG FireEtwDecreaseMemoryPressure(
- const unsigned __int64 BytesFreed,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledDecreaseMemoryPressure()) {return ERROR_SUCCESS;}
- return FireEtXplatDecreaseMemoryPressure(BytesFreed,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCMarkWithType() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCMarkWithType();}
-
-inline ULONG FireEtwGCMarkWithType(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID,
- const unsigned int Type,
- const unsigned __int64 Bytes
-)
-{
- if (!EventEnabledGCMarkWithType()) {return ERROR_SUCCESS;}
- return FireEtXplatGCMarkWithType(HeapNum,ClrInstanceID,Type,Bytes);
-}
-
-inline BOOL EventEnabledGCJoin_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCJoin_V2();}
-
-inline ULONG FireEtwGCJoin_V2(
- const unsigned int Heap,
- const unsigned int JoinTime,
- const unsigned int JoinType,
- const unsigned short ClrInstanceID,
- const unsigned int JoinID
-)
-{
- if (!EventEnabledGCJoin_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatGCJoin_V2(Heap,JoinTime,JoinType,ClrInstanceID,JoinID);
-}
-
-inline BOOL EventEnabledGCPerHeapHistory_V3() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCPerHeapHistory_V3();}
-
-inline ULONG FireEtwGCPerHeapHistory_V3(
- const unsigned short ClrInstanceID,
- const void* FreeListAllocated,
- const void* FreeListRejected,
- const void* EndOfSegAllocated,
- const void* CondemnedAllocated,
- const void* PinnedAllocated,
- const void* PinnedAllocatedAdvance,
- const unsigned int RunningFreeListEfficiency,
- const unsigned int CondemnReasons0,
- const unsigned int CondemnReasons1,
- const unsigned int CompactMechanisms,
- const unsigned int ExpandMechanisms,
- const unsigned int HeapIndex,
- const void* ExtraGen0Commit,
- const unsigned int Count,
- const ULONG Arg15_Struct_Len_,
- const void* Arg15_Struct_Pointer_
-)
-{
- if (!EventEnabledGCPerHeapHistory_V3()) {return ERROR_SUCCESS;}
- return FireEtXplatGCPerHeapHistory_V3(ClrInstanceID,FreeListAllocated,FreeListRejected,EndOfSegAllocated,CondemnedAllocated,PinnedAllocated,PinnedAllocatedAdvance,RunningFreeListEfficiency,CondemnReasons0,CondemnReasons1,CompactMechanisms,ExpandMechanisms,HeapIndex,ExtraGen0Commit,Count,Arg15_Struct_Len_,Arg15_Struct_Pointer_);
-}
-
-inline BOOL EventEnabledGCGlobalHeapHistory_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCGlobalHeapHistory_V2();}
-
-inline ULONG FireEtwGCGlobalHeapHistory_V2(
- const unsigned __int64 FinalYoungestDesired,
- const signed int NumHeaps,
- const unsigned int CondemnedGeneration,
- const unsigned int Gen0ReductionCount,
- const unsigned int Reason,
- const unsigned int GlobalMechanisms,
- const unsigned short ClrInstanceID,
- const unsigned int PauseMode,
- const unsigned int MemoryPressure
-)
-{
- if (!EventEnabledGCGlobalHeapHistory_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatGCGlobalHeapHistory_V2(FinalYoungestDesired,NumHeaps,CondemnedGeneration,Gen0ReductionCount,Reason,GlobalMechanisms,ClrInstanceID,PauseMode,MemoryPressure);
-}
-
-inline BOOL EventEnabledDebugIPCEventStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDebugIPCEventStart();}
-
-inline ULONG FireEtwDebugIPCEventStart(
-)
-{
- if (!EventEnabledDebugIPCEventStart()) {return ERROR_SUCCESS;}
- return FireEtXplatDebugIPCEventStart();
-}
-
-inline BOOL EventEnabledDebugIPCEventEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDebugIPCEventEnd();}
-
-inline ULONG FireEtwDebugIPCEventEnd(
-)
-{
- if (!EventEnabledDebugIPCEventEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatDebugIPCEventEnd();
-}
-
-inline BOOL EventEnabledDebugExceptionProcessingStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDebugExceptionProcessingStart();}
-
-inline ULONG FireEtwDebugExceptionProcessingStart(
-)
-{
- if (!EventEnabledDebugExceptionProcessingStart()) {return ERROR_SUCCESS;}
- return FireEtXplatDebugExceptionProcessingStart();
-}
-
-inline BOOL EventEnabledDebugExceptionProcessingEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDebugExceptionProcessingEnd();}
-
-inline ULONG FireEtwDebugExceptionProcessingEnd(
-)
-{
- if (!EventEnabledDebugExceptionProcessingEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatDebugExceptionProcessingEnd();
-}
-
-inline BOOL EventEnabledCodeSymbols() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledCodeSymbols();}
-
-inline ULONG FireEtwCodeSymbols(
- const unsigned __int64 ModuleId,
- const unsigned short TotalChunks,
- const unsigned short ChunkNumber,
- const unsigned int ChunkLength,
- const BYTE* Chunk,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledCodeSymbols()) {return ERROR_SUCCESS;}
- return FireEtXplatCodeSymbols(ModuleId,TotalChunks,ChunkNumber,ChunkLength,Chunk,ClrInstanceID);
-}
-
-inline BOOL EventEnabledEventSource() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEventSource();}
-
-inline ULONG FireEtwEventSource(
- const signed int EventID,
- PCWSTR EventName,
- PCWSTR EventSourceName,
- PCWSTR Payload
-)
-{
- if (!EventEnabledEventSource()) {return ERROR_SUCCESS;}
- return FireEtXplatEventSource(EventID,EventName,EventSourceName,Payload);
-}
-
-inline BOOL EventEnabledCLRStackWalkDCStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledCLRStackWalkDCStart();}
-
-inline ULONG FireEtwCLRStackWalkDCStart(
- const unsigned short ClrInstanceID,
- const unsigned char Reserved1,
- const unsigned char Reserved2,
- const unsigned int FrameCount,
- const void** Stack
-)
-{
- if (!EventEnabledCLRStackWalkDCStart()) {return ERROR_SUCCESS;}
- return FireEtXplatCLRStackWalkDCStart(ClrInstanceID,Reserved1,Reserved2,FrameCount,Stack);
-}
-
-inline BOOL EventEnabledMethodDCStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCStart();}
-
-inline ULONG FireEtwMethodDCStart(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-)
-{
- if (!EventEnabledMethodDCStart()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCStart(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags);
-}
-
-inline BOOL EventEnabledMethodDCStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCStart_V1();}
-
-inline ULONG FireEtwMethodDCStart_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodDCStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCStart_V1(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodDCStart_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCStart_V2();}
-
-inline ULONG FireEtwMethodDCStart_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- if (!EventEnabledMethodDCStart_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCStart_V2(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,ClrInstanceID,ReJITID);
-}
-
-inline BOOL EventEnabledMethodDCEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCEnd();}
-
-inline ULONG FireEtwMethodDCEnd(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-)
-{
- if (!EventEnabledMethodDCEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCEnd(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags);
-}
-
-inline BOOL EventEnabledMethodDCEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCEnd_V1();}
-
-inline ULONG FireEtwMethodDCEnd_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodDCEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCEnd_V1(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodDCEnd_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCEnd_V2();}
-
-inline ULONG FireEtwMethodDCEnd_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- if (!EventEnabledMethodDCEnd_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCEnd_V2(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,ClrInstanceID,ReJITID);
-}
-
-inline BOOL EventEnabledMethodDCStartVerbose() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCStartVerbose();}
-
-inline ULONG FireEtwMethodDCStartVerbose(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- if (!EventEnabledMethodDCStartVerbose()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCStartVerbose(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature);
-}
-
-inline BOOL EventEnabledMethodDCStartVerbose_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCStartVerbose_V1();}
-
-inline ULONG FireEtwMethodDCStartVerbose_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodDCStartVerbose_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCStartVerbose_V1(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodDCStartVerbose_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCStartVerbose_V2();}
-
-inline ULONG FireEtwMethodDCStartVerbose_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- if (!EventEnabledMethodDCStartVerbose_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCStartVerbose_V2(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature,ClrInstanceID,ReJITID);
-}
-
-inline BOOL EventEnabledMethodDCEndVerbose() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCEndVerbose();}
-
-inline ULONG FireEtwMethodDCEndVerbose(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- if (!EventEnabledMethodDCEndVerbose()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCEndVerbose(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature);
-}
-
-inline BOOL EventEnabledMethodDCEndVerbose_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCEndVerbose_V1();}
-
-inline ULONG FireEtwMethodDCEndVerbose_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodDCEndVerbose_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCEndVerbose_V1(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodDCEndVerbose_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCEndVerbose_V2();}
-
-inline ULONG FireEtwMethodDCEndVerbose_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- if (!EventEnabledMethodDCEndVerbose_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCEndVerbose_V2(MethodID,ModuleID,MethodStartAddress,MethodSize,MethodToken,MethodFlags,MethodNamespace,MethodName,MethodSignature,ClrInstanceID,ReJITID);
-}
-
-inline BOOL EventEnabledDCStartComplete() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDCStartComplete();}
-
-inline ULONG FireEtwDCStartComplete(
-)
-{
- if (!EventEnabledDCStartComplete()) {return ERROR_SUCCESS;}
- return FireEtXplatDCStartComplete();
-}
-
-inline BOOL EventEnabledDCStartComplete_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDCStartComplete_V1();}
-
-inline ULONG FireEtwDCStartComplete_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledDCStartComplete_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatDCStartComplete_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledDCEndComplete() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDCEndComplete();}
-
-inline ULONG FireEtwDCEndComplete(
-)
-{
- if (!EventEnabledDCEndComplete()) {return ERROR_SUCCESS;}
- return FireEtXplatDCEndComplete();
-}
-
-inline BOOL EventEnabledDCEndComplete_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDCEndComplete_V1();}
-
-inline ULONG FireEtwDCEndComplete_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledDCEndComplete_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatDCEndComplete_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledDCStartInit() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDCStartInit();}
-
-inline ULONG FireEtwDCStartInit(
-)
-{
- if (!EventEnabledDCStartInit()) {return ERROR_SUCCESS;}
- return FireEtXplatDCStartInit();
-}
-
-inline BOOL EventEnabledDCStartInit_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDCStartInit_V1();}
-
-inline ULONG FireEtwDCStartInit_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledDCStartInit_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatDCStartInit_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledDCEndInit() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDCEndInit();}
-
-inline ULONG FireEtwDCEndInit(
-)
-{
- if (!EventEnabledDCEndInit()) {return ERROR_SUCCESS;}
- return FireEtXplatDCEndInit();
-}
-
-inline BOOL EventEnabledDCEndInit_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDCEndInit_V1();}
-
-inline ULONG FireEtwDCEndInit_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledDCEndInit_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatDCEndInit_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodDCStartILToNativeMap() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCStartILToNativeMap();}
-
-inline ULONG FireEtwMethodDCStartILToNativeMap(
- const unsigned __int64 MethodID,
- const unsigned __int64 ReJITID,
- const unsigned char MethodExtent,
- const unsigned short CountOfMapEntries,
- const unsigned int* ILOffsets,
- const unsigned int* NativeOffsets,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodDCStartILToNativeMap()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCStartILToNativeMap(MethodID,ReJITID,MethodExtent,CountOfMapEntries,ILOffsets,NativeOffsets,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodDCEndILToNativeMap() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodDCEndILToNativeMap();}
-
-inline ULONG FireEtwMethodDCEndILToNativeMap(
- const unsigned __int64 MethodID,
- const unsigned __int64 ReJITID,
- const unsigned char MethodExtent,
- const unsigned short CountOfMapEntries,
- const unsigned int* ILOffsets,
- const unsigned int* NativeOffsets,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodDCEndILToNativeMap()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodDCEndILToNativeMap(MethodID,ReJITID,MethodExtent,CountOfMapEntries,ILOffsets,NativeOffsets,ClrInstanceID);
-}
-
-inline BOOL EventEnabledDomainModuleDCStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDomainModuleDCStart();}
-
-inline ULONG FireEtwDomainModuleDCStart(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- if (!EventEnabledDomainModuleDCStart()) {return ERROR_SUCCESS;}
- return FireEtXplatDomainModuleDCStart(ModuleID,AssemblyID,AppDomainID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath);
-}
-
-inline BOOL EventEnabledDomainModuleDCStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDomainModuleDCStart_V1();}
-
-inline ULONG FireEtwDomainModuleDCStart_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledDomainModuleDCStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatDomainModuleDCStart_V1(ModuleID,AssemblyID,AppDomainID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath,ClrInstanceID);
-}
-
-inline BOOL EventEnabledDomainModuleDCEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDomainModuleDCEnd();}
-
-inline ULONG FireEtwDomainModuleDCEnd(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- if (!EventEnabledDomainModuleDCEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatDomainModuleDCEnd(ModuleID,AssemblyID,AppDomainID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath);
-}
-
-inline BOOL EventEnabledDomainModuleDCEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledDomainModuleDCEnd_V1();}
-
-inline ULONG FireEtwDomainModuleDCEnd_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledDomainModuleDCEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatDomainModuleDCEnd_V1(ModuleID,AssemblyID,AppDomainID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath,ClrInstanceID);
-}
-
-inline BOOL EventEnabledModuleDCStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleDCStart();}
-
-inline ULONG FireEtwModuleDCStart(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- if (!EventEnabledModuleDCStart()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleDCStart(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath);
-}
-
-inline BOOL EventEnabledModuleDCStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleDCStart_V1();}
-
-inline ULONG FireEtwModuleDCStart_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledModuleDCStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleDCStart_V1(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath,ClrInstanceID);
-}
-
-inline BOOL EventEnabledModuleDCStart_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleDCStart_V2();}
-
-inline ULONG FireEtwModuleDCStart_V2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID,
- const GUID* ManagedPdbSignature,
- const unsigned int ManagedPdbAge,
- PCWSTR ManagedPdbBuildPath,
- const GUID* NativePdbSignature,
- const unsigned int NativePdbAge,
- PCWSTR NativePdbBuildPath
-)
-{
- if (!EventEnabledModuleDCStart_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleDCStart_V2(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath,ClrInstanceID,ManagedPdbSignature,ManagedPdbAge,ManagedPdbBuildPath,NativePdbSignature,NativePdbAge,NativePdbBuildPath);
-}
-
-inline BOOL EventEnabledModuleDCEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleDCEnd();}
-
-inline ULONG FireEtwModuleDCEnd(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- if (!EventEnabledModuleDCEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleDCEnd(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath);
-}
-
-inline BOOL EventEnabledModuleDCEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleDCEnd_V1();}
-
-inline ULONG FireEtwModuleDCEnd_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledModuleDCEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleDCEnd_V1(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath,ClrInstanceID);
-}
-
-inline BOOL EventEnabledModuleDCEnd_V2() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleDCEnd_V2();}
-
-inline ULONG FireEtwModuleDCEnd_V2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID,
- const GUID* ManagedPdbSignature,
- const unsigned int ManagedPdbAge,
- PCWSTR ManagedPdbBuildPath,
- const GUID* NativePdbSignature,
- const unsigned int NativePdbAge,
- PCWSTR NativePdbBuildPath
-)
-{
- if (!EventEnabledModuleDCEnd_V2()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleDCEnd_V2(ModuleID,AssemblyID,ModuleFlags,Reserved1,ModuleILPath,ModuleNativePath,ClrInstanceID,ManagedPdbSignature,ManagedPdbAge,ManagedPdbBuildPath,NativePdbSignature,NativePdbAge,NativePdbBuildPath);
-}
-
-inline BOOL EventEnabledAssemblyDCStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAssemblyDCStart();}
-
-inline ULONG FireEtwAssemblyDCStart(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName
-)
-{
- if (!EventEnabledAssemblyDCStart()) {return ERROR_SUCCESS;}
- return FireEtXplatAssemblyDCStart(AssemblyID,AppDomainID,AssemblyFlags,FullyQualifiedAssemblyName);
-}
-
-inline BOOL EventEnabledAssemblyDCStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAssemblyDCStart_V1();}
-
-inline ULONG FireEtwAssemblyDCStart_V1(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned __int64 BindingID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAssemblyDCStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatAssemblyDCStart_V1(AssemblyID,AppDomainID,BindingID,AssemblyFlags,FullyQualifiedAssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledAssemblyDCEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAssemblyDCEnd();}
-
-inline ULONG FireEtwAssemblyDCEnd(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName
-)
-{
- if (!EventEnabledAssemblyDCEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatAssemblyDCEnd(AssemblyID,AppDomainID,AssemblyFlags,FullyQualifiedAssemblyName);
-}
-
-inline BOOL EventEnabledAssemblyDCEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAssemblyDCEnd_V1();}
-
-inline ULONG FireEtwAssemblyDCEnd_V1(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned __int64 BindingID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAssemblyDCEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatAssemblyDCEnd_V1(AssemblyID,AppDomainID,BindingID,AssemblyFlags,FullyQualifiedAssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledAppDomainDCStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAppDomainDCStart();}
-
-inline ULONG FireEtwAppDomainDCStart(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName
-)
-{
- if (!EventEnabledAppDomainDCStart()) {return ERROR_SUCCESS;}
- return FireEtXplatAppDomainDCStart(AppDomainID,AppDomainFlags,AppDomainName);
-}
-
-inline BOOL EventEnabledAppDomainDCStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAppDomainDCStart_V1();}
-
-inline ULONG FireEtwAppDomainDCStart_V1(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName,
- const unsigned int AppDomainIndex,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAppDomainDCStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatAppDomainDCStart_V1(AppDomainID,AppDomainFlags,AppDomainName,AppDomainIndex,ClrInstanceID);
-}
-
-inline BOOL EventEnabledAppDomainDCEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAppDomainDCEnd();}
-
-inline ULONG FireEtwAppDomainDCEnd(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName
-)
-{
- if (!EventEnabledAppDomainDCEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatAppDomainDCEnd(AppDomainID,AppDomainFlags,AppDomainName);
-}
-
-inline BOOL EventEnabledAppDomainDCEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAppDomainDCEnd_V1();}
-
-inline ULONG FireEtwAppDomainDCEnd_V1(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName,
- const unsigned int AppDomainIndex,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAppDomainDCEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatAppDomainDCEnd_V1(AppDomainID,AppDomainFlags,AppDomainName,AppDomainIndex,ClrInstanceID);
-}
-
-inline BOOL EventEnabledThreadDC() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledThreadDC();}
-
-inline ULONG FireEtwThreadDC(
- const unsigned __int64 ManagedThreadID,
- const unsigned __int64 AppDomainID,
- const unsigned int Flags,
- const unsigned int ManagedThreadIndex,
- const unsigned int OSThreadID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledThreadDC()) {return ERROR_SUCCESS;}
- return FireEtXplatThreadDC(ManagedThreadID,AppDomainID,Flags,ManagedThreadIndex,OSThreadID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledModuleRangeDCStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleRangeDCStart();}
-
-inline ULONG FireEtwModuleRangeDCStart(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned int RangeBegin,
- const unsigned int RangeSize,
- const unsigned char RangeType
-)
-{
- if (!EventEnabledModuleRangeDCStart()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleRangeDCStart(ClrInstanceID,ModuleID,RangeBegin,RangeSize,RangeType);
-}
-
-inline BOOL EventEnabledModuleRangeDCEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleRangeDCEnd();}
-
-inline ULONG FireEtwModuleRangeDCEnd(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned int RangeBegin,
- const unsigned int RangeSize,
- const unsigned char RangeType
-)
-{
- if (!EventEnabledModuleRangeDCEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleRangeDCEnd(ClrInstanceID,ModuleID,RangeBegin,RangeSize,RangeType);
-}
-
-inline BOOL EventEnabledRuntimeInformationDCStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledRuntimeInformationDCStart();}
-
-inline ULONG FireEtwRuntimeInformationDCStart(
- const unsigned short ClrInstanceID,
- const unsigned short Sku,
- const unsigned short BclMajorVersion,
- const unsigned short BclMinorVersion,
- const unsigned short BclBuildNumber,
- const unsigned short BclQfeNumber,
- const unsigned short VMMajorVersion,
- const unsigned short VMMinorVersion,
- const unsigned short VMBuildNumber,
- const unsigned short VMQfeNumber,
- const unsigned int StartupFlags,
- const unsigned char StartupMode,
- PCWSTR CommandLine,
- const GUID* ComObjectGuid,
- PCWSTR RuntimeDllPath
-)
-{
- if (!EventEnabledRuntimeInformationDCStart()) {return ERROR_SUCCESS;}
- return FireEtXplatRuntimeInformationDCStart(ClrInstanceID,Sku,BclMajorVersion,BclMinorVersion,BclBuildNumber,BclQfeNumber,VMMajorVersion,VMMinorVersion,VMBuildNumber,VMQfeNumber,StartupFlags,StartupMode,CommandLine,ComObjectGuid,RuntimeDllPath);
-}
-
-inline BOOL EventEnabledStressLogEvent() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledStressLogEvent();}
-
-inline ULONG FireEtwStressLogEvent(
- const unsigned int Facility,
- const unsigned char LogLevel,
- LPCSTR Message
-)
-{
- if (!EventEnabledStressLogEvent()) {return ERROR_SUCCESS;}
- return FireEtXplatStressLogEvent(Facility,LogLevel,Message);
-}
-
-inline BOOL EventEnabledStressLogEvent_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledStressLogEvent_V1();}
-
-inline ULONG FireEtwStressLogEvent_V1(
- const unsigned int Facility,
- const unsigned char LogLevel,
- LPCSTR Message,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledStressLogEvent_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatStressLogEvent_V1(Facility,LogLevel,Message,ClrInstanceID);
-}
-
-inline BOOL EventEnabledCLRStackWalkStress() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledCLRStackWalkStress();}
-
-inline ULONG FireEtwCLRStackWalkStress(
- const unsigned short ClrInstanceID,
- const unsigned char Reserved1,
- const unsigned char Reserved2,
- const unsigned int FrameCount,
- const void** Stack
-)
-{
- if (!EventEnabledCLRStackWalkStress()) {return ERROR_SUCCESS;}
- return FireEtXplatCLRStackWalkStress(ClrInstanceID,Reserved1,Reserved2,FrameCount,Stack);
-}
-
-inline BOOL EventEnabledGCDecision() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCDecision();}
-
-inline ULONG FireEtwGCDecision(
- const BOOL DoCompact
-)
-{
- if (!EventEnabledGCDecision()) {return ERROR_SUCCESS;}
- return FireEtXplatGCDecision(DoCompact);
-}
-
-inline BOOL EventEnabledGCDecision_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCDecision_V1();}
-
-inline ULONG FireEtwGCDecision_V1(
- const BOOL DoCompact,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCDecision_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCDecision_V1(DoCompact,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCSettings() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCSettings();}
-
-inline ULONG FireEtwGCSettings(
- const unsigned __int64 SegmentSize,
- const unsigned __int64 LargeObjectSegmentSize,
- const BOOL ServerGC
-)
-{
- if (!EventEnabledGCSettings()) {return ERROR_SUCCESS;}
- return FireEtXplatGCSettings(SegmentSize,LargeObjectSegmentSize,ServerGC);
-}
-
-inline BOOL EventEnabledGCSettings_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCSettings_V1();}
-
-inline ULONG FireEtwGCSettings_V1(
- const unsigned __int64 SegmentSize,
- const unsigned __int64 LargeObjectSegmentSize,
- const BOOL ServerGC,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCSettings_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCSettings_V1(SegmentSize,LargeObjectSegmentSize,ServerGC,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCOptimized() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCOptimized();}
-
-inline ULONG FireEtwGCOptimized(
- const unsigned __int64 DesiredAllocation,
- const unsigned __int64 NewAllocation,
- const unsigned int GenerationNumber
-)
-{
- if (!EventEnabledGCOptimized()) {return ERROR_SUCCESS;}
- return FireEtXplatGCOptimized(DesiredAllocation,NewAllocation,GenerationNumber);
-}
-
-inline BOOL EventEnabledGCOptimized_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCOptimized_V1();}
-
-inline ULONG FireEtwGCOptimized_V1(
- const unsigned __int64 DesiredAllocation,
- const unsigned __int64 NewAllocation,
- const unsigned int GenerationNumber,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCOptimized_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCOptimized_V1(DesiredAllocation,NewAllocation,GenerationNumber,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCPerHeapHistory() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCPerHeapHistory();}
-
-inline ULONG FireEtwGCPerHeapHistory(
-)
-{
- if (!EventEnabledGCPerHeapHistory()) {return ERROR_SUCCESS;}
- return FireEtXplatGCPerHeapHistory();
-}
-
-inline BOOL EventEnabledGCPerHeapHistory_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCPerHeapHistory_V1();}
-
-inline ULONG FireEtwGCPerHeapHistory_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCPerHeapHistory_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCPerHeapHistory_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCGlobalHeapHistory() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCGlobalHeapHistory();}
-
-inline ULONG FireEtwGCGlobalHeapHistory(
- const unsigned __int64 FinalYoungestDesired,
- const signed int NumHeaps,
- const unsigned int CondemnedGeneration,
- const unsigned int Gen0ReductionCount,
- const unsigned int Reason,
- const unsigned int GlobalMechanisms
-)
-{
- if (!EventEnabledGCGlobalHeapHistory()) {return ERROR_SUCCESS;}
- return FireEtXplatGCGlobalHeapHistory(FinalYoungestDesired,NumHeaps,CondemnedGeneration,Gen0ReductionCount,Reason,GlobalMechanisms);
-}
-
-inline BOOL EventEnabledGCGlobalHeapHistory_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCGlobalHeapHistory_V1();}
-
-inline ULONG FireEtwGCGlobalHeapHistory_V1(
- const unsigned __int64 FinalYoungestDesired,
- const signed int NumHeaps,
- const unsigned int CondemnedGeneration,
- const unsigned int Gen0ReductionCount,
- const unsigned int Reason,
- const unsigned int GlobalMechanisms,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCGlobalHeapHistory_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCGlobalHeapHistory_V1(FinalYoungestDesired,NumHeaps,CondemnedGeneration,Gen0ReductionCount,Reason,GlobalMechanisms,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCJoin() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCJoin();}
-
-inline ULONG FireEtwGCJoin(
- const unsigned int Heap,
- const unsigned int JoinTime,
- const unsigned int JoinType
-)
-{
- if (!EventEnabledGCJoin()) {return ERROR_SUCCESS;}
- return FireEtXplatGCJoin(Heap,JoinTime,JoinType);
-}
-
-inline BOOL EventEnabledGCJoin_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCJoin_V1();}
-
-inline ULONG FireEtwGCJoin_V1(
- const unsigned int Heap,
- const unsigned int JoinTime,
- const unsigned int JoinType,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCJoin_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCJoin_V1(Heap,JoinTime,JoinType,ClrInstanceID);
-}
-
-inline BOOL EventEnabledPrvGCMarkStackRoots() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrvGCMarkStackRoots();}
-
-inline ULONG FireEtwPrvGCMarkStackRoots(
- const unsigned int HeapNum
-)
-{
- if (!EventEnabledPrvGCMarkStackRoots()) {return ERROR_SUCCESS;}
- return FireEtXplatPrvGCMarkStackRoots(HeapNum);
-}
-
-inline BOOL EventEnabledPrvGCMarkStackRoots_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrvGCMarkStackRoots_V1();}
-
-inline ULONG FireEtwPrvGCMarkStackRoots_V1(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledPrvGCMarkStackRoots_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatPrvGCMarkStackRoots_V1(HeapNum,ClrInstanceID);
-}
-
-inline BOOL EventEnabledPrvGCMarkFinalizeQueueRoots() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrvGCMarkFinalizeQueueRoots();}
-
-inline ULONG FireEtwPrvGCMarkFinalizeQueueRoots(
- const unsigned int HeapNum
-)
-{
- if (!EventEnabledPrvGCMarkFinalizeQueueRoots()) {return ERROR_SUCCESS;}
- return FireEtXplatPrvGCMarkFinalizeQueueRoots(HeapNum);
-}
-
-inline BOOL EventEnabledPrvGCMarkFinalizeQueueRoots_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrvGCMarkFinalizeQueueRoots_V1();}
-
-inline ULONG FireEtwPrvGCMarkFinalizeQueueRoots_V1(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledPrvGCMarkFinalizeQueueRoots_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatPrvGCMarkFinalizeQueueRoots_V1(HeapNum,ClrInstanceID);
-}
-
-inline BOOL EventEnabledPrvGCMarkHandles() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrvGCMarkHandles();}
-
-inline ULONG FireEtwPrvGCMarkHandles(
- const unsigned int HeapNum
-)
-{
- if (!EventEnabledPrvGCMarkHandles()) {return ERROR_SUCCESS;}
- return FireEtXplatPrvGCMarkHandles(HeapNum);
-}
-
-inline BOOL EventEnabledPrvGCMarkHandles_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrvGCMarkHandles_V1();}
-
-inline ULONG FireEtwPrvGCMarkHandles_V1(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledPrvGCMarkHandles_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatPrvGCMarkHandles_V1(HeapNum,ClrInstanceID);
-}
-
-inline BOOL EventEnabledPrvGCMarkCards() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrvGCMarkCards();}
-
-inline ULONG FireEtwPrvGCMarkCards(
- const unsigned int HeapNum
-)
-{
- if (!EventEnabledPrvGCMarkCards()) {return ERROR_SUCCESS;}
- return FireEtXplatPrvGCMarkCards(HeapNum);
-}
-
-inline BOOL EventEnabledPrvGCMarkCards_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrvGCMarkCards_V1();}
-
-inline ULONG FireEtwPrvGCMarkCards_V1(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledPrvGCMarkCards_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatPrvGCMarkCards_V1(HeapNum,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGCBegin() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGCBegin();}
-
-inline ULONG FireEtwBGCBegin(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGCBegin()) {return ERROR_SUCCESS;}
- return FireEtXplatBGCBegin(ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGC1stNonConEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGC1stNonConEnd();}
-
-inline ULONG FireEtwBGC1stNonConEnd(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGC1stNonConEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatBGC1stNonConEnd(ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGC1stConEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGC1stConEnd();}
-
-inline ULONG FireEtwBGC1stConEnd(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGC1stConEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatBGC1stConEnd(ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGC2ndNonConBegin() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGC2ndNonConBegin();}
-
-inline ULONG FireEtwBGC2ndNonConBegin(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGC2ndNonConBegin()) {return ERROR_SUCCESS;}
- return FireEtXplatBGC2ndNonConBegin(ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGC2ndNonConEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGC2ndNonConEnd();}
-
-inline ULONG FireEtwBGC2ndNonConEnd(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGC2ndNonConEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatBGC2ndNonConEnd(ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGC2ndConBegin() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGC2ndConBegin();}
-
-inline ULONG FireEtwBGC2ndConBegin(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGC2ndConBegin()) {return ERROR_SUCCESS;}
- return FireEtXplatBGC2ndConBegin(ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGC2ndConEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGC2ndConEnd();}
-
-inline ULONG FireEtwBGC2ndConEnd(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGC2ndConEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatBGC2ndConEnd(ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGCPlanEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGCPlanEnd();}
-
-inline ULONG FireEtwBGCPlanEnd(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGCPlanEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatBGCPlanEnd(ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGCSweepEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGCSweepEnd();}
-
-inline ULONG FireEtwBGCSweepEnd(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGCSweepEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatBGCSweepEnd(ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGCDrainMark() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGCDrainMark();}
-
-inline ULONG FireEtwBGCDrainMark(
- const unsigned __int64 Objects,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGCDrainMark()) {return ERROR_SUCCESS;}
- return FireEtXplatBGCDrainMark(Objects,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGCRevisit() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGCRevisit();}
-
-inline ULONG FireEtwBGCRevisit(
- const unsigned __int64 Pages,
- const unsigned __int64 Objects,
- const unsigned int IsLarge,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGCRevisit()) {return ERROR_SUCCESS;}
- return FireEtXplatBGCRevisit(Pages,Objects,IsLarge,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGCOverflow() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGCOverflow();}
-
-inline ULONG FireEtwBGCOverflow(
- const unsigned __int64 Min,
- const unsigned __int64 Max,
- const unsigned __int64 Objects,
- const unsigned int IsLarge,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGCOverflow()) {return ERROR_SUCCESS;}
- return FireEtXplatBGCOverflow(Min,Max,Objects,IsLarge,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGCAllocWaitBegin() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGCAllocWaitBegin();}
-
-inline ULONG FireEtwBGCAllocWaitBegin(
- const unsigned int Reason,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGCAllocWaitBegin()) {return ERROR_SUCCESS;}
- return FireEtXplatBGCAllocWaitBegin(Reason,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBGCAllocWaitEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBGCAllocWaitEnd();}
-
-inline ULONG FireEtwBGCAllocWaitEnd(
- const unsigned int Reason,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBGCAllocWaitEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatBGCAllocWaitEnd(Reason,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGCFullNotify() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCFullNotify();}
-
-inline ULONG FireEtwGCFullNotify(
- const unsigned int GenNumber,
- const unsigned int IsAlloc
-)
-{
- if (!EventEnabledGCFullNotify()) {return ERROR_SUCCESS;}
- return FireEtXplatGCFullNotify(GenNumber,IsAlloc);
-}
-
-inline BOOL EventEnabledGCFullNotify_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGCFullNotify_V1();}
-
-inline ULONG FireEtwGCFullNotify_V1(
- const unsigned int GenNumber,
- const unsigned int IsAlloc,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGCFullNotify_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGCFullNotify_V1(GenNumber,IsAlloc,ClrInstanceID);
-}
-
-inline BOOL EventEnabledEEStartupStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEEStartupStart();}
-
-inline ULONG FireEtwEEStartupStart(
-)
-{
- if (!EventEnabledEEStartupStart()) {return ERROR_SUCCESS;}
- return FireEtXplatEEStartupStart();
-}
-
-inline BOOL EventEnabledEEStartupStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEEStartupStart_V1();}
-
-inline ULONG FireEtwEEStartupStart_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledEEStartupStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatEEStartupStart_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledEEStartupEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEEStartupEnd();}
-
-inline ULONG FireEtwEEStartupEnd(
-)
-{
- if (!EventEnabledEEStartupEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatEEStartupEnd();
-}
-
-inline BOOL EventEnabledEEStartupEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEEStartupEnd_V1();}
-
-inline ULONG FireEtwEEStartupEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledEEStartupEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatEEStartupEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledEEConfigSetup() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEEConfigSetup();}
-
-inline ULONG FireEtwEEConfigSetup(
-)
-{
- if (!EventEnabledEEConfigSetup()) {return ERROR_SUCCESS;}
- return FireEtXplatEEConfigSetup();
-}
-
-inline BOOL EventEnabledEEConfigSetup_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEEConfigSetup_V1();}
-
-inline ULONG FireEtwEEConfigSetup_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledEEConfigSetup_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatEEConfigSetup_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledEEConfigSetupEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEEConfigSetupEnd();}
-
-inline ULONG FireEtwEEConfigSetupEnd(
-)
-{
- if (!EventEnabledEEConfigSetupEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatEEConfigSetupEnd();
-}
-
-inline BOOL EventEnabledEEConfigSetupEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEEConfigSetupEnd_V1();}
-
-inline ULONG FireEtwEEConfigSetupEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledEEConfigSetupEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatEEConfigSetupEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledLdSysBases() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLdSysBases();}
-
-inline ULONG FireEtwLdSysBases(
-)
-{
- if (!EventEnabledLdSysBases()) {return ERROR_SUCCESS;}
- return FireEtXplatLdSysBases();
-}
-
-inline BOOL EventEnabledLdSysBases_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLdSysBases_V1();}
-
-inline ULONG FireEtwLdSysBases_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLdSysBases_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatLdSysBases_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledLdSysBasesEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLdSysBasesEnd();}
-
-inline ULONG FireEtwLdSysBasesEnd(
-)
-{
- if (!EventEnabledLdSysBasesEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatLdSysBasesEnd();
-}
-
-inline BOOL EventEnabledLdSysBasesEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLdSysBasesEnd_V1();}
-
-inline ULONG FireEtwLdSysBasesEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLdSysBasesEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatLdSysBasesEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledExecExe() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExecExe();}
-
-inline ULONG FireEtwExecExe(
-)
-{
- if (!EventEnabledExecExe()) {return ERROR_SUCCESS;}
- return FireEtXplatExecExe();
-}
-
-inline BOOL EventEnabledExecExe_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExecExe_V1();}
-
-inline ULONG FireEtwExecExe_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledExecExe_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatExecExe_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledExecExeEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExecExeEnd();}
-
-inline ULONG FireEtwExecExeEnd(
-)
-{
- if (!EventEnabledExecExeEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatExecExeEnd();
-}
-
-inline BOOL EventEnabledExecExeEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExecExeEnd_V1();}
-
-inline ULONG FireEtwExecExeEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledExecExeEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatExecExeEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledMain() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMain();}
-
-inline ULONG FireEtwMain(
-)
-{
- if (!EventEnabledMain()) {return ERROR_SUCCESS;}
- return FireEtXplatMain();
-}
-
-inline BOOL EventEnabledMain_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMain_V1();}
-
-inline ULONG FireEtwMain_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMain_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatMain_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledMainEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMainEnd();}
-
-inline ULONG FireEtwMainEnd(
-)
-{
- if (!EventEnabledMainEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatMainEnd();
-}
-
-inline BOOL EventEnabledMainEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMainEnd_V1();}
-
-inline ULONG FireEtwMainEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMainEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatMainEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledApplyPolicyStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledApplyPolicyStart();}
-
-inline ULONG FireEtwApplyPolicyStart(
-)
-{
- if (!EventEnabledApplyPolicyStart()) {return ERROR_SUCCESS;}
- return FireEtXplatApplyPolicyStart();
-}
-
-inline BOOL EventEnabledApplyPolicyStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledApplyPolicyStart_V1();}
-
-inline ULONG FireEtwApplyPolicyStart_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledApplyPolicyStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatApplyPolicyStart_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledApplyPolicyEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledApplyPolicyEnd();}
-
-inline ULONG FireEtwApplyPolicyEnd(
-)
-{
- if (!EventEnabledApplyPolicyEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatApplyPolicyEnd();
-}
-
-inline BOOL EventEnabledApplyPolicyEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledApplyPolicyEnd_V1();}
-
-inline ULONG FireEtwApplyPolicyEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledApplyPolicyEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatApplyPolicyEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledLdLibShFolder() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLdLibShFolder();}
-
-inline ULONG FireEtwLdLibShFolder(
-)
-{
- if (!EventEnabledLdLibShFolder()) {return ERROR_SUCCESS;}
- return FireEtXplatLdLibShFolder();
-}
-
-inline BOOL EventEnabledLdLibShFolder_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLdLibShFolder_V1();}
-
-inline ULONG FireEtwLdLibShFolder_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLdLibShFolder_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatLdLibShFolder_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledLdLibShFolderEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLdLibShFolderEnd();}
-
-inline ULONG FireEtwLdLibShFolderEnd(
-)
-{
- if (!EventEnabledLdLibShFolderEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatLdLibShFolderEnd();
-}
-
-inline BOOL EventEnabledLdLibShFolderEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLdLibShFolderEnd_V1();}
-
-inline ULONG FireEtwLdLibShFolderEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLdLibShFolderEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatLdLibShFolderEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledPrestubWorker() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrestubWorker();}
-
-inline ULONG FireEtwPrestubWorker(
-)
-{
- if (!EventEnabledPrestubWorker()) {return ERROR_SUCCESS;}
- return FireEtXplatPrestubWorker();
-}
-
-inline BOOL EventEnabledPrestubWorker_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrestubWorker_V1();}
-
-inline ULONG FireEtwPrestubWorker_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledPrestubWorker_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatPrestubWorker_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledPrestubWorkerEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrestubWorkerEnd();}
-
-inline ULONG FireEtwPrestubWorkerEnd(
-)
-{
- if (!EventEnabledPrestubWorkerEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatPrestubWorkerEnd();
-}
-
-inline BOOL EventEnabledPrestubWorkerEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrestubWorkerEnd_V1();}
-
-inline ULONG FireEtwPrestubWorkerEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledPrestubWorkerEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatPrestubWorkerEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledGetInstallationStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGetInstallationStart();}
-
-inline ULONG FireEtwGetInstallationStart(
-)
-{
- if (!EventEnabledGetInstallationStart()) {return ERROR_SUCCESS;}
- return FireEtXplatGetInstallationStart();
-}
-
-inline BOOL EventEnabledGetInstallationStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGetInstallationStart_V1();}
-
-inline ULONG FireEtwGetInstallationStart_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGetInstallationStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGetInstallationStart_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledGetInstallationEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGetInstallationEnd();}
-
-inline ULONG FireEtwGetInstallationEnd(
-)
-{
- if (!EventEnabledGetInstallationEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatGetInstallationEnd();
-}
-
-inline BOOL EventEnabledGetInstallationEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGetInstallationEnd_V1();}
-
-inline ULONG FireEtwGetInstallationEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGetInstallationEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatGetInstallationEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledOpenHModule() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledOpenHModule();}
-
-inline ULONG FireEtwOpenHModule(
-)
-{
- if (!EventEnabledOpenHModule()) {return ERROR_SUCCESS;}
- return FireEtXplatOpenHModule();
-}
-
-inline BOOL EventEnabledOpenHModule_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledOpenHModule_V1();}
-
-inline ULONG FireEtwOpenHModule_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledOpenHModule_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatOpenHModule_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledOpenHModuleEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledOpenHModuleEnd();}
-
-inline ULONG FireEtwOpenHModuleEnd(
-)
-{
- if (!EventEnabledOpenHModuleEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatOpenHModuleEnd();
-}
-
-inline BOOL EventEnabledOpenHModuleEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledOpenHModuleEnd_V1();}
-
-inline ULONG FireEtwOpenHModuleEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledOpenHModuleEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatOpenHModuleEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledExplicitBindStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExplicitBindStart();}
-
-inline ULONG FireEtwExplicitBindStart(
-)
-{
- if (!EventEnabledExplicitBindStart()) {return ERROR_SUCCESS;}
- return FireEtXplatExplicitBindStart();
-}
-
-inline BOOL EventEnabledExplicitBindStart_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExplicitBindStart_V1();}
-
-inline ULONG FireEtwExplicitBindStart_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledExplicitBindStart_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatExplicitBindStart_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledExplicitBindEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExplicitBindEnd();}
-
-inline ULONG FireEtwExplicitBindEnd(
-)
-{
- if (!EventEnabledExplicitBindEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatExplicitBindEnd();
-}
-
-inline BOOL EventEnabledExplicitBindEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledExplicitBindEnd_V1();}
-
-inline ULONG FireEtwExplicitBindEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledExplicitBindEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatExplicitBindEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledParseXml() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledParseXml();}
-
-inline ULONG FireEtwParseXml(
-)
-{
- if (!EventEnabledParseXml()) {return ERROR_SUCCESS;}
- return FireEtXplatParseXml();
-}
-
-inline BOOL EventEnabledParseXml_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledParseXml_V1();}
-
-inline ULONG FireEtwParseXml_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledParseXml_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatParseXml_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledParseXmlEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledParseXmlEnd();}
-
-inline ULONG FireEtwParseXmlEnd(
-)
-{
- if (!EventEnabledParseXmlEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatParseXmlEnd();
-}
-
-inline BOOL EventEnabledParseXmlEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledParseXmlEnd_V1();}
-
-inline ULONG FireEtwParseXmlEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledParseXmlEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatParseXmlEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledInitDefaultDomain() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledInitDefaultDomain();}
-
-inline ULONG FireEtwInitDefaultDomain(
-)
-{
- if (!EventEnabledInitDefaultDomain()) {return ERROR_SUCCESS;}
- return FireEtXplatInitDefaultDomain();
-}
-
-inline BOOL EventEnabledInitDefaultDomain_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledInitDefaultDomain_V1();}
-
-inline ULONG FireEtwInitDefaultDomain_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledInitDefaultDomain_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatInitDefaultDomain_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledInitDefaultDomainEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledInitDefaultDomainEnd();}
-
-inline ULONG FireEtwInitDefaultDomainEnd(
-)
-{
- if (!EventEnabledInitDefaultDomainEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatInitDefaultDomainEnd();
-}
-
-inline BOOL EventEnabledInitDefaultDomainEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledInitDefaultDomainEnd_V1();}
-
-inline ULONG FireEtwInitDefaultDomainEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledInitDefaultDomainEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatInitDefaultDomainEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledInitSecurity() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledInitSecurity();}
-
-inline ULONG FireEtwInitSecurity(
-)
-{
- if (!EventEnabledInitSecurity()) {return ERROR_SUCCESS;}
- return FireEtXplatInitSecurity();
-}
-
-inline BOOL EventEnabledInitSecurity_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledInitSecurity_V1();}
-
-inline ULONG FireEtwInitSecurity_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledInitSecurity_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatInitSecurity_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledInitSecurityEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledInitSecurityEnd();}
-
-inline ULONG FireEtwInitSecurityEnd(
-)
-{
- if (!EventEnabledInitSecurityEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatInitSecurityEnd();
-}
-
-inline BOOL EventEnabledInitSecurityEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledInitSecurityEnd_V1();}
-
-inline ULONG FireEtwInitSecurityEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledInitSecurityEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatInitSecurityEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledAllowBindingRedirs() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAllowBindingRedirs();}
-
-inline ULONG FireEtwAllowBindingRedirs(
-)
-{
- if (!EventEnabledAllowBindingRedirs()) {return ERROR_SUCCESS;}
- return FireEtXplatAllowBindingRedirs();
-}
-
-inline BOOL EventEnabledAllowBindingRedirs_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAllowBindingRedirs_V1();}
-
-inline ULONG FireEtwAllowBindingRedirs_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAllowBindingRedirs_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatAllowBindingRedirs_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledAllowBindingRedirsEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAllowBindingRedirsEnd();}
-
-inline ULONG FireEtwAllowBindingRedirsEnd(
-)
-{
- if (!EventEnabledAllowBindingRedirsEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatAllowBindingRedirsEnd();
-}
-
-inline BOOL EventEnabledAllowBindingRedirsEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAllowBindingRedirsEnd_V1();}
-
-inline ULONG FireEtwAllowBindingRedirsEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAllowBindingRedirsEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatAllowBindingRedirsEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledEEConfigSync() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEEConfigSync();}
-
-inline ULONG FireEtwEEConfigSync(
-)
-{
- if (!EventEnabledEEConfigSync()) {return ERROR_SUCCESS;}
- return FireEtXplatEEConfigSync();
-}
-
-inline BOOL EventEnabledEEConfigSync_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEEConfigSync_V1();}
-
-inline ULONG FireEtwEEConfigSync_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledEEConfigSync_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatEEConfigSync_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledEEConfigSyncEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEEConfigSyncEnd();}
-
-inline ULONG FireEtwEEConfigSyncEnd(
-)
-{
- if (!EventEnabledEEConfigSyncEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatEEConfigSyncEnd();
-}
-
-inline BOOL EventEnabledEEConfigSyncEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEEConfigSyncEnd_V1();}
-
-inline ULONG FireEtwEEConfigSyncEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledEEConfigSyncEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatEEConfigSyncEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledFusionBinding() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionBinding();}
-
-inline ULONG FireEtwFusionBinding(
-)
-{
- if (!EventEnabledFusionBinding()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionBinding();
-}
-
-inline BOOL EventEnabledFusionBinding_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionBinding_V1();}
-
-inline ULONG FireEtwFusionBinding_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledFusionBinding_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionBinding_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledFusionBindingEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionBindingEnd();}
-
-inline ULONG FireEtwFusionBindingEnd(
-)
-{
- if (!EventEnabledFusionBindingEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionBindingEnd();
-}
-
-inline BOOL EventEnabledFusionBindingEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionBindingEnd_V1();}
-
-inline ULONG FireEtwFusionBindingEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledFusionBindingEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionBindingEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledLoaderCatchCall() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLoaderCatchCall();}
-
-inline ULONG FireEtwLoaderCatchCall(
-)
-{
- if (!EventEnabledLoaderCatchCall()) {return ERROR_SUCCESS;}
- return FireEtXplatLoaderCatchCall();
-}
-
-inline BOOL EventEnabledLoaderCatchCall_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLoaderCatchCall_V1();}
-
-inline ULONG FireEtwLoaderCatchCall_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLoaderCatchCall_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatLoaderCatchCall_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledLoaderCatchCallEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLoaderCatchCallEnd();}
-
-inline ULONG FireEtwLoaderCatchCallEnd(
-)
-{
- if (!EventEnabledLoaderCatchCallEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatLoaderCatchCallEnd();
-}
-
-inline BOOL EventEnabledLoaderCatchCallEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLoaderCatchCallEnd_V1();}
-
-inline ULONG FireEtwLoaderCatchCallEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLoaderCatchCallEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatLoaderCatchCallEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledFusionInit() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionInit();}
-
-inline ULONG FireEtwFusionInit(
-)
-{
- if (!EventEnabledFusionInit()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionInit();
-}
-
-inline BOOL EventEnabledFusionInit_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionInit_V1();}
-
-inline ULONG FireEtwFusionInit_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledFusionInit_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionInit_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledFusionInitEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionInitEnd();}
-
-inline ULONG FireEtwFusionInitEnd(
-)
-{
- if (!EventEnabledFusionInitEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionInitEnd();
-}
-
-inline BOOL EventEnabledFusionInitEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionInitEnd_V1();}
-
-inline ULONG FireEtwFusionInitEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledFusionInitEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionInitEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledFusionAppCtx() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionAppCtx();}
-
-inline ULONG FireEtwFusionAppCtx(
-)
-{
- if (!EventEnabledFusionAppCtx()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionAppCtx();
-}
-
-inline BOOL EventEnabledFusionAppCtx_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionAppCtx_V1();}
-
-inline ULONG FireEtwFusionAppCtx_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledFusionAppCtx_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionAppCtx_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledFusionAppCtxEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionAppCtxEnd();}
-
-inline ULONG FireEtwFusionAppCtxEnd(
-)
-{
- if (!EventEnabledFusionAppCtxEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionAppCtxEnd();
-}
-
-inline BOOL EventEnabledFusionAppCtxEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionAppCtxEnd_V1();}
-
-inline ULONG FireEtwFusionAppCtxEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledFusionAppCtxEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionAppCtxEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledFusion2EE() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusion2EE();}
-
-inline ULONG FireEtwFusion2EE(
-)
-{
- if (!EventEnabledFusion2EE()) {return ERROR_SUCCESS;}
- return FireEtXplatFusion2EE();
-}
-
-inline BOOL EventEnabledFusion2EE_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusion2EE_V1();}
-
-inline ULONG FireEtwFusion2EE_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledFusion2EE_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatFusion2EE_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledFusion2EEEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusion2EEEnd();}
-
-inline ULONG FireEtwFusion2EEEnd(
-)
-{
- if (!EventEnabledFusion2EEEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatFusion2EEEnd();
-}
-
-inline BOOL EventEnabledFusion2EEEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusion2EEEnd_V1();}
-
-inline ULONG FireEtwFusion2EEEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledFusion2EEEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatFusion2EEEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledSecurityCatchCall() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledSecurityCatchCall();}
-
-inline ULONG FireEtwSecurityCatchCall(
-)
-{
- if (!EventEnabledSecurityCatchCall()) {return ERROR_SUCCESS;}
- return FireEtXplatSecurityCatchCall();
-}
-
-inline BOOL EventEnabledSecurityCatchCall_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledSecurityCatchCall_V1();}
-
-inline ULONG FireEtwSecurityCatchCall_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledSecurityCatchCall_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatSecurityCatchCall_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledSecurityCatchCallEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledSecurityCatchCallEnd();}
-
-inline ULONG FireEtwSecurityCatchCallEnd(
-)
-{
- if (!EventEnabledSecurityCatchCallEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatSecurityCatchCallEnd();
-}
-
-inline BOOL EventEnabledSecurityCatchCallEnd_V1() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledSecurityCatchCallEnd_V1();}
-
-inline ULONG FireEtwSecurityCatchCallEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledSecurityCatchCallEnd_V1()) {return ERROR_SUCCESS;}
- return FireEtXplatSecurityCatchCallEnd_V1(ClrInstanceID);
-}
-
-inline BOOL EventEnabledCLRStackWalkPrivate() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledCLRStackWalkPrivate();}
-
-inline ULONG FireEtwCLRStackWalkPrivate(
- const unsigned short ClrInstanceID,
- const unsigned char Reserved1,
- const unsigned char Reserved2,
- const unsigned int FrameCount,
- const void** Stack
-)
-{
- if (!EventEnabledCLRStackWalkPrivate()) {return ERROR_SUCCESS;}
- return FireEtXplatCLRStackWalkPrivate(ClrInstanceID,Reserved1,Reserved2,FrameCount,Stack);
-}
-
-inline BOOL EventEnabledModuleRangeLoadPrivate() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleRangeLoadPrivate();}
-
-inline ULONG FireEtwModuleRangeLoadPrivate(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned int RangeBegin,
- const unsigned int RangeSize,
- const unsigned char RangeType,
- const unsigned char IBCType,
- const unsigned short SectionType
-)
-{
- if (!EventEnabledModuleRangeLoadPrivate()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleRangeLoadPrivate(ClrInstanceID,ModuleID,RangeBegin,RangeSize,RangeType,IBCType,SectionType);
-}
-
-inline BOOL EventEnabledBindingPolicyPhaseStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBindingPolicyPhaseStart();}
-
-inline ULONG FireEtwBindingPolicyPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBindingPolicyPhaseStart()) {return ERROR_SUCCESS;}
- return FireEtXplatBindingPolicyPhaseStart(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBindingPolicyPhaseEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBindingPolicyPhaseEnd();}
-
-inline ULONG FireEtwBindingPolicyPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBindingPolicyPhaseEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatBindingPolicyPhaseEnd(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBindingNgenPhaseStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBindingNgenPhaseStart();}
-
-inline ULONG FireEtwBindingNgenPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBindingNgenPhaseStart()) {return ERROR_SUCCESS;}
- return FireEtXplatBindingNgenPhaseStart(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBindingNgenPhaseEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBindingNgenPhaseEnd();}
-
-inline ULONG FireEtwBindingNgenPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBindingNgenPhaseEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatBindingNgenPhaseEnd(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBindingLookupAndProbingPhaseStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBindingLookupAndProbingPhaseStart();}
-
-inline ULONG FireEtwBindingLookupAndProbingPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBindingLookupAndProbingPhaseStart()) {return ERROR_SUCCESS;}
- return FireEtXplatBindingLookupAndProbingPhaseStart(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBindingLookupAndProbingPhaseEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBindingLookupAndProbingPhaseEnd();}
-
-inline ULONG FireEtwBindingLookupAndProbingPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBindingLookupAndProbingPhaseEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatBindingLookupAndProbingPhaseEnd(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledLoaderPhaseStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLoaderPhaseStart();}
-
-inline ULONG FireEtwLoaderPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLoaderPhaseStart()) {return ERROR_SUCCESS;}
- return FireEtXplatLoaderPhaseStart(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledLoaderPhaseEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLoaderPhaseEnd();}
-
-inline ULONG FireEtwLoaderPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLoaderPhaseEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatLoaderPhaseEnd(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBindingPhaseStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBindingPhaseStart();}
-
-inline ULONG FireEtwBindingPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBindingPhaseStart()) {return ERROR_SUCCESS;}
- return FireEtXplatBindingPhaseStart(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBindingPhaseEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBindingPhaseEnd();}
-
-inline ULONG FireEtwBindingPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBindingPhaseEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatBindingPhaseEnd(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBindingDownloadPhaseStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBindingDownloadPhaseStart();}
-
-inline ULONG FireEtwBindingDownloadPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBindingDownloadPhaseStart()) {return ERROR_SUCCESS;}
- return FireEtXplatBindingDownloadPhaseStart(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBindingDownloadPhaseEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBindingDownloadPhaseEnd();}
-
-inline ULONG FireEtwBindingDownloadPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBindingDownloadPhaseEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatBindingDownloadPhaseEnd(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledLoaderAssemblyInitPhaseStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLoaderAssemblyInitPhaseStart();}
-
-inline ULONG FireEtwLoaderAssemblyInitPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLoaderAssemblyInitPhaseStart()) {return ERROR_SUCCESS;}
- return FireEtXplatLoaderAssemblyInitPhaseStart(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledLoaderAssemblyInitPhaseEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLoaderAssemblyInitPhaseEnd();}
-
-inline ULONG FireEtwLoaderAssemblyInitPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLoaderAssemblyInitPhaseEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatLoaderAssemblyInitPhaseEnd(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledLoaderMappingPhaseStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLoaderMappingPhaseStart();}
-
-inline ULONG FireEtwLoaderMappingPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLoaderMappingPhaseStart()) {return ERROR_SUCCESS;}
- return FireEtXplatLoaderMappingPhaseStart(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledLoaderMappingPhaseEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLoaderMappingPhaseEnd();}
-
-inline ULONG FireEtwLoaderMappingPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLoaderMappingPhaseEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatLoaderMappingPhaseEnd(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledLoaderDeliverEventsPhaseStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLoaderDeliverEventsPhaseStart();}
-
-inline ULONG FireEtwLoaderDeliverEventsPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLoaderDeliverEventsPhaseStart()) {return ERROR_SUCCESS;}
- return FireEtXplatLoaderDeliverEventsPhaseStart(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledLoaderDeliverEventsPhaseEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledLoaderDeliverEventsPhaseEnd();}
-
-inline ULONG FireEtwLoaderDeliverEventsPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledLoaderDeliverEventsPhaseEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatLoaderDeliverEventsPhaseEnd(AppDomainID,LoadContextID,FromLoaderCache,DynamicLoad,AssemblyCodebase,AssemblyName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledEvidenceGenerated() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEvidenceGenerated();}
-
-inline ULONG FireEtwEvidenceGenerated(
- const unsigned int Type,
- const unsigned int AppDomain,
- PCWSTR ILImage,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledEvidenceGenerated()) {return ERROR_SUCCESS;}
- return FireEtXplatEvidenceGenerated(Type,AppDomain,ILImage,ClrInstanceID);
-}
-
-inline BOOL EventEnabledModuleTransparencyComputationStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleTransparencyComputationStart();}
-
-inline ULONG FireEtwModuleTransparencyComputationStart(
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledModuleTransparencyComputationStart()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleTransparencyComputationStart(Module,AppDomainID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledModuleTransparencyComputationEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledModuleTransparencyComputationEnd();}
-
-inline ULONG FireEtwModuleTransparencyComputationEnd(
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsAllCritical,
- const BOOL IsAllTransparent,
- const BOOL IsTreatAsSafe,
- const BOOL IsOpportunisticallyCritical,
- const unsigned int SecurityRuleSet,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledModuleTransparencyComputationEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatModuleTransparencyComputationEnd(Module,AppDomainID,IsAllCritical,IsAllTransparent,IsTreatAsSafe,IsOpportunisticallyCritical,SecurityRuleSet,ClrInstanceID);
-}
-
-inline BOOL EventEnabledTypeTransparencyComputationStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledTypeTransparencyComputationStart();}
-
-inline ULONG FireEtwTypeTransparencyComputationStart(
- PCWSTR Type,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledTypeTransparencyComputationStart()) {return ERROR_SUCCESS;}
- return FireEtXplatTypeTransparencyComputationStart(Type,Module,AppDomainID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledTypeTransparencyComputationEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledTypeTransparencyComputationEnd();}
-
-inline ULONG FireEtwTypeTransparencyComputationEnd(
- PCWSTR Type,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsAllCritical,
- const BOOL IsAllTransparent,
- const BOOL IsCritical,
- const BOOL IsTreatAsSafe,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledTypeTransparencyComputationEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatTypeTransparencyComputationEnd(Type,Module,AppDomainID,IsAllCritical,IsAllTransparent,IsCritical,IsTreatAsSafe,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodTransparencyComputationStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodTransparencyComputationStart();}
-
-inline ULONG FireEtwMethodTransparencyComputationStart(
- PCWSTR Method,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodTransparencyComputationStart()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodTransparencyComputationStart(Method,Module,AppDomainID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMethodTransparencyComputationEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMethodTransparencyComputationEnd();}
-
-inline ULONG FireEtwMethodTransparencyComputationEnd(
- PCWSTR Method,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsCritical,
- const BOOL IsTreatAsSafe,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledMethodTransparencyComputationEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatMethodTransparencyComputationEnd(Method,Module,AppDomainID,IsCritical,IsTreatAsSafe,ClrInstanceID);
-}
-
-inline BOOL EventEnabledFieldTransparencyComputationStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFieldTransparencyComputationStart();}
-
-inline ULONG FireEtwFieldTransparencyComputationStart(
- PCWSTR Field,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledFieldTransparencyComputationStart()) {return ERROR_SUCCESS;}
- return FireEtXplatFieldTransparencyComputationStart(Field,Module,AppDomainID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledFieldTransparencyComputationEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFieldTransparencyComputationEnd();}
-
-inline ULONG FireEtwFieldTransparencyComputationEnd(
- PCWSTR Field,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsCritical,
- const BOOL IsTreatAsSafe,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledFieldTransparencyComputationEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatFieldTransparencyComputationEnd(Field,Module,AppDomainID,IsCritical,IsTreatAsSafe,ClrInstanceID);
-}
-
-inline BOOL EventEnabledTokenTransparencyComputationStart() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledTokenTransparencyComputationStart();}
-
-inline ULONG FireEtwTokenTransparencyComputationStart(
- const unsigned int Token,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledTokenTransparencyComputationStart()) {return ERROR_SUCCESS;}
- return FireEtXplatTokenTransparencyComputationStart(Token,Module,AppDomainID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledTokenTransparencyComputationEnd() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledTokenTransparencyComputationEnd();}
-
-inline ULONG FireEtwTokenTransparencyComputationEnd(
- const unsigned int Token,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsCritical,
- const BOOL IsTreatAsSafe,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledTokenTransparencyComputationEnd()) {return ERROR_SUCCESS;}
- return FireEtXplatTokenTransparencyComputationEnd(Token,Module,AppDomainID,IsCritical,IsTreatAsSafe,ClrInstanceID);
-}
-
-inline BOOL EventEnabledNgenBindEvent() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledNgenBindEvent();}
-
-inline ULONG FireEtwNgenBindEvent(
- const unsigned short ClrInstanceID,
- const unsigned __int64 BindingID,
- const unsigned int ReasonCode,
- PCWSTR AssemblyName
-)
-{
- if (!EventEnabledNgenBindEvent()) {return ERROR_SUCCESS;}
- return FireEtXplatNgenBindEvent(ClrInstanceID,BindingID,ReasonCode,AssemblyName);
-}
-
-inline BOOL EventEnabledFailFast() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFailFast();}
-
-inline ULONG FireEtwFailFast(
- PCWSTR FailFastUserMessage,
- const void* FailedEIP,
- const unsigned int OSExitCode,
- const unsigned int ClrExitCode,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledFailFast()) {return ERROR_SUCCESS;}
- return FireEtXplatFailFast(FailFastUserMessage,FailedEIP,OSExitCode,ClrExitCode,ClrInstanceID);
-}
-
-inline BOOL EventEnabledPrvFinalizeObject() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrvFinalizeObject();}
-
-inline ULONG FireEtwPrvFinalizeObject(
- const void* TypeID,
- const void* ObjectID,
- const unsigned short ClrInstanceID,
- PCWSTR TypeName
-)
-{
- if (!EventEnabledPrvFinalizeObject()) {return ERROR_SUCCESS;}
- return FireEtXplatPrvFinalizeObject(TypeID,ObjectID,ClrInstanceID,TypeName);
-}
-
-inline BOOL EventEnabledCCWRefCountChange() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledCCWRefCountChange();}
-
-inline ULONG FireEtwCCWRefCountChange(
- const void* HandleID,
- const void* ObjectID,
- const void* COMInterfacePointer,
- const unsigned int NewRefCount,
- const unsigned __int64 AppDomainID,
- LPCSTR ClassName,
- LPCSTR NameSpace,
- PCWSTR Operation,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledCCWRefCountChange()) {return ERROR_SUCCESS;}
- return FireEtXplatCCWRefCountChange(HandleID,ObjectID,COMInterfacePointer,NewRefCount,AppDomainID,ClassName,NameSpace,Operation,ClrInstanceID);
-}
-
-inline BOOL EventEnabledPrvSetGCHandle() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrvSetGCHandle();}
-
-inline ULONG FireEtwPrvSetGCHandle(
- const void* HandleID,
- const void* ObjectID,
- const unsigned int Kind,
- const unsigned int Generation,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledPrvSetGCHandle()) {return ERROR_SUCCESS;}
- return FireEtXplatPrvSetGCHandle(HandleID,ObjectID,Kind,Generation,AppDomainID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledPrvDestroyGCHandle() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPrvDestroyGCHandle();}
-
-inline ULONG FireEtwPrvDestroyGCHandle(
- const void* HandleID,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledPrvDestroyGCHandle()) {return ERROR_SUCCESS;}
- return FireEtXplatPrvDestroyGCHandle(HandleID,ClrInstanceID);
-}
-
-inline BOOL EventEnabledFusionMessageEvent() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionMessageEvent();}
-
-inline ULONG FireEtwFusionMessageEvent(
- const unsigned short ClrInstanceID,
- const BOOL Prepend,
- PCWSTR Message
-)
-{
- if (!EventEnabledFusionMessageEvent()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionMessageEvent(ClrInstanceID,Prepend,Message);
-}
-
-inline BOOL EventEnabledFusionErrorCodeEvent() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledFusionErrorCodeEvent();}
-
-inline ULONG FireEtwFusionErrorCodeEvent(
- const unsigned short ClrInstanceID,
- const unsigned int Category,
- const unsigned int ErrorCode
-)
-{
- if (!EventEnabledFusionErrorCodeEvent()) {return ERROR_SUCCESS;}
- return FireEtXplatFusionErrorCodeEvent(ClrInstanceID,Category,ErrorCode);
-}
-
-inline BOOL EventEnabledPinPlugAtGCTime() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledPinPlugAtGCTime();}
-
-inline ULONG FireEtwPinPlugAtGCTime(
- const void* PlugStart,
- const void* PlugEnd,
- const void* GapBeforeSize,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledPinPlugAtGCTime()) {return ERROR_SUCCESS;}
- return FireEtXplatPinPlugAtGCTime(PlugStart,PlugEnd,GapBeforeSize,ClrInstanceID);
-}
-
-inline BOOL EventEnabledAllocRequest() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledAllocRequest();}
-
-inline ULONG FireEtwAllocRequest(
- const void* LoaderHeapPtr,
- const void* MemoryAddress,
- const unsigned int RequestSize,
- const unsigned int Unused1,
- const unsigned __int64 Unused2,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledAllocRequest()) {return ERROR_SUCCESS;}
- return FireEtXplatAllocRequest(LoaderHeapPtr,MemoryAddress,RequestSize,Unused1,Unused2,ClrInstanceID);
-}
-
-inline BOOL EventEnabledMulticoreJit() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMulticoreJit();}
-
-inline ULONG FireEtwMulticoreJit(
- const unsigned short ClrInstanceID,
- PCWSTR String1,
- PCWSTR String2,
- const signed int Int1,
- const signed int Int2,
- const signed int Int3
-)
-{
- if (!EventEnabledMulticoreJit()) {return ERROR_SUCCESS;}
- return FireEtXplatMulticoreJit(ClrInstanceID,String1,String2,Int1,Int2,Int3);
-}
-
-inline BOOL EventEnabledMulticoreJitMethodCodeReturned() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledMulticoreJitMethodCodeReturned();}
-
-inline ULONG FireEtwMulticoreJitMethodCodeReturned(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodID
-)
-{
- if (!EventEnabledMulticoreJitMethodCodeReturned()) {return ERROR_SUCCESS;}
- return FireEtXplatMulticoreJitMethodCodeReturned(ClrInstanceID,ModuleID,MethodID);
-}
-
-inline BOOL EventEnabledIInspectableRuntimeClassName() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledIInspectableRuntimeClassName();}
-
-inline ULONG FireEtwIInspectableRuntimeClassName(
- PCWSTR TypeName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledIInspectableRuntimeClassName()) {return ERROR_SUCCESS;}
- return FireEtXplatIInspectableRuntimeClassName(TypeName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledWinRTUnbox() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledWinRTUnbox();}
-
-inline ULONG FireEtwWinRTUnbox(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledWinRTUnbox()) {return ERROR_SUCCESS;}
- return FireEtXplatWinRTUnbox(TypeName,SecondTypeName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledCreateRCW() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledCreateRCW();}
-
-inline ULONG FireEtwCreateRCW(
- PCWSTR TypeName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledCreateRCW()) {return ERROR_SUCCESS;}
- return FireEtXplatCreateRCW(TypeName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledRCWVariance() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledRCWVariance();}
-
-inline ULONG FireEtwRCWVariance(
- PCWSTR TypeName,
- PCWSTR InterfaceTypeName,
- PCWSTR VariantInterfaceTypeName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledRCWVariance()) {return ERROR_SUCCESS;}
- return FireEtXplatRCWVariance(TypeName,InterfaceTypeName,VariantInterfaceTypeName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledRCWIEnumerableCasting() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledRCWIEnumerableCasting();}
-
-inline ULONG FireEtwRCWIEnumerableCasting(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledRCWIEnumerableCasting()) {return ERROR_SUCCESS;}
- return FireEtXplatRCWIEnumerableCasting(TypeName,SecondTypeName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledCreateCCW() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledCreateCCW();}
-
-inline ULONG FireEtwCreateCCW(
- PCWSTR TypeName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledCreateCCW()) {return ERROR_SUCCESS;}
- return FireEtXplatCreateCCW(TypeName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledCCWVariance() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledCCWVariance();}
-
-inline ULONG FireEtwCCWVariance(
- PCWSTR TypeName,
- PCWSTR InterfaceTypeName,
- PCWSTR VariantInterfaceTypeName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledCCWVariance()) {return ERROR_SUCCESS;}
- return FireEtXplatCCWVariance(TypeName,InterfaceTypeName,VariantInterfaceTypeName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledObjectVariantMarshallingToNative() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledObjectVariantMarshallingToNative();}
-
-inline ULONG FireEtwObjectVariantMarshallingToNative(
- PCWSTR TypeName,
- const signed int Int1,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledObjectVariantMarshallingToNative()) {return ERROR_SUCCESS;}
- return FireEtXplatObjectVariantMarshallingToNative(TypeName,Int1,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGetTypeFromGUID() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGetTypeFromGUID();}
-
-inline ULONG FireEtwGetTypeFromGUID(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGetTypeFromGUID()) {return ERROR_SUCCESS;}
- return FireEtXplatGetTypeFromGUID(TypeName,SecondTypeName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledGetTypeFromProgID() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledGetTypeFromProgID();}
-
-inline ULONG FireEtwGetTypeFromProgID(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledGetTypeFromProgID()) {return ERROR_SUCCESS;}
- return FireEtXplatGetTypeFromProgID(TypeName,SecondTypeName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledConvertToCallbackEtw() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledConvertToCallbackEtw();}
-
-inline ULONG FireEtwConvertToCallbackEtw(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledConvertToCallbackEtw()) {return ERROR_SUCCESS;}
- return FireEtXplatConvertToCallbackEtw(TypeName,SecondTypeName,ClrInstanceID);
-}
-
-inline BOOL EventEnabledBeginCreateManagedReference() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledBeginCreateManagedReference();}
-
-inline ULONG FireEtwBeginCreateManagedReference(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledBeginCreateManagedReference()) {return ERROR_SUCCESS;}
- return FireEtXplatBeginCreateManagedReference(ClrInstanceID);
-}
-
-inline BOOL EventEnabledEndCreateManagedReference() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledEndCreateManagedReference();}
-
-inline ULONG FireEtwEndCreateManagedReference(
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledEndCreateManagedReference()) {return ERROR_SUCCESS;}
- return FireEtXplatEndCreateManagedReference(ClrInstanceID);
-}
-
-inline BOOL EventEnabledObjectVariantMarshallingToManaged() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabledObjectVariantMarshallingToManaged();}
-
-inline ULONG FireEtwObjectVariantMarshallingToManaged(
- PCWSTR TypeName,
- const signed int Int1,
- const unsigned short ClrInstanceID
-)
-{
- if (!EventEnabledObjectVariantMarshallingToManaged()) {return ERROR_SUCCESS;}
- return FireEtXplatObjectVariantMarshallingToManaged(TypeName,Int1,ClrInstanceID);
-}
-
diff --git a/src/pal/prebuilt/inc/clretwall.h b/src/pal/prebuilt/inc/clretwall.h
deleted file mode 100644
index cf28b49f44..0000000000
--- a/src/pal/prebuilt/inc/clretwall.h
+++ /dev/null
@@ -1,13371 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-//**********************************************************************`
-//* This is an include file generated by Message Compiler. *`
-//**********************************************************************`
-#pragma once
-#include <wmistr.h>
-#include <evntrace.h>
-#include "evntprov.h"
-//
-// Initial Defs
-//
-#if !defined(ETW_INLINE)
-#define ETW_INLINE DECLSPEC_NOINLINE __inline
-#endif
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-//
-// Allow Diasabling of code generation
-//
-#ifndef MCGEN_DISABLE_PROVIDER_CODE_GENERATION
-#if !defined(McGenDebug)
-#define McGenDebug(a,b)
-#endif
-
-
-#if !defined(MCGEN_TRACE_CONTEXT_DEF)
-#define MCGEN_TRACE_CONTEXT_DEF
-typedef struct _MCGEN_TRACE_CONTEXT
-{
- TRACEHANDLE RegistrationHandle;
- TRACEHANDLE Logger;
- ULONGLONG MatchAnyKeyword;
- ULONGLONG MatchAllKeyword;
- ULONG Flags;
- ULONG IsEnabled;
- UCHAR Level;
- UCHAR Reserve;
- USHORT EnableBitsCount;
- PULONG EnableBitMask;
- const ULONGLONG* EnableKeyWords;
- const UCHAR* EnableLevel;
-} MCGEN_TRACE_CONTEXT, *PMCGEN_TRACE_CONTEXT;
-#endif
-
-#if !defined(MCGEN_LEVEL_KEYWORD_ENABLED_DEF)
-#define MCGEN_LEVEL_KEYWORD_ENABLED_DEF
-FORCEINLINE
-BOOLEAN
-McGenLevelKeywordEnabled(
- _In_ PMCGEN_TRACE_CONTEXT EnableInfo,
- _In_ UCHAR Level,
- _In_ ULONGLONG Keyword
- )
-{
- //
- // Check if the event Level is lower than the level at which
- // the channel is enabled.
- // If the event Level is 0 or the channel is enabled at level 0,
- // all levels are enabled.
- //
-
- if ((Level <= EnableInfo->Level) || // This also covers the case of Level == 0.
- (EnableInfo->Level == 0)) {
-
- //
- // Check if Keyword is enabled
- //
-
- if ((Keyword == (ULONGLONG)0) ||
- ((Keyword & EnableInfo->MatchAnyKeyword) &&
- ((Keyword & EnableInfo->MatchAllKeyword) == EnableInfo->MatchAllKeyword))) {
- return TRUE;
- }
- }
-
- return FALSE;
-
-}
-#endif
-
-#if !defined(MCGEN_EVENT_ENABLED_DEF)
-#define MCGEN_EVENT_ENABLED_DEF
-FORCEINLINE
-BOOLEAN
-McGenEventEnabled(
- _In_ PMCGEN_TRACE_CONTEXT EnableInfo,
- _In_ PCEVENT_DESCRIPTOR EventDescriptor
- )
-{
-
- return McGenLevelKeywordEnabled(EnableInfo, EventDescriptor->Level, EventDescriptor->Keyword);
-
-}
-#endif
-
-
-//
-// EnableCheckMacro
-//
-#ifndef MCGEN_ENABLE_CHECK
-#define MCGEN_ENABLE_CHECK(Context, Descriptor) (Context.IsEnabled && McGenEventEnabled(&Context, &Descriptor))
-#endif
-
-#if !defined(MCGEN_CONTROL_CALLBACK)
-#define MCGEN_CONTROL_CALLBACK
-
-DECLSPEC_NOINLINE __inline
-VOID
-__stdcall
-McGenControlCallbackV2(
- _In_ LPCGUID SourceId,
- _In_ ULONG ControlCode,
- _In_ UCHAR Level,
- _In_ ULONGLONG MatchAnyKeyword,
- _In_ ULONGLONG MatchAllKeyword,
- _In_opt_ PEVENT_FILTER_DESCRIPTOR FilterData,
- _Inout_opt_ PVOID CallbackContext
- )
-/*++
-
-Routine Description:
-
- This is the notification callback for Vista.
-
-Arguments:
-
- SourceId - The GUID that identifies the session that enabled the provider.
-
- ControlCode - The parameter indicates whether the provider
- is being enabled or disabled.
-
- Level - The level at which the event is enabled.
-
- MatchAnyKeyword - The bitmask of keywords that the provider uses to
- determine the category of events that it writes.
-
- MatchAllKeyword - This bitmask additionally restricts the category
- of events that the provider writes.
-
- FilterData - The provider-defined data.
-
- CallbackContext - The context of the callback that is defined when the provider
- called EtwRegister to register itself.
-
-Remarks:
-
- ETW calls this function to notify provider of enable/disable
-
---*/
-{
- PMCGEN_TRACE_CONTEXT Ctx = (PMCGEN_TRACE_CONTEXT)CallbackContext;
- ULONG Ix;
-#ifndef MCGEN_PRIVATE_ENABLE_CALLBACK_V2
- UNREFERENCED_PARAMETER(SourceId);
- UNREFERENCED_PARAMETER(FilterData);
-#endif
-
- if (Ctx == NULL) {
- return;
- }
-
- switch (ControlCode) {
-
- case EVENT_CONTROL_CODE_ENABLE_PROVIDER:
- Ctx->Level = Level;
- Ctx->MatchAnyKeyword = MatchAnyKeyword;
- Ctx->MatchAllKeyword = MatchAllKeyword;
- Ctx->IsEnabled = EVENT_CONTROL_CODE_ENABLE_PROVIDER;
-
- for (Ix = 0; Ix < Ctx->EnableBitsCount; Ix += 1) {
- if (McGenLevelKeywordEnabled(Ctx, Ctx->EnableLevel[Ix], Ctx->EnableKeyWords[Ix]) != FALSE) {
- Ctx->EnableBitMask[Ix >> 5] |= (1 << (Ix % 32));
- } else {
- Ctx->EnableBitMask[Ix >> 5] &= ~(1 << (Ix % 32));
- }
- }
- break;
-
- case EVENT_CONTROL_CODE_DISABLE_PROVIDER:
- Ctx->IsEnabled = EVENT_CONTROL_CODE_DISABLE_PROVIDER;
- Ctx->Level = 0;
- Ctx->MatchAnyKeyword = 0;
- Ctx->MatchAllKeyword = 0;
- if (Ctx->EnableBitsCount > 0) {
- RtlZeroMemory(Ctx->EnableBitMask, (((Ctx->EnableBitsCount - 1) / 32) + 1) * sizeof(ULONG));
- }
- break;
-
- default:
- break;
- }
-
-#ifdef MCGEN_PRIVATE_ENABLE_CALLBACK_V2
- //
- // Call user defined callback
- //
- MCGEN_PRIVATE_ENABLE_CALLBACK_V2(
- SourceId,
- ControlCode,
- Level,
- MatchAnyKeyword,
- MatchAllKeyword,
- FilterData,
- CallbackContext
- );
-#endif
-
- return;
-}
-
-#endif
-#endif // MCGEN_DISABLE_PROVIDER_CODE_GENERATION
-//+
-// Provider Microsoft-Windows-DotNETRuntime Event Count 168
-//+
-EXTERN_C __declspec(selectany) const GUID MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER = {0xe13c0d23, 0xccbc, 0x4e12, {0x93, 0x1b, 0xd9, 0xcc, 0x2e, 0xee, 0x27, 0xe4}};
-
-//
-// Opcodes
-//
-#define CLR_GC_RESTARTEEEND_OPCODE 0x84
-#define CLR_GC_HEAPSTATS_OPCODE 0x85
-#define CLR_GC_CREATESEGMENT_OPCODE 0x86
-#define CLR_GC_FREESEGMENT_OPCODE 0x87
-#define CLR_GC_RESTARTEEBEING_OPCODE 0x88
-#define CLR_GC_SUSPENDEEND_OPCODE 0x89
-#define CLR_GC_SUSPENDEEBEGIN_OPCODE 0xa
-#define CLR_GC_ALLOCATIONTICK_OPCODE 0xb
-#define CLR_GC_CREATECONCURRENTTHREAD_OPCODE 0xc
-#define CLR_GC_TERMINATECONCURRENTTHREAD_OPCODE 0xd
-#define CLR_GC_FINALIZERSEND_OPCODE 0xf
-#define CLR_GC_FINALIZERSBEGIN_OPCODE 0x13
-#define CLR_GC_BULKROOTEDGE_OPCODE 0x14
-#define CLR_GC_BULKROOTCONDITIONALWEAKTABLEELEMENTEDGE_OPCODE 0x15
-#define CLR_GC_BULKNODE_OPCODE 0x16
-#define CLR_GC_BULKEDGE_OPCODE 0x17
-#define CLR_GC_OBJECTALLOCATION_OPCODE 0x18
-#define CLR_GC_BULKSURVIVINGOBJECTRANGES_OPCODE 0x19
-#define CLR_GC_BULKMOVEDOBJECTRANGES_OPCODE 0x1a
-#define CLR_GC_GENERATIONRANGE_OPCODE 0x1b
-#define CLR_GC_MARKSTACKROOTS_OPCODE 0x1c
-#define CLR_GC_MARKFINALIZEQUEUEROOTS_OPCODE 0x1d
-#define CLR_GC_MARKHANDLES_OPCODE 0x1e
-#define CLR_GC_MARKCARDS_OPCODE 0x1f
-#define CLR_GC_FINALIZEOBJECT_OPCODE 0x20
-#define CLR_GC_SETGCHANDLE_OPCODE 0x21
-#define CLR_GC_DESTROYGCHANDLE_OPCODE 0x22
-#define CLR_GC_TRIGGERED_OPCODE 0x23
-#define CLR_GC_PINGCOBJECT_OPCODE 0x24
-#define CLR_GC_BULKROOTCCW_OPCODE 0x26
-#define CLR_GC_BULKRCW_OPCODE 0x27
-#define CLR_GC_BULKROOTSTATICVAR_OPCODE 0x28
-#define CLR_GC_INCREASEMEMORYPRESSURE_OPCODE 0xc8
-#define CLR_GC_DECREASEMEMORYPRESSURE_OPCODE 0xc9
-#define CLR_GC_MARK_OPCODE 0xca
-#define CLR_GC_JOIN_OPCODE 0xcb
-#define CLR_GC_GCPERHEAPHISTORY_OPCODE 0xcc
-#define CLR_GC_GCGLOBALHEAPHISTORY_OPCODE 0xcd
-#define CLR_METHOD_DCSTARTCOMPLETE_OPCODE 0xe
-#define CLR_METHOD_DCENDCOMPLETE_OPCODE 0xf
-#define CLR_METHOD_METHODLOAD_OPCODE 0x21
-#define CLR_METHOD_METHODUNLOAD_OPCODE 0x22
-#define CLR_METHOD_METHODDCSTART_OPCODE 0x23
-#define CLR_METHOD_METHODDCEND_OPCODE 0x24
-#define CLR_METHOD_METHODLOADVERBOSE_OPCODE 0x25
-#define CLR_METHOD_METHODUNLOADVERBOSE_OPCODE 0x26
-#define CLR_METHOD_METHODDCSTARTVERBOSE_OPCODE 0x27
-#define CLR_METHOD_METHODDCENDVERBOSE_OPCODE 0x28
-#define CLR_METHOD_METHODJITTINGSTARTED_OPCODE 0x2a
-#define CLR_JITINLININGSUCCEEDED_OPCODE 0x53
-#define CLR_JITINLININGFAILED_OPCODE 0x54
-#define CLR_JITTAILCALLSUCCEEDED_OPCODE 0x55
-#define CLR_JITTAILCALLFAILED_OPCODE 0x56
-#define CLR_METHODILTONATIVEMAP_OPCODE 0x57
-#define CLR_DOMAINMODULELOAD_OPCODE 0x2d
-#define CLR_MODULELOAD_OPCODE 0x21
-#define CLR_MODULEUNLOAD_OPCODE 0x22
-#define CLR_MODULEDCSTART_OPCODE 0x23
-#define CLR_MODULEDCEND_OPCODE 0x24
-#define CLR_ASSEMBLYLOAD_OPCODE 0x25
-#define CLR_ASSEMBLYUNLOAD_OPCODE 0x26
-#define CLR_APPDOMAINLOAD_OPCODE 0x29
-#define CLR_APPDOMAINUNLOAD_OPCODE 0x2a
-#define CLR_STACK_STACKWALK_OPCODE 0x52
-#define CLR_APPDOMAINRESOURCEMANAGEMENT_APPDOMAINMEMALLOCATED_OPCODE 0x30
-#define CLR_APPDOMAINRESOURCEMANAGEMENT_APPDOMAINMEMSURVIVED_OPCODE 0x31
-#define CLR_APPDOMAINRESOURCEMANAGEMENT_THREADCREATED_OPCODE 0x32
-#define CLR_APPDOMAINRESOURCEMANAGEMENT_THREADTERMINATED_OPCODE 0x33
-#define CLR_APPDOMAINRESOURCEMANAGEMENT_THREADDOMAINENTER_OPCODE 0x34
-#define CLR_ILSTUB_ILSTUBGENERATED_OPCODE 0x58
-#define CLR_ILSTUB_ILSTUBCACHEHIT_OPCODE 0x59
-#define CLR_WAIT_OPCODE 0x5a
-#define CLR_THREADPOOL_WORKERTHREADADJUSTMENT_SAMPLE_OPCODE 0x64
-#define CLR_THREADPOOL_WORKERTHREADADJUSTMENT_ADJUSTMENT_OPCODE 0x65
-#define CLR_THREADPOOL_WORKERTHREADADJUSTMENT_STATS_OPCODE 0x66
-#define CLR_PERFTRACK_MODULERANGELOAD_OPCODE 0xa
-#define CLR_BULKTYPE_OPCODE 0xa
-#define CLR_ENQUEUE_OPCODE 0xb
-#define CLR_DEQUEUE_OPCODE 0xc
-#define CLR_IOENQUEUE_OPCODE 0xd
-#define CLR_IODEQUEUE_OPCODE 0xe
-#define CLR_IOPACK_OPCODE 0xf
-#define CLR_THREAD_CREATING_OPCODE 0xb
-#define CLR_THREAD_RUNNING_OPCODE 0xc
-
-//
-// Tasks
-//
-#define CLR_GC_TASK 0x1
-EXTERN_C __declspec(selectany) const GUID GarbageCollectionId = {0x044973cd, 0x251f, 0x4dff, {0xa3, 0xe9, 0x9d, 0x63, 0x07, 0x28, 0x6b, 0x05}};
-#define CLR_WORKERTHREADCREATE_TASK 0x2
-EXTERN_C __declspec(selectany) const GUID WorkerThreadCreationId = {0xcfc4ba53, 0xfb42, 0x4757, {0x8b, 0x70, 0x5f, 0x5d, 0x51, 0xfe, 0xe2, 0xf4}};
-#define CLR_IOTHREADCREATE_TASK 0x3
-EXTERN_C __declspec(selectany) const GUID IOThreadCreationId = {0xc71408de, 0x42cc, 0x4f81, {0x9c, 0x93, 0xb8, 0x91, 0x2a, 0xbf, 0x2a, 0x0f}};
-#define CLR_WORKERTHREADRETIRE_TASK 0x4
-EXTERN_C __declspec(selectany) const GUID WorkerThreadRetirementId = {0xefdf1eac, 0x1d5d, 0x4e84, {0x89, 0x3a, 0x19, 0xb8, 0x0f, 0x69, 0x21, 0x76}};
-#define CLR_IOTHREADRETIRE_TASK 0x5
-EXTERN_C __declspec(selectany) const GUID IOThreadRetirementId = {0x840c8456, 0x6457, 0x4eb7, {0x9c, 0xd0, 0xd2, 0x8f, 0x01, 0xc6, 0x4f, 0x5e}};
-#define CLR_THREADPOOLSUSPEND_TASK 0x6
-EXTERN_C __declspec(selectany) const GUID ThreadpoolSuspensionId = {0xc424b3e3, 0x2ae0, 0x416e, {0xa0, 0x39, 0x41, 0x0c, 0x5d, 0x8e, 0x5f, 0x14}};
-#define CLR_EXCEPTION_TASK 0x7
-EXTERN_C __declspec(selectany) const GUID ExceptionId = {0x300ce105, 0x86d1, 0x41f8, {0xb9, 0xd2, 0x83, 0xfc, 0xbf, 0xf3, 0x2d, 0x99}};
-#define CLR_EXCEPTION_CATCH_TASK 0x1b
-EXTERN_C __declspec(selectany) const GUID ExceptionCatchId = {0x5bbf9499, 0x1715, 0x4658, {0x88, 0xdc, 0xaf, 0xd7, 0x69, 0x0a, 0x87, 0x11}};
-#define CLR_EXCEPTION_FINALLY_TASK 0x1c
-EXTERN_C __declspec(selectany) const GUID ExceptionFinallyId = {0x9565bc31, 0x300f, 0x4ea2, {0xa5, 0x32, 0x30, 0xbc, 0xe9, 0xa1, 0x41, 0x99}};
-#define CLR_EXCEPTION_FILTER_TASK 0x1d
-EXTERN_C __declspec(selectany) const GUID ExceptionFilterId = {0x72e72606, 0xbb71, 0x4290, {0xa2, 0x42, 0xd5, 0xf3, 0x6c, 0xe5, 0x31, 0x2e}};
-#define CLR_CONTENTION_TASK 0x8
-EXTERN_C __declspec(selectany) const GUID ContentionId = {0x561410f5, 0xa138, 0x4ab3, {0x94, 0x5e, 0x51, 0x64, 0x83, 0xcd, 0xdf, 0xbc}};
-#define CLR_METHOD_TASK 0x9
-EXTERN_C __declspec(selectany) const GUID CLRMethodId = {0x3044f61a, 0x99b0, 0x4c21, {0xb2, 0x03, 0xd3, 0x94, 0x23, 0xc7, 0x3b, 0x00}};
-#define CLR_LOADER_TASK 0xa
-EXTERN_C __declspec(selectany) const GUID CLRLoaderId = {0xd00792da, 0x07b7, 0x40f5, {0x97, 0xeb, 0x5d, 0x97, 0x4e, 0x05, 0x47, 0x40}};
-#define CLR_STACK_TASK 0xb
-EXTERN_C __declspec(selectany) const GUID CLRStackId = {0xd3363dc0, 0x243a, 0x4620, {0xa4, 0xd0, 0x8a, 0x07, 0xd7, 0x72, 0xf5, 0x33}};
-#define CLR_STRONGNAMEVERIFICATION_TASK 0xc
-EXTERN_C __declspec(selectany) const GUID CLRStrongNameVerificationId = {0x15447a14, 0xb523, 0x46ae, {0xb7, 0x5b, 0x02, 0x3f, 0x90, 0x0b, 0x43, 0x93}};
-#define CLR_AUTHENTICODEVERIFICATION_TASK 0xd
-EXTERN_C __declspec(selectany) const GUID CLRAuthenticodeVerificationId = {0xb17304d9, 0x5afa, 0x4da6, {0x9f, 0x7b, 0x5a, 0x4f, 0xa7, 0x31, 0x29, 0xb6}};
-#define CLR_APPDOMAINRESOURCEMANAGEMENT_TASK 0xe
-EXTERN_C __declspec(selectany) const GUID AppDomainResourceManagementId = {0x88e83959, 0x6185, 0x4e0b, {0x95, 0xb8, 0x0e, 0x4a, 0x35, 0xdf, 0x61, 0x22}};
-#define CLR_IL_STUB 0xf
-EXTERN_C __declspec(selectany) const GUID CLRILStubId = {0xd00792da, 0x07b7, 0x40f5, {0x00, 0x00, 0x5d, 0x97, 0x4e, 0x05, 0x47, 0x40}};
-#define CLR_THREADPOOLWORKERTHREAD_TASK 0x10
-EXTERN_C __declspec(selectany) const GUID ThreadPoolWorkerThreadId = {0x8a9a44ab, 0xf681, 0x4271, {0x88, 0x10, 0x83, 0x0d, 0xab, 0x9f, 0x56, 0x21}};
-#define CLR_THREADPOOLWORKERTHREADRETIREMENT_TASK 0x11
-EXTERN_C __declspec(selectany) const GUID ThreadPoolWorkerThreadRetirementId = {0x402ee399, 0xc137, 0x4dc0, {0xa5, 0xab, 0x3c, 0x2d, 0xea, 0x64, 0xac, 0x9c}};
-#define CLR_THREADPOOLWORKERTHREADADJUSTMENT_TASK 0x12
-EXTERN_C __declspec(selectany) const GUID ThreadPoolWorkerThreadAdjustmentId = {0x94179831, 0xe99a, 0x4625, {0x88, 0x24, 0x23, 0xca, 0x5e, 0x00, 0xca, 0x7d}};
-#define CLR_EEStartup_TASK 0x13
-EXTERN_C __declspec(selectany) const GUID CLRRuntimeInformationId = {0xcd7d3e32, 0x65fe, 0x40cd, {0x92, 0x25, 0xa2, 0x57, 0x7d, 0x20, 0x3f, 0xc3}};
-#define CLR_PERFTRACK_TASK 0x14
-EXTERN_C __declspec(selectany) const GUID CLRPerfTrackId = {0xeac685f6, 0x2104, 0x4dec, {0x88, 0xfd, 0x91, 0xe4, 0x25, 0x42, 0x21, 0xec}};
-#define CLR_TYPE_TASK 0x15
-EXTERN_C __declspec(selectany) const GUID TypeId = {0x003e5a9b, 0x4757, 0x4d3e, {0xb4, 0xa1, 0xe4, 0x7b, 0xfb, 0x48, 0x94, 0x08}};
-#define CLR_THREADPOOLWORKINGTHREADCOUNT_TASK 0x16
-EXTERN_C __declspec(selectany) const GUID ThreadPoolWorkingThreadCountId = {0x1b032b96, 0x767c, 0x42e4, {0x84, 0x81, 0xcb, 0x52, 0x8a, 0x66, 0xd7, 0xbd}};
-#define CLR_THREADPOOL_TASK 0x17
-EXTERN_C __declspec(selectany) const GUID ThreadPoolId = {0xead685f6, 0x2104, 0x4dec, {0x88, 0xfd, 0x91, 0xe4, 0x25, 0x42, 0x21, 0xe9}};
-#define CLR_THREADING_TASK 0x18
-EXTERN_C __declspec(selectany) const GUID ThreadId = {0x641994c5, 0x16f2, 0x4123, {0x91, 0xa7, 0xa2, 0x99, 0x9d, 0xd7, 0xbf, 0xc3}};
-#define CLR_DEBUG_IPC_EVENT_TASK 0x19
-EXTERN_C __declspec(selectany) const GUID DebugIPCEventId = {0xec2f3703, 0x8321, 0x4301, {0xbd, 0x51, 0x2c, 0xb9, 0xa0, 0x9f, 0x31, 0xb1}};
-#define CLR_EXCEPTION_PROCESSING_TASK 0x1a
-EXTERN_C __declspec(selectany) const GUID DebugExceptionProcessingId = {0xc4412198, 0xef03, 0x47f1, {0x9b, 0xd1, 0x11, 0xc6, 0x63, 0x7a, 0x20, 0x62}};
-#define CLR_CODE_SYMBOLS_TASK 0x1e
-EXTERN_C __declspec(selectany) const GUID CodeSymbolsId = {0x53aedf69, 0x2049, 0x4f7d, {0x93, 0x45, 0xd3, 0x01, 0x8b, 0x5c, 0x4d, 0x80}};
-//
-// Keyword
-//
-#define CLR_GC_KEYWORD 0x1
-#define CLR_GCHANDLE_KEYWORD 0x2
-#define CLR_FUSION_KEYWORD 0x4
-#define CLR_LOADER_KEYWORD 0x8
-#define CLR_JIT_KEYWORD 0x10
-#define CLR_NGEN_KEYWORD 0x20
-#define CLR_STARTENUMERATION_KEYWORD 0x40
-#define CLR_ENDENUMERATION_KEYWORD 0x80
-#define CLR_SECURITY_KEYWORD 0x400
-#define CLR_APPDOMAINRESOURCEMANAGEMENT_KEYWORD 0x800
-#define CLR_JITTRACING_KEYWORD 0x1000
-#define CLR_INTEROP_KEYWORD 0x2000
-#define CLR_CONTENTION_KEYWORD 0x4000
-#define CLR_EXCEPTION_KEYWORD 0x8000
-#define CLR_THREADING_KEYWORD 0x10000
-#define CLR_JITTEDMETHODILTONATIVEMAP_KEYWORD 0x20000
-#define CLR_OVERRIDEANDSUPPRESSNGENEVENTS_KEYWORD 0x40000
-#define CLR_TYPE_KEYWORD 0x80000
-#define CLR_GCHEAPDUMP_KEYWORD 0x100000
-#define CLR_GCHEAPALLOCHIGH_KEYWORD 0x200000
-#define CLR_GCHEAPSURVIVALANDMOVEMENT_KEYWORD 0x400000
-#define CLR_GCHEAPCOLLECT_KEYWORD 0x800000
-#define CLR_GCHEAPANDTYPENAMES_KEYWORD 0x1000000
-#define CLR_GCHEAPALLOCLOW_KEYWORD 0x2000000
-#define CLR_PERFTRACK_KEYWORD 0x20000000
-#define CLR_STACK_KEYWORD 0x40000000
-#define CLR_THREADTRANSFER_KEYWORD 0x80000000
-#define CLR_DEBUGGER_KEYWORD 0x100000000
-#define CLR_MONITORING_KEYWORD 0x200000000
-#define CLR_CODESYMBOLS_KEYWORD 0x400000000
-
-//
-// Event Descriptors
-//
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCStart = {0x1, 0x0, 0x0, 0x4, 0x1, 0x1, 0x1};
-#define GCStart_value 0x1
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCStart_V1 = {0x1, 0x1, 0x0, 0x4, 0x1, 0x1, 0x1};
-#define GCStart_V1_value 0x1
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCStart_V2 = {0x1, 0x2, 0x0, 0x4, 0x1, 0x1, 0x1};
-#define GCStart_V2_value 0x1
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCEnd = {0x2, 0x0, 0x0, 0x4, 0x2, 0x1, 0x1};
-#define GCEnd_value 0x2
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCEnd_V1 = {0x2, 0x1, 0x0, 0x4, 0x2, 0x1, 0x1};
-#define GCEnd_V1_value 0x2
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCRestartEEEnd = {0x3, 0x0, 0x0, 0x4, 0x84, 0x1, 0x1};
-#define GCRestartEEEnd_value 0x3
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCRestartEEEnd_V1 = {0x3, 0x1, 0x0, 0x4, 0x84, 0x1, 0x1};
-#define GCRestartEEEnd_V1_value 0x3
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCHeapStats = {0x4, 0x0, 0x0, 0x4, 0x85, 0x1, 0x1};
-#define GCHeapStats_value 0x4
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCHeapStats_V1 = {0x4, 0x1, 0x0, 0x4, 0x85, 0x1, 0x1};
-#define GCHeapStats_V1_value 0x4
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCCreateSegment = {0x5, 0x0, 0x0, 0x4, 0x86, 0x1, 0x1};
-#define GCCreateSegment_value 0x5
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCCreateSegment_V1 = {0x5, 0x1, 0x0, 0x4, 0x86, 0x1, 0x1};
-#define GCCreateSegment_V1_value 0x5
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCFreeSegment = {0x6, 0x0, 0x0, 0x4, 0x87, 0x1, 0x1};
-#define GCFreeSegment_value 0x6
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCFreeSegment_V1 = {0x6, 0x1, 0x0, 0x4, 0x87, 0x1, 0x1};
-#define GCFreeSegment_V1_value 0x6
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCRestartEEBegin = {0x7, 0x0, 0x0, 0x4, 0x88, 0x1, 0x1};
-#define GCRestartEEBegin_value 0x7
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCRestartEEBegin_V1 = {0x7, 0x1, 0x0, 0x4, 0x88, 0x1, 0x1};
-#define GCRestartEEBegin_V1_value 0x7
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCSuspendEEEnd = {0x8, 0x0, 0x0, 0x4, 0x89, 0x1, 0x1};
-#define GCSuspendEEEnd_value 0x8
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCSuspendEEEnd_V1 = {0x8, 0x1, 0x0, 0x4, 0x89, 0x1, 0x1};
-#define GCSuspendEEEnd_V1_value 0x8
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCSuspendEEBegin = {0x9, 0x0, 0x0, 0x4, 0xa, 0x1, 0x1};
-#define GCSuspendEEBegin_value 0x9
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCSuspendEEBegin_V1 = {0x9, 0x1, 0x0, 0x4, 0xa, 0x1, 0x1};
-#define GCSuspendEEBegin_V1_value 0x9
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCAllocationTick = {0xa, 0x0, 0x0, 0x5, 0xb, 0x1, 0x1};
-#define GCAllocationTick_value 0xa
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCAllocationTick_V1 = {0xa, 0x1, 0x0, 0x5, 0xb, 0x1, 0x1};
-#define GCAllocationTick_V1_value 0xa
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCAllocationTick_V2 = {0xa, 0x2, 0x0, 0x5, 0xb, 0x1, 0x1};
-#define GCAllocationTick_V2_value 0xa
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCAllocationTick_V3 = {0xa, 0x3, 0x0, 0x5, 0xb, 0x1, 0x1};
-#define GCAllocationTick_V3_value 0xa
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCCreateConcurrentThread = {0xb, 0x0, 0x0, 0x4, 0xc, 0x1, 0x1};
-#define GCCreateConcurrentThread_value 0xb
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCCreateConcurrentThread_V1 = {0xb, 0x1, 0x0, 0x4, 0xc, 0x1, 0x10001};
-#define GCCreateConcurrentThread_V1_value 0xb
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCTerminateConcurrentThread = {0xc, 0x0, 0x0, 0x4, 0xd, 0x1, 0x1};
-#define GCTerminateConcurrentThread_value 0xc
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCTerminateConcurrentThread_V1 = {0xc, 0x1, 0x0, 0x4, 0xd, 0x1, 0x10001};
-#define GCTerminateConcurrentThread_V1_value 0xc
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCFinalizersEnd = {0xd, 0x0, 0x0, 0x4, 0xf, 0x1, 0x1};
-#define GCFinalizersEnd_value 0xd
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCFinalizersEnd_V1 = {0xd, 0x1, 0x0, 0x4, 0xf, 0x1, 0x1};
-#define GCFinalizersEnd_V1_value 0xd
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCFinalizersBegin = {0xe, 0x0, 0x0, 0x4, 0x13, 0x1, 0x1};
-#define GCFinalizersBegin_value 0xe
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCFinalizersBegin_V1 = {0xe, 0x1, 0x0, 0x4, 0x13, 0x1, 0x1};
-#define GCFinalizersBegin_V1_value 0xe
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BulkType = {0xf, 0x0, 0x0, 0x4, 0xa, 0x15, 0x80000};
-#define BulkType_value 0xf
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCBulkRootEdge = {0x10, 0x0, 0x0, 0x4, 0x14, 0x1, 0x100000};
-#define GCBulkRootEdge_value 0x10
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCBulkRootConditionalWeakTableElementEdge = {0x11, 0x0, 0x0, 0x4, 0x15, 0x1, 0x100000};
-#define GCBulkRootConditionalWeakTableElementEdge_value 0x11
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCBulkNode = {0x12, 0x0, 0x0, 0x4, 0x16, 0x1, 0x100000};
-#define GCBulkNode_value 0x12
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCBulkEdge = {0x13, 0x0, 0x0, 0x4, 0x17, 0x1, 0x100000};
-#define GCBulkEdge_value 0x13
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCSampledObjectAllocationHigh = {0x14, 0x0, 0x0, 0x4, 0x18, 0x1, 0x200000};
-#define GCSampledObjectAllocationHigh_value 0x14
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCBulkSurvivingObjectRanges = {0x15, 0x0, 0x0, 0x4, 0x19, 0x1, 0x400000};
-#define GCBulkSurvivingObjectRanges_value 0x15
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCBulkMovedObjectRanges = {0x16, 0x0, 0x0, 0x4, 0x1a, 0x1, 0x400000};
-#define GCBulkMovedObjectRanges_value 0x16
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCGenerationRange = {0x17, 0x0, 0x0, 0x4, 0x1b, 0x1, 0x400000};
-#define GCGenerationRange_value 0x17
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCMarkStackRoots = {0x19, 0x0, 0x0, 0x4, 0x1c, 0x1, 0x1};
-#define GCMarkStackRoots_value 0x19
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCMarkFinalizeQueueRoots = {0x1a, 0x0, 0x0, 0x4, 0x1d, 0x1, 0x1};
-#define GCMarkFinalizeQueueRoots_value 0x1a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCMarkHandles = {0x1b, 0x0, 0x0, 0x4, 0x1e, 0x1, 0x1};
-#define GCMarkHandles_value 0x1b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCMarkOlderGenerationRoots = {0x1c, 0x0, 0x0, 0x4, 0x1f, 0x1, 0x1};
-#define GCMarkOlderGenerationRoots_value 0x1c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FinalizeObject = {0x1d, 0x0, 0x0, 0x5, 0x20, 0x1, 0x1};
-#define FinalizeObject_value 0x1d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR SetGCHandle = {0x1e, 0x0, 0x0, 0x4, 0x21, 0x1, 0x2};
-#define SetGCHandle_value 0x1e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DestroyGCHandle = {0x1f, 0x0, 0x0, 0x4, 0x22, 0x1, 0x2};
-#define DestroyGCHandle_value 0x1f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCSampledObjectAllocationLow = {0x20, 0x0, 0x0, 0x4, 0x18, 0x1, 0x2000000};
-#define GCSampledObjectAllocationLow_value 0x20
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PinObjectAtGCTime = {0x21, 0x0, 0x0, 0x5, 0x24, 0x1, 0x1};
-#define PinObjectAtGCTime_value 0x21
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCTriggered = {0x23, 0x0, 0x0, 0x4, 0x23, 0x1, 0x1};
-#define GCTriggered_value 0x23
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCBulkRootCCW = {0x24, 0x0, 0x0, 0x4, 0x26, 0x1, 0x100000};
-#define GCBulkRootCCW_value 0x24
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCBulkRCW = {0x25, 0x0, 0x0, 0x4, 0x27, 0x1, 0x100000};
-#define GCBulkRCW_value 0x25
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCBulkRootStaticVar = {0x26, 0x0, 0x0, 0x4, 0x28, 0x1, 0x100000};
-#define GCBulkRootStaticVar_value 0x26
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR WorkerThreadCreate = {0x28, 0x0, 0x0, 0x4, 0x1, 0x2, 0x10000};
-#define WorkerThreadCreate_value 0x28
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR WorkerThreadTerminate = {0x29, 0x0, 0x0, 0x4, 0x2, 0x2, 0x10000};
-#define WorkerThreadTerminate_value 0x29
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR WorkerThreadRetire = {0x2a, 0x0, 0x0, 0x4, 0x1, 0x4, 0x10000};
-#define WorkerThreadRetire_value 0x2a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR WorkerThreadUnretire = {0x2b, 0x0, 0x0, 0x4, 0x2, 0x4, 0x10000};
-#define WorkerThreadUnretire_value 0x2b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR IOThreadCreate = {0x2c, 0x0, 0x0, 0x4, 0x1, 0x3, 0x10000};
-#define IOThreadCreate_value 0x2c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR IOThreadCreate_V1 = {0x2c, 0x1, 0x0, 0x4, 0x1, 0x3, 0x10000};
-#define IOThreadCreate_V1_value 0x2c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR IOThreadTerminate = {0x2d, 0x0, 0x0, 0x4, 0x2, 0x3, 0x10000};
-#define IOThreadTerminate_value 0x2d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR IOThreadTerminate_V1 = {0x2d, 0x1, 0x0, 0x4, 0x2, 0x3, 0x10000};
-#define IOThreadTerminate_V1_value 0x2d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR IOThreadRetire = {0x2e, 0x0, 0x0, 0x4, 0x1, 0x5, 0x10000};
-#define IOThreadRetire_value 0x2e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR IOThreadRetire_V1 = {0x2e, 0x1, 0x0, 0x4, 0x1, 0x5, 0x10000};
-#define IOThreadRetire_V1_value 0x2e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR IOThreadUnretire = {0x2f, 0x0, 0x0, 0x4, 0x2, 0x5, 0x10000};
-#define IOThreadUnretire_value 0x2f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR IOThreadUnretire_V1 = {0x2f, 0x1, 0x0, 0x4, 0x2, 0x5, 0x10000};
-#define IOThreadUnretire_V1_value 0x2f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadpoolSuspensionSuspendThread = {0x30, 0x0, 0x0, 0x4, 0x1, 0x6, 0x10000};
-#define ThreadpoolSuspensionSuspendThread_value 0x30
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadpoolSuspensionResumeThread = {0x31, 0x0, 0x0, 0x4, 0x2, 0x6, 0x10000};
-#define ThreadpoolSuspensionResumeThread_value 0x31
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolWorkerThreadStart = {0x32, 0x0, 0x0, 0x4, 0x1, 0x10, 0x10000};
-#define ThreadPoolWorkerThreadStart_value 0x32
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolWorkerThreadStop = {0x33, 0x0, 0x0, 0x4, 0x2, 0x10, 0x10000};
-#define ThreadPoolWorkerThreadStop_value 0x33
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolWorkerThreadRetirementStart = {0x34, 0x0, 0x0, 0x4, 0x1, 0x11, 0x10000};
-#define ThreadPoolWorkerThreadRetirementStart_value 0x34
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolWorkerThreadRetirementStop = {0x35, 0x0, 0x0, 0x4, 0x2, 0x11, 0x10000};
-#define ThreadPoolWorkerThreadRetirementStop_value 0x35
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolWorkerThreadAdjustmentSample = {0x36, 0x0, 0x0, 0x4, 0x64, 0x12, 0x10000};
-#define ThreadPoolWorkerThreadAdjustmentSample_value 0x36
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolWorkerThreadAdjustmentAdjustment = {0x37, 0x0, 0x0, 0x4, 0x65, 0x12, 0x10000};
-#define ThreadPoolWorkerThreadAdjustmentAdjustment_value 0x37
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolWorkerThreadAdjustmentStats = {0x38, 0x0, 0x0, 0x5, 0x66, 0x12, 0x10000};
-#define ThreadPoolWorkerThreadAdjustmentStats_value 0x38
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolWorkerThreadWait = {0x39, 0x0, 0x0, 0x4, 0x5a, 0x10, 0x10000};
-#define ThreadPoolWorkerThreadWait_value 0x39
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolWorkingThreadCount = {0x3c, 0x0, 0x0, 0x5, 0x1, 0x16, 0x10000};
-#define ThreadPoolWorkingThreadCount_value 0x3c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolEnqueue = {0x3d, 0x0, 0x0, 0x5, 0xb, 0x17, 0x80010000};
-#define ThreadPoolEnqueue_value 0x3d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolDequeue = {0x3e, 0x0, 0x0, 0x5, 0xc, 0x17, 0x80010000};
-#define ThreadPoolDequeue_value 0x3e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolIOEnqueue = {0x3f, 0x0, 0x0, 0x5, 0xd, 0x17, 0x80010000};
-#define ThreadPoolIOEnqueue_value 0x3f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolIODequeue = {0x40, 0x0, 0x0, 0x5, 0xe, 0x17, 0x80010000};
-#define ThreadPoolIODequeue_value 0x40
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadPoolIOPack = {0x41, 0x0, 0x0, 0x5, 0xf, 0x17, 0x10000};
-#define ThreadPoolIOPack_value 0x41
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadCreating = {0x46, 0x0, 0x0, 0x4, 0xb, 0x18, 0x80010000};
-#define ThreadCreating_value 0x46
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadRunning = {0x47, 0x0, 0x0, 0x4, 0xc, 0x18, 0x80010000};
-#define ThreadRunning_value 0x47
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExceptionThrown = {0x50, 0x0, 0x0, 0x4, 0x1, 0x7, 0x0};
-#define ExceptionThrown_value 0x50
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExceptionThrown_V1 = {0x50, 0x1, 0x0, 0x2, 0x1, 0x7, 0x200008000};
-#define ExceptionThrown_V1_value 0x50
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExceptionCatchStart = {0xfa, 0x0, 0x0, 0x4, 0x1, 0x1b, 0x8000};
-#define ExceptionCatchStart_value 0xfa
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExceptionCatchStop = {0xfb, 0x0, 0x0, 0x4, 0x2, 0x1b, 0x8000};
-#define ExceptionCatchStop_value 0xfb
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExceptionFinallyStart = {0xfc, 0x0, 0x0, 0x4, 0x1, 0x1c, 0x8000};
-#define ExceptionFinallyStart_value 0xfc
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExceptionFinallyStop = {0xfd, 0x0, 0x0, 0x4, 0x2, 0x1c, 0x8000};
-#define ExceptionFinallyStop_value 0xfd
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExceptionFilterStart = {0xfe, 0x0, 0x0, 0x4, 0x1, 0x1d, 0x8000};
-#define ExceptionFilterStart_value 0xfe
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExceptionFilterStop = {0xff, 0x0, 0x0, 0x4, 0x2, 0x1d, 0x8000};
-#define ExceptionFilterStop_value 0xff
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExceptionThrownStop = {0x100, 0x0, 0x0, 0x4, 0x2, 0x7, 0x8000};
-#define ExceptionThrownStop_value 0x100
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR Contention = {0x51, 0x0, 0x0, 0x4, 0x1, 0x8, 0x0};
-#define Contention_value 0x51
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ContentionStart_V1 = {0x51, 0x1, 0x0, 0x4, 0x1, 0x8, 0x4000};
-#define ContentionStart_V1_value 0x51
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ContentionStop = {0x5b, 0x0, 0x0, 0x4, 0x2, 0x8, 0x4000};
-#define ContentionStop_value 0x5b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR CLRStackWalk = {0x52, 0x0, 0x0, 0x0, 0x52, 0xb, 0x40000000};
-#define CLRStackWalk_value 0x52
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AppDomainMemAllocated = {0x53, 0x0, 0x0, 0x4, 0x30, 0xe, 0x800};
-#define AppDomainMemAllocated_value 0x53
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AppDomainMemSurvived = {0x54, 0x0, 0x0, 0x4, 0x31, 0xe, 0x800};
-#define AppDomainMemSurvived_value 0x54
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadCreated = {0x55, 0x0, 0x0, 0x4, 0x32, 0xe, 0x10800};
-#define ThreadCreated_value 0x55
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadTerminated = {0x56, 0x0, 0x0, 0x4, 0x33, 0xe, 0x10800};
-#define ThreadTerminated_value 0x56
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadDomainEnter = {0x57, 0x0, 0x0, 0x4, 0x34, 0xe, 0x10800};
-#define ThreadDomainEnter_value 0x57
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ILStubGenerated = {0x58, 0x0, 0x0, 0x4, 0x58, 0xf, 0x2000};
-#define ILStubGenerated_value 0x58
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ILStubCacheHit = {0x59, 0x0, 0x0, 0x4, 0x59, 0xf, 0x2000};
-#define ILStubCacheHit_value 0x59
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DCStartCompleteV2 = {0x87, 0x0, 0x0, 0x4, 0xe, 0x9, 0x30};
-#define DCStartCompleteV2_value 0x87
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DCEndCompleteV2 = {0x88, 0x0, 0x0, 0x4, 0xf, 0x9, 0x30};
-#define DCEndCompleteV2_value 0x88
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCStartV2 = {0x89, 0x0, 0x0, 0x4, 0x23, 0x9, 0x30};
-#define MethodDCStartV2_value 0x89
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCEndV2 = {0x8a, 0x0, 0x0, 0x4, 0x24, 0x9, 0x30};
-#define MethodDCEndV2_value 0x8a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCStartVerboseV2 = {0x8b, 0x0, 0x0, 0x4, 0x27, 0x9, 0x30};
-#define MethodDCStartVerboseV2_value 0x8b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCEndVerboseV2 = {0x8c, 0x0, 0x0, 0x4, 0x28, 0x9, 0x30};
-#define MethodDCEndVerboseV2_value 0x8c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodLoad = {0x8d, 0x0, 0x0, 0x4, 0x21, 0x9, 0x30};
-#define MethodLoad_value 0x8d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodLoad_V1 = {0x8d, 0x1, 0x0, 0x4, 0x21, 0x9, 0x30};
-#define MethodLoad_V1_value 0x8d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodLoad_V2 = {0x8d, 0x2, 0x0, 0x4, 0x21, 0x9, 0x30};
-#define MethodLoad_V2_value 0x8d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodUnload = {0x8e, 0x0, 0x0, 0x4, 0x22, 0x9, 0x30};
-#define MethodUnload_value 0x8e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodUnload_V1 = {0x8e, 0x1, 0x0, 0x4, 0x22, 0x9, 0x30};
-#define MethodUnload_V1_value 0x8e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodUnload_V2 = {0x8e, 0x2, 0x0, 0x4, 0x22, 0x9, 0x30};
-#define MethodUnload_V2_value 0x8e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodLoadVerbose = {0x8f, 0x0, 0x0, 0x4, 0x25, 0x9, 0x30};
-#define MethodLoadVerbose_value 0x8f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodLoadVerbose_V1 = {0x8f, 0x1, 0x0, 0x4, 0x25, 0x9, 0x30};
-#define MethodLoadVerbose_V1_value 0x8f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodLoadVerbose_V2 = {0x8f, 0x2, 0x0, 0x4, 0x25, 0x9, 0x30};
-#define MethodLoadVerbose_V2_value 0x8f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodUnloadVerbose = {0x90, 0x0, 0x0, 0x4, 0x26, 0x9, 0x30};
-#define MethodUnloadVerbose_value 0x90
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodUnloadVerbose_V1 = {0x90, 0x1, 0x0, 0x4, 0x26, 0x9, 0x30};
-#define MethodUnloadVerbose_V1_value 0x90
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodUnloadVerbose_V2 = {0x90, 0x2, 0x0, 0x4, 0x26, 0x9, 0x30};
-#define MethodUnloadVerbose_V2_value 0x90
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodJittingStarted = {0x91, 0x0, 0x0, 0x5, 0x2a, 0x9, 0x10};
-#define MethodJittingStarted_value 0x91
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodJittingStarted_V1 = {0x91, 0x1, 0x0, 0x5, 0x2a, 0x9, 0x10};
-#define MethodJittingStarted_V1_value 0x91
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodJitInliningSucceeded = {0xb9, 0x0, 0x0, 0x5, 0x53, 0x9, 0x1000};
-#define MethodJitInliningSucceeded_value 0xb9
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodJitInliningFailed = {0xba, 0x0, 0x0, 0x5, 0x54, 0x9, 0x1000};
-#define MethodJitInliningFailed_value 0xba
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodJitTailCallSucceeded = {0xbc, 0x0, 0x0, 0x5, 0x55, 0x9, 0x1000};
-#define MethodJitTailCallSucceeded_value 0xbc
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodJitTailCallFailed = {0xbd, 0x0, 0x0, 0x5, 0x56, 0x9, 0x1000};
-#define MethodJitTailCallFailed_value 0xbd
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodILToNativeMap = {0xbe, 0x0, 0x0, 0x5, 0x57, 0x9, 0x20000};
-#define MethodILToNativeMap_value 0xbe
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleDCStartV2 = {0x95, 0x0, 0x0, 0x4, 0x23, 0xa, 0x8};
-#define ModuleDCStartV2_value 0x95
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleDCEndV2 = {0x96, 0x0, 0x0, 0x4, 0x24, 0xa, 0x8};
-#define ModuleDCEndV2_value 0x96
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DomainModuleLoad = {0x97, 0x0, 0x0, 0x4, 0x2d, 0xa, 0x8};
-#define DomainModuleLoad_value 0x97
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DomainModuleLoad_V1 = {0x97, 0x1, 0x0, 0x4, 0x2d, 0xa, 0x8};
-#define DomainModuleLoad_V1_value 0x97
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleLoad = {0x98, 0x0, 0x0, 0x4, 0x21, 0xa, 0x8};
-#define ModuleLoad_value 0x98
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleLoad_V1 = {0x98, 0x1, 0x0, 0x4, 0x21, 0xa, 0x20000008};
-#define ModuleLoad_V1_value 0x98
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleLoad_V2 = {0x98, 0x2, 0x0, 0x4, 0x21, 0xa, 0x20000008};
-#define ModuleLoad_V2_value 0x98
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleUnload = {0x99, 0x0, 0x0, 0x4, 0x22, 0xa, 0x8};
-#define ModuleUnload_value 0x99
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleUnload_V1 = {0x99, 0x1, 0x0, 0x4, 0x22, 0xa, 0x20000008};
-#define ModuleUnload_V1_value 0x99
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleUnload_V2 = {0x99, 0x2, 0x0, 0x4, 0x22, 0xa, 0x20000008};
-#define ModuleUnload_V2_value 0x99
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AssemblyLoad = {0x9a, 0x0, 0x0, 0x4, 0x25, 0xa, 0x8};
-#define AssemblyLoad_value 0x9a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AssemblyLoad_V1 = {0x9a, 0x1, 0x0, 0x4, 0x25, 0xa, 0x8};
-#define AssemblyLoad_V1_value 0x9a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AssemblyUnload = {0x9b, 0x0, 0x0, 0x4, 0x26, 0xa, 0x8};
-#define AssemblyUnload_value 0x9b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AssemblyUnload_V1 = {0x9b, 0x1, 0x0, 0x4, 0x26, 0xa, 0x8};
-#define AssemblyUnload_V1_value 0x9b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AppDomainLoad = {0x9c, 0x0, 0x0, 0x4, 0x29, 0xa, 0x8};
-#define AppDomainLoad_value 0x9c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AppDomainLoad_V1 = {0x9c, 0x1, 0x0, 0x4, 0x29, 0xa, 0x8};
-#define AppDomainLoad_V1_value 0x9c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AppDomainUnload = {0x9d, 0x0, 0x0, 0x4, 0x2a, 0xa, 0x8};
-#define AppDomainUnload_value 0x9d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AppDomainUnload_V1 = {0x9d, 0x1, 0x0, 0x4, 0x2a, 0xa, 0x8};
-#define AppDomainUnload_V1_value 0x9d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleRangeLoad = {0x9e, 0x0, 0x0, 0x4, 0xa, 0x14, 0x20000000};
-#define ModuleRangeLoad_value 0x9e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR StrongNameVerificationStart = {0xb5, 0x0, 0x0, 0x5, 0x1, 0xc, 0x400};
-#define StrongNameVerificationStart_value 0xb5
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR StrongNameVerificationStart_V1 = {0xb5, 0x1, 0x0, 0x5, 0x1, 0xc, 0x400};
-#define StrongNameVerificationStart_V1_value 0xb5
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR StrongNameVerificationStop = {0xb6, 0x0, 0x0, 0x4, 0x2, 0xc, 0x400};
-#define StrongNameVerificationStop_value 0xb6
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR StrongNameVerificationStop_V1 = {0xb6, 0x1, 0x0, 0x4, 0x2, 0xc, 0x400};
-#define StrongNameVerificationStop_V1_value 0xb6
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AuthenticodeVerificationStart = {0xb7, 0x0, 0x0, 0x5, 0x1, 0xd, 0x400};
-#define AuthenticodeVerificationStart_value 0xb7
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AuthenticodeVerificationStart_V1 = {0xb7, 0x1, 0x0, 0x5, 0x1, 0xd, 0x400};
-#define AuthenticodeVerificationStart_V1_value 0xb7
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AuthenticodeVerificationStop = {0xb8, 0x0, 0x0, 0x4, 0x2, 0xd, 0x400};
-#define AuthenticodeVerificationStop_value 0xb8
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AuthenticodeVerificationStop_V1 = {0xb8, 0x1, 0x0, 0x4, 0x2, 0xd, 0x400};
-#define AuthenticodeVerificationStop_V1_value 0xb8
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR RuntimeInformationStart = {0xbb, 0x0, 0x0, 0x4, 0x1, 0x13, 0x0};
-#define RuntimeInformationStart_value 0xbb
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR IncreaseMemoryPressure = {0xc8, 0x0, 0x0, 0x5, 0xc8, 0x1, 0x1};
-#define IncreaseMemoryPressure_value 0xc8
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DecreaseMemoryPressure = {0xc9, 0x0, 0x0, 0x5, 0xc9, 0x1, 0x1};
-#define DecreaseMemoryPressure_value 0xc9
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCMarkWithType = {0xca, 0x0, 0x0, 0x4, 0xca, 0x1, 0x1};
-#define GCMarkWithType_value 0xca
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCJoin_V2 = {0xcb, 0x2, 0x0, 0x5, 0xcb, 0x1, 0x1};
-#define GCJoin_V2_value 0xcb
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCPerHeapHistory_V3 = {0xcc, 0x3, 0x0, 0x4, 0xcc, 0x1, 0x1};
-#define GCPerHeapHistory_V3_value 0xcc
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCGlobalHeapHistory_V2 = {0xcd, 0x2, 0x0, 0x4, 0xcd, 0x1, 0x1};
-#define GCGlobalHeapHistory_V2_value 0xcd
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DebugIPCEventStart = {0xf0, 0x0, 0x0, 0x4, 0x1, 0x19, 0x100000000};
-#define DebugIPCEventStart_value 0xf0
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DebugIPCEventEnd = {0xf1, 0x0, 0x0, 0x4, 0x2, 0x19, 0x100000000};
-#define DebugIPCEventEnd_value 0xf1
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DebugExceptionProcessingStart = {0xf2, 0x0, 0x0, 0x4, 0x1, 0x1a, 0x100000000};
-#define DebugExceptionProcessingStart_value 0xf2
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DebugExceptionProcessingEnd = {0xf3, 0x0, 0x0, 0x4, 0x2, 0x1a, 0x100000000};
-#define DebugExceptionProcessingEnd_value 0xf3
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR CodeSymbols = {0x104, 0x0, 0x0, 0x5, 0x1, 0x1e, 0x400000000};
-#define CodeSymbols_value 0x104
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EventSource = {0x10e, 0x0, 0x0, 0x4, 0x1, 0x0, 0x0};
-#define EventSource_value 0x10e
-
-//
-// Note on Generate Code from Manifest Windows Vista and above
-//
-//Structures : are handled as a size and pointer pairs. The macro for the event will have an extra
-//parameter for the size in bytes of the structure. Make sure that your structures have no extra padding.
-//
-//Strings: There are several cases that can be described in the manifest. For array of variable length
-//strings, the generated code will take the count of characters for the whole array as an input parameter.
-//
-//SID No support for array of SIDs, the macro will take a pointer to the SID and use appropriate
-//GetLengthSid function to get the length.
-//
-
-//
-// Allow Diasabling of code generation
-//
-#ifndef MCGEN_DISABLE_PROVIDER_CODE_GENERATION
-
-//
-// Globals
-//
-
-
-//
-// Event Enablement Bits
-//
-
-EXTERN_C __declspec(selectany) DECLSPEC_CACHEALIGN ULONG Microsoft_Windows_DotNETRuntimeEnableBits[1];
-EXTERN_C __declspec(selectany) const ULONGLONG Microsoft_Windows_DotNETRuntimeKeywords[32] = {0x1, 0x1, 0x10001, 0x80000, 0x100000, 0x200000, 0x400000, 0x2, 0x2000000, 0x10000, 0x10000, 0x80010000, 0x80010000, 0x0, 0x200008000, 0x8000, 0x4000, 0x40000000, 0x800, 0x10800, 0x2000, 0x30, 0x10, 0x1000, 0x20000, 0x8, 0x20000008, 0x20000000, 0x400, 0x400, 0x100000000, 0x400000000};
-EXTERN_C __declspec(selectany) const UCHAR Microsoft_Windows_DotNETRuntimeLevels[32] = {4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 4, 4, 2, 4, 4, 0, 4, 4, 4, 4, 5, 5, 5, 4, 4, 4, 5, 4, 4, 5};
-EXTERN_C __declspec(selectany) MCGEN_TRACE_CONTEXT MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER_Context = {0, 0, 0, 0, 0, 0, 0, 0, 32, Microsoft_Windows_DotNETRuntimeEnableBits, Microsoft_Windows_DotNETRuntimeKeywords, Microsoft_Windows_DotNETRuntimeLevels};
-
-EXTERN_C __declspec(selectany) REGHANDLE Microsoft_Windows_DotNETRuntimeHandle = (REGHANDLE)0;
-
-#if !defined(McGenEventRegisterUnregister)
-#define McGenEventRegisterUnregister
-DECLSPEC_NOINLINE __inline
-ULONG __stdcall
-McGenEventRegister(
- _In_ LPCGUID ProviderId,
- _In_opt_ PENABLECALLBACK EnableCallback,
- _In_opt_ PVOID CallbackContext,
- _Inout_ PREGHANDLE RegHandle
- )
-/*++
-
-Routine Description:
-
- This function register the provider with ETW USER mode.
-
-Arguments:
- ProviderId - Provider Id to be register with ETW.
-
- EnableCallback - Callback to be used.
-
- CallbackContext - Context for this provider.
-
- RegHandle - Pointer to Registration handle.
-
-Remarks:
-
- If the handle != NULL will return ERROR_SUCCESS
-
---*/
-{
- ULONG Error;
-
-
- if (*RegHandle) {
- //
- // already registered
- //
- return ERROR_SUCCESS;
- }
-
- Error = EventRegister( ProviderId, EnableCallback, CallbackContext, RegHandle);
-
- return Error;
-}
-
-
-DECLSPEC_NOINLINE __inline
-ULONG __stdcall
-McGenEventUnregister(_Inout_ PREGHANDLE RegHandle)
-/*++
-
-Routine Description:
-
- Unregister from ETW USER mode
-
-Arguments:
- RegHandle this is the pointer to the provider context
-Remarks:
- If Provider has not register RegHandle = NULL,
- return ERROR_SUCCESS
---*/
-{
- ULONG Error;
-
-
- if(!(*RegHandle)) {
- //
- // Provider has not registerd
- //
- return ERROR_SUCCESS;
- }
-
- Error = EventUnregister(*RegHandle);
- *RegHandle = (REGHANDLE)0;
-
- return Error;
-}
-#endif
-//
-// Register with ETW Vista +
-//
-#ifndef EventRegisterMicrosoft_Windows_DotNETRuntime
-#define EventRegisterMicrosoft_Windows_DotNETRuntime() McGenEventRegister(&MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER, McGenControlCallbackV2, &MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER_Context, &Microsoft_Windows_DotNETRuntimeHandle)
-#endif
-
-//
-// UnRegister with ETW
-//
-#ifndef EventUnregisterMicrosoft_Windows_DotNETRuntime
-#define EventUnregisterMicrosoft_Windows_DotNETRuntime() McGenEventUnregister(&Microsoft_Windows_DotNETRuntimeHandle)
-#endif
-
-//
-// Enablement check macro for GCStart
-//
-
-#define EventEnabledGCStart() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCStart
-//
-#define FireEtwGCStart(Count, Reason)\
- EventEnabledGCStart() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimeHandle, &GCStart, Count, Reason)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCStart_V1
-//
-
-#define EventEnabledGCStart_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCStart_V1
-//
-#define FireEtwGCStart_V1(Count, Depth, Reason, Type, ClrInstanceID)\
- EventEnabledGCStart_V1() ?\
- CoTemplate_qqqqh(Microsoft_Windows_DotNETRuntimeHandle, &GCStart_V1, Count, Depth, Reason, Type, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCStart_V2
-//
-
-#define EventEnabledGCStart_V2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCStart_V2
-//
-#define FireEtwGCStart_V2(Count, Depth, Reason, Type, ClrInstanceID, ClientSequenceNumber)\
- EventEnabledGCStart_V2() ?\
- CoTemplate_qqqqhx(Microsoft_Windows_DotNETRuntimeHandle, &GCStart_V2, Count, Depth, Reason, Type, ClrInstanceID, ClientSequenceNumber)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCEnd
-//
-
-#define EventEnabledGCEnd() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCEnd
-//
-#define FireEtwGCEnd(Count, Depth)\
- EventEnabledGCEnd() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimeHandle, &GCEnd, Count, Depth)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCEnd_V1
-//
-
-#define EventEnabledGCEnd_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCEnd_V1
-//
-#define FireEtwGCEnd_V1(Count, Depth, ClrInstanceID)\
- EventEnabledGCEnd_V1() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimeHandle, &GCEnd_V1, Count, Depth, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCRestartEEEnd
-//
-
-#define EventEnabledGCRestartEEEnd() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCRestartEEEnd
-//
-#define FireEtwGCRestartEEEnd()\
- EventEnabledGCRestartEEEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &GCRestartEEEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCRestartEEEnd_V1
-//
-
-#define EventEnabledGCRestartEEEnd_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCRestartEEEnd_V1
-//
-#define FireEtwGCRestartEEEnd_V1(ClrInstanceID)\
- EventEnabledGCRestartEEEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimeHandle, &GCRestartEEEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCHeapStats
-//
-
-#define EventEnabledGCHeapStats() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCHeapStats
-//
-#define FireEtwGCHeapStats(GenerationSize0, TotalPromotedSize0, GenerationSize1, TotalPromotedSize1, GenerationSize2, TotalPromotedSize2, GenerationSize3, TotalPromotedSize3, FinalizationPromotedSize, FinalizationPromotedCount, PinnedObjectCount, SinkBlockCount, GCHandleCount)\
- EventEnabledGCHeapStats() ?\
- CoTemplate_xxxxxxxxxxqqq(Microsoft_Windows_DotNETRuntimeHandle, &GCHeapStats, GenerationSize0, TotalPromotedSize0, GenerationSize1, TotalPromotedSize1, GenerationSize2, TotalPromotedSize2, GenerationSize3, TotalPromotedSize3, FinalizationPromotedSize, FinalizationPromotedCount, PinnedObjectCount, SinkBlockCount, GCHandleCount)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCHeapStats_V1
-//
-
-#define EventEnabledGCHeapStats_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCHeapStats_V1
-//
-#define FireEtwGCHeapStats_V1(GenerationSize0, TotalPromotedSize0, GenerationSize1, TotalPromotedSize1, GenerationSize2, TotalPromotedSize2, GenerationSize3, TotalPromotedSize3, FinalizationPromotedSize, FinalizationPromotedCount, PinnedObjectCount, SinkBlockCount, GCHandleCount, ClrInstanceID)\
- EventEnabledGCHeapStats_V1() ?\
- CoTemplate_xxxxxxxxxxqqqh(Microsoft_Windows_DotNETRuntimeHandle, &GCHeapStats_V1, GenerationSize0, TotalPromotedSize0, GenerationSize1, TotalPromotedSize1, GenerationSize2, TotalPromotedSize2, GenerationSize3, TotalPromotedSize3, FinalizationPromotedSize, FinalizationPromotedCount, PinnedObjectCount, SinkBlockCount, GCHandleCount, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCCreateSegment
-//
-
-#define EventEnabledGCCreateSegment() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCCreateSegment
-//
-#define FireEtwGCCreateSegment(Address, Size, Type)\
- EventEnabledGCCreateSegment() ?\
- CoTemplate_xxq(Microsoft_Windows_DotNETRuntimeHandle, &GCCreateSegment, Address, Size, Type)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCCreateSegment_V1
-//
-
-#define EventEnabledGCCreateSegment_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCCreateSegment_V1
-//
-#define FireEtwGCCreateSegment_V1(Address, Size, Type, ClrInstanceID)\
- EventEnabledGCCreateSegment_V1() ?\
- CoTemplate_xxqh(Microsoft_Windows_DotNETRuntimeHandle, &GCCreateSegment_V1, Address, Size, Type, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCFreeSegment
-//
-
-#define EventEnabledGCFreeSegment() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCFreeSegment
-//
-#define FireEtwGCFreeSegment(Address)\
- EventEnabledGCFreeSegment() ?\
- CoTemplate_x(Microsoft_Windows_DotNETRuntimeHandle, &GCFreeSegment, Address)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCFreeSegment_V1
-//
-
-#define EventEnabledGCFreeSegment_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCFreeSegment_V1
-//
-#define FireEtwGCFreeSegment_V1(Address, ClrInstanceID)\
- EventEnabledGCFreeSegment_V1() ?\
- CoTemplate_xh(Microsoft_Windows_DotNETRuntimeHandle, &GCFreeSegment_V1, Address, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCRestartEEBegin
-//
-
-#define EventEnabledGCRestartEEBegin() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCRestartEEBegin
-//
-#define FireEtwGCRestartEEBegin()\
- EventEnabledGCRestartEEBegin() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &GCRestartEEBegin)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCRestartEEBegin_V1
-//
-
-#define EventEnabledGCRestartEEBegin_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCRestartEEBegin_V1
-//
-#define FireEtwGCRestartEEBegin_V1(ClrInstanceID)\
- EventEnabledGCRestartEEBegin_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimeHandle, &GCRestartEEBegin_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCSuspendEEEnd
-//
-
-#define EventEnabledGCSuspendEEEnd() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCSuspendEEEnd
-//
-#define FireEtwGCSuspendEEEnd()\
- EventEnabledGCSuspendEEEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &GCSuspendEEEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCSuspendEEEnd_V1
-//
-
-#define EventEnabledGCSuspendEEEnd_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCSuspendEEEnd_V1
-//
-#define FireEtwGCSuspendEEEnd_V1(ClrInstanceID)\
- EventEnabledGCSuspendEEEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimeHandle, &GCSuspendEEEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCSuspendEEBegin
-//
-
-#define EventEnabledGCSuspendEEBegin() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCSuspendEEBegin
-//
-#define FireEtwGCSuspendEEBegin(Reason)\
- EventEnabledGCSuspendEEBegin() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimeHandle, &GCSuspendEEBegin, Reason)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCSuspendEEBegin_V1
-//
-
-#define EventEnabledGCSuspendEEBegin_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCSuspendEEBegin_V1
-//
-#define FireEtwGCSuspendEEBegin_V1(Reason, Count, ClrInstanceID)\
- EventEnabledGCSuspendEEBegin_V1() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimeHandle, &GCSuspendEEBegin_V1, Reason, Count, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCAllocationTick
-//
-
-#define EventEnabledGCAllocationTick() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for GCAllocationTick
-//
-#define FireEtwGCAllocationTick(AllocationAmount, AllocationKind)\
- EventEnabledGCAllocationTick() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimeHandle, &GCAllocationTick, AllocationAmount, AllocationKind)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCAllocationTick_V1
-//
-
-#define EventEnabledGCAllocationTick_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for GCAllocationTick_V1
-//
-#define FireEtwGCAllocationTick_V1(AllocationAmount, AllocationKind, ClrInstanceID)\
- EventEnabledGCAllocationTick_V1() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimeHandle, &GCAllocationTick_V1, AllocationAmount, AllocationKind, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCAllocationTick_V2
-//
-
-#define EventEnabledGCAllocationTick_V2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for GCAllocationTick_V2
-//
-#define FireEtwGCAllocationTick_V2(AllocationAmount, AllocationKind, ClrInstanceID, AllocationAmount64, TypeID, TypeName, HeapIndex)\
- EventEnabledGCAllocationTick_V2() ?\
- CoTemplate_qqhxpzq(Microsoft_Windows_DotNETRuntimeHandle, &GCAllocationTick_V2, AllocationAmount, AllocationKind, ClrInstanceID, AllocationAmount64, TypeID, TypeName, HeapIndex)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCAllocationTick_V3
-//
-
-#define EventEnabledGCAllocationTick_V3() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for GCAllocationTick_V3
-//
-#define FireEtwGCAllocationTick_V3(AllocationAmount, AllocationKind, ClrInstanceID, AllocationAmount64, TypeID, TypeName, HeapIndex, Address)\
- EventEnabledGCAllocationTick_V3() ?\
- CoTemplate_qqhxpzqp(Microsoft_Windows_DotNETRuntimeHandle, &GCAllocationTick_V3, AllocationAmount, AllocationKind, ClrInstanceID, AllocationAmount64, TypeID, TypeName, HeapIndex, Address)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCCreateConcurrentThread
-//
-
-#define EventEnabledGCCreateConcurrentThread() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCCreateConcurrentThread
-//
-#define FireEtwGCCreateConcurrentThread()\
- EventEnabledGCCreateConcurrentThread() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &GCCreateConcurrentThread)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCCreateConcurrentThread_V1
-//
-
-#define EventEnabledGCCreateConcurrentThread_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for GCCreateConcurrentThread_V1
-//
-#define FireEtwGCCreateConcurrentThread_V1(ClrInstanceID)\
- EventEnabledGCCreateConcurrentThread_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimeHandle, &GCCreateConcurrentThread_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCTerminateConcurrentThread
-//
-
-#define EventEnabledGCTerminateConcurrentThread() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCTerminateConcurrentThread
-//
-#define FireEtwGCTerminateConcurrentThread()\
- EventEnabledGCTerminateConcurrentThread() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &GCTerminateConcurrentThread)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCTerminateConcurrentThread_V1
-//
-
-#define EventEnabledGCTerminateConcurrentThread_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for GCTerminateConcurrentThread_V1
-//
-#define FireEtwGCTerminateConcurrentThread_V1(ClrInstanceID)\
- EventEnabledGCTerminateConcurrentThread_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimeHandle, &GCTerminateConcurrentThread_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCFinalizersEnd
-//
-
-#define EventEnabledGCFinalizersEnd() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCFinalizersEnd
-//
-#define FireEtwGCFinalizersEnd(Count)\
- EventEnabledGCFinalizersEnd() ?\
- CoTemplate_q(Microsoft_Windows_DotNETRuntimeHandle, &GCFinalizersEnd, Count)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCFinalizersEnd_V1
-//
-
-#define EventEnabledGCFinalizersEnd_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCFinalizersEnd_V1
-//
-#define FireEtwGCFinalizersEnd_V1(Count, ClrInstanceID)\
- EventEnabledGCFinalizersEnd_V1() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimeHandle, &GCFinalizersEnd_V1, Count, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCFinalizersBegin
-//
-
-#define EventEnabledGCFinalizersBegin() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCFinalizersBegin
-//
-#define FireEtwGCFinalizersBegin()\
- EventEnabledGCFinalizersBegin() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &GCFinalizersBegin)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCFinalizersBegin_V1
-//
-
-#define EventEnabledGCFinalizersBegin_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCFinalizersBegin_V1
-//
-#define FireEtwGCFinalizersBegin_V1(ClrInstanceID)\
- EventEnabledGCFinalizersBegin_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimeHandle, &GCFinalizersBegin_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BulkType
-//
-
-#define EventEnabledBulkType() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000008) != 0)
-
-//
-// Event Macro for BulkType
-//
-#define FireEtwBulkType(Count, ClrInstanceID, Values_Len_, Values)\
- EventEnabledBulkType() ?\
- CoTemplate_qhNR0(Microsoft_Windows_DotNETRuntimeHandle, &BulkType, Count, ClrInstanceID, Values_Len_, Values)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCBulkRootEdge
-//
-
-#define EventEnabledGCBulkRootEdge() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for GCBulkRootEdge
-//
-#define FireEtwGCBulkRootEdge(Index, Count, ClrInstanceID, Values_Len_, Values)\
- EventEnabledGCBulkRootEdge() ?\
- CoTemplate_qqhNR1(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkRootEdge, Index, Count, ClrInstanceID, Values_Len_, Values)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCBulkRootConditionalWeakTableElementEdge
-//
-
-#define EventEnabledGCBulkRootConditionalWeakTableElementEdge() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for GCBulkRootConditionalWeakTableElementEdge
-//
-#define FireEtwGCBulkRootConditionalWeakTableElementEdge(Index, Count, ClrInstanceID, Values_Len_, Values)\
- EventEnabledGCBulkRootConditionalWeakTableElementEdge() ?\
- CoTemplate_qqhNR1(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkRootConditionalWeakTableElementEdge, Index, Count, ClrInstanceID, Values_Len_, Values)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCBulkNode
-//
-
-#define EventEnabledGCBulkNode() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for GCBulkNode
-//
-#define FireEtwGCBulkNode(Index, Count, ClrInstanceID, Values_Len_, Values)\
- EventEnabledGCBulkNode() ?\
- CoTemplate_qqhNR1(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkNode, Index, Count, ClrInstanceID, Values_Len_, Values)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCBulkEdge
-//
-
-#define EventEnabledGCBulkEdge() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for GCBulkEdge
-//
-#define FireEtwGCBulkEdge(Index, Count, ClrInstanceID, Values_Len_, Values)\
- EventEnabledGCBulkEdge() ?\
- CoTemplate_qqhNR1(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkEdge, Index, Count, ClrInstanceID, Values_Len_, Values)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCSampledObjectAllocationHigh
-//
-
-#define EventEnabledGCSampledObjectAllocationHigh() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for GCSampledObjectAllocationHigh
-//
-#define FireEtwGCSampledObjectAllocationHigh(Address, TypeID, ObjectCountForTypeSample, TotalSizeForTypeSample, ClrInstanceID)\
- EventEnabledGCSampledObjectAllocationHigh() ?\
- CoTemplate_ppqxh(Microsoft_Windows_DotNETRuntimeHandle, &GCSampledObjectAllocationHigh, Address, TypeID, ObjectCountForTypeSample, TotalSizeForTypeSample, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCBulkSurvivingObjectRanges
-//
-
-#define EventEnabledGCBulkSurvivingObjectRanges() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for GCBulkSurvivingObjectRanges
-//
-#define FireEtwGCBulkSurvivingObjectRanges(Index, Count, ClrInstanceID, Values_Len_, Values)\
- EventEnabledGCBulkSurvivingObjectRanges() ?\
- CoTemplate_qqhNR1(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkSurvivingObjectRanges, Index, Count, ClrInstanceID, Values_Len_, Values)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCBulkMovedObjectRanges
-//
-
-#define EventEnabledGCBulkMovedObjectRanges() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for GCBulkMovedObjectRanges
-//
-#define FireEtwGCBulkMovedObjectRanges(Index, Count, ClrInstanceID, Values_Len_, Values)\
- EventEnabledGCBulkMovedObjectRanges() ?\
- CoTemplate_qqhNR1(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkMovedObjectRanges, Index, Count, ClrInstanceID, Values_Len_, Values)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCGenerationRange
-//
-
-#define EventEnabledGCGenerationRange() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for GCGenerationRange
-//
-#define FireEtwGCGenerationRange(Generation, RangeStart, RangeUsedLength, RangeReservedLength, ClrInstanceID)\
- EventEnabledGCGenerationRange() ?\
- CoTemplate_cpxxh(Microsoft_Windows_DotNETRuntimeHandle, &GCGenerationRange, Generation, RangeStart, RangeUsedLength, RangeReservedLength, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCMarkStackRoots
-//
-
-#define EventEnabledGCMarkStackRoots() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCMarkStackRoots
-//
-#define FireEtwGCMarkStackRoots(HeapNum, ClrInstanceID)\
- EventEnabledGCMarkStackRoots() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimeHandle, &GCMarkStackRoots, HeapNum, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCMarkFinalizeQueueRoots
-//
-
-#define EventEnabledGCMarkFinalizeQueueRoots() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCMarkFinalizeQueueRoots
-//
-#define FireEtwGCMarkFinalizeQueueRoots(HeapNum, ClrInstanceID)\
- EventEnabledGCMarkFinalizeQueueRoots() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimeHandle, &GCMarkFinalizeQueueRoots, HeapNum, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCMarkHandles
-//
-
-#define EventEnabledGCMarkHandles() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCMarkHandles
-//
-#define FireEtwGCMarkHandles(HeapNum, ClrInstanceID)\
- EventEnabledGCMarkHandles() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimeHandle, &GCMarkHandles, HeapNum, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCMarkOlderGenerationRoots
-//
-
-#define EventEnabledGCMarkOlderGenerationRoots() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCMarkOlderGenerationRoots
-//
-#define FireEtwGCMarkOlderGenerationRoots(HeapNum, ClrInstanceID)\
- EventEnabledGCMarkOlderGenerationRoots() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimeHandle, &GCMarkOlderGenerationRoots, HeapNum, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FinalizeObject
-//
-
-#define EventEnabledFinalizeObject() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for FinalizeObject
-//
-#define FireEtwFinalizeObject(TypeID, ObjectID, ClrInstanceID)\
- EventEnabledFinalizeObject() ?\
- CoTemplate_pph(Microsoft_Windows_DotNETRuntimeHandle, &FinalizeObject, TypeID, ObjectID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for SetGCHandle
-//
-
-#define EventEnabledSetGCHandle() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000080) != 0)
-
-//
-// Event Macro for SetGCHandle
-//
-#define FireEtwSetGCHandle(HandleID, ObjectID, Kind, Generation, AppDomainID, ClrInstanceID)\
- EventEnabledSetGCHandle() ?\
- CoTemplate_ppqqxh(Microsoft_Windows_DotNETRuntimeHandle, &SetGCHandle, HandleID, ObjectID, Kind, Generation, AppDomainID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DestroyGCHandle
-//
-
-#define EventEnabledDestroyGCHandle() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000080) != 0)
-
-//
-// Event Macro for DestroyGCHandle
-//
-#define FireEtwDestroyGCHandle(HandleID, ClrInstanceID)\
- EventEnabledDestroyGCHandle() ?\
- CoTemplate_ph(Microsoft_Windows_DotNETRuntimeHandle, &DestroyGCHandle, HandleID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCSampledObjectAllocationLow
-//
-
-#define EventEnabledGCSampledObjectAllocationLow() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000100) != 0)
-
-//
-// Event Macro for GCSampledObjectAllocationLow
-//
-#define FireEtwGCSampledObjectAllocationLow(Address, TypeID, ObjectCountForTypeSample, TotalSizeForTypeSample, ClrInstanceID)\
- EventEnabledGCSampledObjectAllocationLow() ?\
- CoTemplate_ppqxh(Microsoft_Windows_DotNETRuntimeHandle, &GCSampledObjectAllocationLow, Address, TypeID, ObjectCountForTypeSample, TotalSizeForTypeSample, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PinObjectAtGCTime
-//
-
-#define EventEnabledPinObjectAtGCTime() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for PinObjectAtGCTime
-//
-#define FireEtwPinObjectAtGCTime(HandleID, ObjectID, ObjectSize, TypeName, ClrInstanceID)\
- EventEnabledPinObjectAtGCTime() ?\
- CoTemplate_ppxzh(Microsoft_Windows_DotNETRuntimeHandle, &PinObjectAtGCTime, HandleID, ObjectID, ObjectSize, TypeName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCTriggered
-//
-
-#define EventEnabledGCTriggered() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCTriggered
-//
-#define FireEtwGCTriggered(Reason, ClrInstanceID)\
- EventEnabledGCTriggered() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimeHandle, &GCTriggered, Reason, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCBulkRootCCW
-//
-
-#define EventEnabledGCBulkRootCCW() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for GCBulkRootCCW
-//
-#define FireEtwGCBulkRootCCW(Count, ClrInstanceID, Values_Len_, Values)\
- EventEnabledGCBulkRootCCW() ?\
- CoTemplate_qhNR0(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkRootCCW, Count, ClrInstanceID, Values_Len_, Values)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCBulkRCW
-//
-
-#define EventEnabledGCBulkRCW() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for GCBulkRCW
-//
-#define FireEtwGCBulkRCW(Count, ClrInstanceID, Values_Len_, Values)\
- EventEnabledGCBulkRCW() ?\
- CoTemplate_qhNR0(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkRCW, Count, ClrInstanceID, Values_Len_, Values)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCBulkRootStaticVar
-//
-
-#define EventEnabledGCBulkRootStaticVar() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for GCBulkRootStaticVar
-//
-#define FireEtwGCBulkRootStaticVar(Count, AppDomainID, ClrInstanceID, Values_Len_, Values)\
- EventEnabledGCBulkRootStaticVar() ?\
- CoTemplate_qxhNR0(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkRootStaticVar, Count, AppDomainID, ClrInstanceID, Values_Len_, Values)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for WorkerThreadCreate
-//
-
-#define EventEnabledWorkerThreadCreate() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for WorkerThreadCreate
-//
-#define FireEtwWorkerThreadCreate(WorkerThreadCount, RetiredWorkerThreads)\
- EventEnabledWorkerThreadCreate() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimeHandle, &WorkerThreadCreate, WorkerThreadCount, RetiredWorkerThreads)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for WorkerThreadTerminate
-//
-
-#define EventEnabledWorkerThreadTerminate() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for WorkerThreadTerminate
-//
-#define FireEtwWorkerThreadTerminate(WorkerThreadCount, RetiredWorkerThreads)\
- EventEnabledWorkerThreadTerminate() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimeHandle, &WorkerThreadTerminate, WorkerThreadCount, RetiredWorkerThreads)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for WorkerThreadRetire
-//
-
-#define EventEnabledWorkerThreadRetire() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for WorkerThreadRetire
-//
-#define FireEtwWorkerThreadRetire(WorkerThreadCount, RetiredWorkerThreads)\
- EventEnabledWorkerThreadRetire() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimeHandle, &WorkerThreadRetire, WorkerThreadCount, RetiredWorkerThreads)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for WorkerThreadUnretire
-//
-
-#define EventEnabledWorkerThreadUnretire() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for WorkerThreadUnretire
-//
-#define FireEtwWorkerThreadUnretire(WorkerThreadCount, RetiredWorkerThreads)\
- EventEnabledWorkerThreadUnretire() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimeHandle, &WorkerThreadUnretire, WorkerThreadCount, RetiredWorkerThreads)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for IOThreadCreate
-//
-
-#define EventEnabledIOThreadCreate() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for IOThreadCreate
-//
-#define FireEtwIOThreadCreate(IOThreadCount, RetiredIOThreads)\
- EventEnabledIOThreadCreate() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimeHandle, &IOThreadCreate, IOThreadCount, RetiredIOThreads)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for IOThreadCreate_V1
-//
-
-#define EventEnabledIOThreadCreate_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for IOThreadCreate_V1
-//
-#define FireEtwIOThreadCreate_V1(IOThreadCount, RetiredIOThreads, ClrInstanceID)\
- EventEnabledIOThreadCreate_V1() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimeHandle, &IOThreadCreate_V1, IOThreadCount, RetiredIOThreads, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for IOThreadTerminate
-//
-
-#define EventEnabledIOThreadTerminate() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for IOThreadTerminate
-//
-#define FireEtwIOThreadTerminate(IOThreadCount, RetiredIOThreads)\
- EventEnabledIOThreadTerminate() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimeHandle, &IOThreadTerminate, IOThreadCount, RetiredIOThreads)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for IOThreadTerminate_V1
-//
-
-#define EventEnabledIOThreadTerminate_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for IOThreadTerminate_V1
-//
-#define FireEtwIOThreadTerminate_V1(IOThreadCount, RetiredIOThreads, ClrInstanceID)\
- EventEnabledIOThreadTerminate_V1() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimeHandle, &IOThreadTerminate_V1, IOThreadCount, RetiredIOThreads, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for IOThreadRetire
-//
-
-#define EventEnabledIOThreadRetire() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for IOThreadRetire
-//
-#define FireEtwIOThreadRetire(IOThreadCount, RetiredIOThreads)\
- EventEnabledIOThreadRetire() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimeHandle, &IOThreadRetire, IOThreadCount, RetiredIOThreads)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for IOThreadRetire_V1
-//
-
-#define EventEnabledIOThreadRetire_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for IOThreadRetire_V1
-//
-#define FireEtwIOThreadRetire_V1(IOThreadCount, RetiredIOThreads, ClrInstanceID)\
- EventEnabledIOThreadRetire_V1() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimeHandle, &IOThreadRetire_V1, IOThreadCount, RetiredIOThreads, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for IOThreadUnretire
-//
-
-#define EventEnabledIOThreadUnretire() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for IOThreadUnretire
-//
-#define FireEtwIOThreadUnretire(IOThreadCount, RetiredIOThreads)\
- EventEnabledIOThreadUnretire() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimeHandle, &IOThreadUnretire, IOThreadCount, RetiredIOThreads)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for IOThreadUnretire_V1
-//
-
-#define EventEnabledIOThreadUnretire_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for IOThreadUnretire_V1
-//
-#define FireEtwIOThreadUnretire_V1(IOThreadCount, RetiredIOThreads, ClrInstanceID)\
- EventEnabledIOThreadUnretire_V1() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimeHandle, &IOThreadUnretire_V1, IOThreadCount, RetiredIOThreads, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadpoolSuspensionSuspendThread
-//
-
-#define EventEnabledThreadpoolSuspensionSuspendThread() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for ThreadpoolSuspensionSuspendThread
-//
-#define FireEtwThreadpoolSuspensionSuspendThread(ClrThreadID, CpuUtilization)\
- EventEnabledThreadpoolSuspensionSuspendThread() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimeHandle, &ThreadpoolSuspensionSuspendThread, ClrThreadID, CpuUtilization)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadpoolSuspensionResumeThread
-//
-
-#define EventEnabledThreadpoolSuspensionResumeThread() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for ThreadpoolSuspensionResumeThread
-//
-#define FireEtwThreadpoolSuspensionResumeThread(ClrThreadID, CpuUtilization)\
- EventEnabledThreadpoolSuspensionResumeThread() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimeHandle, &ThreadpoolSuspensionResumeThread, ClrThreadID, CpuUtilization)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolWorkerThreadStart
-//
-
-#define EventEnabledThreadPoolWorkerThreadStart() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for ThreadPoolWorkerThreadStart
-//
-#define FireEtwThreadPoolWorkerThreadStart(ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID)\
- EventEnabledThreadPoolWorkerThreadStart() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolWorkerThreadStart, ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolWorkerThreadStop
-//
-
-#define EventEnabledThreadPoolWorkerThreadStop() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for ThreadPoolWorkerThreadStop
-//
-#define FireEtwThreadPoolWorkerThreadStop(ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID)\
- EventEnabledThreadPoolWorkerThreadStop() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolWorkerThreadStop, ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolWorkerThreadRetirementStart
-//
-
-#define EventEnabledThreadPoolWorkerThreadRetirementStart() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for ThreadPoolWorkerThreadRetirementStart
-//
-#define FireEtwThreadPoolWorkerThreadRetirementStart(ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID)\
- EventEnabledThreadPoolWorkerThreadRetirementStart() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolWorkerThreadRetirementStart, ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolWorkerThreadRetirementStop
-//
-
-#define EventEnabledThreadPoolWorkerThreadRetirementStop() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for ThreadPoolWorkerThreadRetirementStop
-//
-#define FireEtwThreadPoolWorkerThreadRetirementStop(ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID)\
- EventEnabledThreadPoolWorkerThreadRetirementStop() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolWorkerThreadRetirementStop, ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolWorkerThreadAdjustmentSample
-//
-
-#define EventEnabledThreadPoolWorkerThreadAdjustmentSample() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for ThreadPoolWorkerThreadAdjustmentSample
-//
-#define FireEtwThreadPoolWorkerThreadAdjustmentSample(Throughput, ClrInstanceID)\
- EventEnabledThreadPoolWorkerThreadAdjustmentSample() ?\
- CoTemplate_gh(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolWorkerThreadAdjustmentSample, Throughput, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolWorkerThreadAdjustmentAdjustment
-//
-
-#define EventEnabledThreadPoolWorkerThreadAdjustmentAdjustment() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for ThreadPoolWorkerThreadAdjustmentAdjustment
-//
-#define FireEtwThreadPoolWorkerThreadAdjustmentAdjustment(AverageThroughput, NewWorkerThreadCount, Reason, ClrInstanceID)\
- EventEnabledThreadPoolWorkerThreadAdjustmentAdjustment() ?\
- CoTemplate_gqqh(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolWorkerThreadAdjustmentAdjustment, AverageThroughput, NewWorkerThreadCount, Reason, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolWorkerThreadAdjustmentStats
-//
-
-#define EventEnabledThreadPoolWorkerThreadAdjustmentStats() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000400) != 0)
-
-//
-// Event Macro for ThreadPoolWorkerThreadAdjustmentStats
-//
-#define FireEtwThreadPoolWorkerThreadAdjustmentStats(Duration, Throughput, ThreadWave, ThroughputWave, ThroughputErrorEstimate, AverageThroughputErrorEstimate, ThroughputRatio, Confidence, NewControlSetting, NewThreadWaveMagnitude, ClrInstanceID)\
- EventEnabledThreadPoolWorkerThreadAdjustmentStats() ?\
- CoTemplate_ggggggggghh(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolWorkerThreadAdjustmentStats, Duration, Throughput, ThreadWave, ThroughputWave, ThroughputErrorEstimate, AverageThroughputErrorEstimate, ThroughputRatio, Confidence, NewControlSetting, NewThreadWaveMagnitude, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolWorkerThreadWait
-//
-
-#define EventEnabledThreadPoolWorkerThreadWait() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for ThreadPoolWorkerThreadWait
-//
-#define FireEtwThreadPoolWorkerThreadWait(ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID)\
- EventEnabledThreadPoolWorkerThreadWait() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolWorkerThreadWait, ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolWorkingThreadCount
-//
-
-#define EventEnabledThreadPoolWorkingThreadCount() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000400) != 0)
-
-//
-// Event Macro for ThreadPoolWorkingThreadCount
-//
-#define FireEtwThreadPoolWorkingThreadCount(Count, ClrInstanceID)\
- EventEnabledThreadPoolWorkingThreadCount() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolWorkingThreadCount, Count, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolEnqueue
-//
-
-#define EventEnabledThreadPoolEnqueue() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000800) != 0)
-
-//
-// Event Macro for ThreadPoolEnqueue
-//
-#define FireEtwThreadPoolEnqueue(WorkID, ClrInstanceID)\
- EventEnabledThreadPoolEnqueue() ?\
- CoTemplate_ph(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolEnqueue, WorkID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolDequeue
-//
-
-#define EventEnabledThreadPoolDequeue() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000800) != 0)
-
-//
-// Event Macro for ThreadPoolDequeue
-//
-#define FireEtwThreadPoolDequeue(WorkID, ClrInstanceID)\
- EventEnabledThreadPoolDequeue() ?\
- CoTemplate_ph(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolDequeue, WorkID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolIOEnqueue
-//
-
-#define EventEnabledThreadPoolIOEnqueue() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000800) != 0)
-
-//
-// Event Macro for ThreadPoolIOEnqueue
-//
-#define FireEtwThreadPoolIOEnqueue(NativeOverlapped, Overlapped, MultiDequeues, ClrInstanceID)\
- EventEnabledThreadPoolIOEnqueue() ?\
- CoTemplate_ppth(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolIOEnqueue, NativeOverlapped, Overlapped, MultiDequeues, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolIODequeue
-//
-
-#define EventEnabledThreadPoolIODequeue() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000800) != 0)
-
-//
-// Event Macro for ThreadPoolIODequeue
-//
-#define FireEtwThreadPoolIODequeue(NativeOverlapped, Overlapped, ClrInstanceID)\
- EventEnabledThreadPoolIODequeue() ?\
- CoTemplate_pph(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolIODequeue, NativeOverlapped, Overlapped, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadPoolIOPack
-//
-
-#define EventEnabledThreadPoolIOPack() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000400) != 0)
-
-//
-// Event Macro for ThreadPoolIOPack
-//
-#define FireEtwThreadPoolIOPack(NativeOverlapped, Overlapped, ClrInstanceID)\
- EventEnabledThreadPoolIOPack() ?\
- CoTemplate_pph(Microsoft_Windows_DotNETRuntimeHandle, &ThreadPoolIOPack, NativeOverlapped, Overlapped, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadCreating
-//
-
-#define EventEnabledThreadCreating() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00001000) != 0)
-
-//
-// Event Macro for ThreadCreating
-//
-#define FireEtwThreadCreating(ID, ClrInstanceID)\
- EventEnabledThreadCreating() ?\
- CoTemplate_ph(Microsoft_Windows_DotNETRuntimeHandle, &ThreadCreating, ID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadRunning
-//
-
-#define EventEnabledThreadRunning() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00001000) != 0)
-
-//
-// Event Macro for ThreadRunning
-//
-#define FireEtwThreadRunning(ID, ClrInstanceID)\
- EventEnabledThreadRunning() ?\
- CoTemplate_ph(Microsoft_Windows_DotNETRuntimeHandle, &ThreadRunning, ID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExceptionThrown
-//
-
-#define EventEnabledExceptionThrown() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for ExceptionThrown
-//
-#define FireEtwExceptionThrown()\
- EventEnabledExceptionThrown() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &ExceptionThrown)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExceptionThrown_V1
-//
-
-#define EventEnabledExceptionThrown_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00004000) != 0)
-
-//
-// Event Macro for ExceptionThrown_V1
-//
-#define FireEtwExceptionThrown_V1(ExceptionType, ExceptionMessage, ExceptionEIP, ExceptionHRESULT, ExceptionFlags, ClrInstanceID)\
- EventEnabledExceptionThrown_V1() ?\
- CoTemplate_zzpqhh(Microsoft_Windows_DotNETRuntimeHandle, &ExceptionThrown_V1, ExceptionType, ExceptionMessage, ExceptionEIP, ExceptionHRESULT, ExceptionFlags, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExceptionCatchStart
-//
-
-#define EventEnabledExceptionCatchStart() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00008000) != 0)
-
-//
-// Event Macro for ExceptionCatchStart
-//
-#define FireEtwExceptionCatchStart(EntryEIP, MethodID, MethodName, ClrInstanceID)\
- EventEnabledExceptionCatchStart() ?\
- CoTemplate_xxzh(Microsoft_Windows_DotNETRuntimeHandle, &ExceptionCatchStart, EntryEIP, MethodID, MethodName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExceptionCatchStop
-//
-
-#define EventEnabledExceptionCatchStop() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00008000) != 0)
-
-//
-// Event Macro for ExceptionCatchStop
-//
-#define FireEtwExceptionCatchStop()\
- EventEnabledExceptionCatchStop() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &ExceptionCatchStop)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExceptionFinallyStart
-//
-
-#define EventEnabledExceptionFinallyStart() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00008000) != 0)
-
-//
-// Event Macro for ExceptionFinallyStart
-//
-#define FireEtwExceptionFinallyStart(EntryEIP, MethodID, MethodName, ClrInstanceID)\
- EventEnabledExceptionFinallyStart() ?\
- CoTemplate_xxzh(Microsoft_Windows_DotNETRuntimeHandle, &ExceptionFinallyStart, EntryEIP, MethodID, MethodName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExceptionFinallyStop
-//
-
-#define EventEnabledExceptionFinallyStop() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00008000) != 0)
-
-//
-// Event Macro for ExceptionFinallyStop
-//
-#define FireEtwExceptionFinallyStop()\
- EventEnabledExceptionFinallyStop() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &ExceptionFinallyStop)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExceptionFilterStart
-//
-
-#define EventEnabledExceptionFilterStart() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00008000) != 0)
-
-//
-// Event Macro for ExceptionFilterStart
-//
-#define FireEtwExceptionFilterStart(EntryEIP, MethodID, MethodName, ClrInstanceID)\
- EventEnabledExceptionFilterStart() ?\
- CoTemplate_xxzh(Microsoft_Windows_DotNETRuntimeHandle, &ExceptionFilterStart, EntryEIP, MethodID, MethodName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExceptionFilterStop
-//
-
-#define EventEnabledExceptionFilterStop() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00008000) != 0)
-
-//
-// Event Macro for ExceptionFilterStop
-//
-#define FireEtwExceptionFilterStop()\
- EventEnabledExceptionFilterStop() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &ExceptionFilterStop)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExceptionThrownStop
-//
-
-#define EventEnabledExceptionThrownStop() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00008000) != 0)
-
-//
-// Event Macro for ExceptionThrownStop
-//
-#define FireEtwExceptionThrownStop()\
- EventEnabledExceptionThrownStop() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &ExceptionThrownStop)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for Contention
-//
-
-#define EventEnabledContention() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for Contention
-//
-#define FireEtwContention()\
- EventEnabledContention() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &Contention)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ContentionStart_V1
-//
-
-#define EventEnabledContentionStart_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00010000) != 0)
-
-//
-// Event Macro for ContentionStart_V1
-//
-#define FireEtwContentionStart_V1(ContentionFlags, ClrInstanceID)\
- EventEnabledContentionStart_V1() ?\
- CoTemplate_ch(Microsoft_Windows_DotNETRuntimeHandle, &ContentionStart_V1, ContentionFlags, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ContentionStop
-//
-
-#define EventEnabledContentionStop() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00010000) != 0)
-
-//
-// Event Macro for ContentionStop
-//
-#define FireEtwContentionStop(ContentionFlags, ClrInstanceID)\
- EventEnabledContentionStop() ?\
- CoTemplate_ch(Microsoft_Windows_DotNETRuntimeHandle, &ContentionStop, ContentionFlags, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for CLRStackWalk
-//
-
-#define EventEnabledCLRStackWalk() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00020000) != 0)
-
-//
-// Event Macro for CLRStackWalk
-//
-#define FireEtwCLRStackWalk(ClrInstanceID, Reserved1, Reserved2, FrameCount, Stack)\
- EventEnabledCLRStackWalk() ?\
- CoTemplate_hccqP2(Microsoft_Windows_DotNETRuntimeHandle, &CLRStackWalk, ClrInstanceID, Reserved1, Reserved2, FrameCount, Stack)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AppDomainMemAllocated
-//
-
-#define EventEnabledAppDomainMemAllocated() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00040000) != 0)
-
-//
-// Event Macro for AppDomainMemAllocated
-//
-#define FireEtwAppDomainMemAllocated(AppDomainID, Allocated, ClrInstanceID)\
- EventEnabledAppDomainMemAllocated() ?\
- CoTemplate_xxh(Microsoft_Windows_DotNETRuntimeHandle, &AppDomainMemAllocated, AppDomainID, Allocated, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AppDomainMemSurvived
-//
-
-#define EventEnabledAppDomainMemSurvived() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00040000) != 0)
-
-//
-// Event Macro for AppDomainMemSurvived
-//
-#define FireEtwAppDomainMemSurvived(AppDomainID, Survived, ProcessSurvived, ClrInstanceID)\
- EventEnabledAppDomainMemSurvived() ?\
- CoTemplate_xxxh(Microsoft_Windows_DotNETRuntimeHandle, &AppDomainMemSurvived, AppDomainID, Survived, ProcessSurvived, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadCreated
-//
-
-#define EventEnabledThreadCreated() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00080000) != 0)
-
-//
-// Event Macro for ThreadCreated
-//
-#define FireEtwThreadCreated(ManagedThreadID, AppDomainID, Flags, ManagedThreadIndex, OSThreadID, ClrInstanceID)\
- EventEnabledThreadCreated() ?\
- CoTemplate_xxqqqh(Microsoft_Windows_DotNETRuntimeHandle, &ThreadCreated, ManagedThreadID, AppDomainID, Flags, ManagedThreadIndex, OSThreadID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadTerminated
-//
-
-#define EventEnabledThreadTerminated() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00080000) != 0)
-
-//
-// Event Macro for ThreadTerminated
-//
-#define FireEtwThreadTerminated(ManagedThreadID, AppDomainID, ClrInstanceID)\
- EventEnabledThreadTerminated() ?\
- CoTemplate_xxh(Microsoft_Windows_DotNETRuntimeHandle, &ThreadTerminated, ManagedThreadID, AppDomainID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadDomainEnter
-//
-
-#define EventEnabledThreadDomainEnter() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00080000) != 0)
-
-//
-// Event Macro for ThreadDomainEnter
-//
-#define FireEtwThreadDomainEnter(ManagedThreadID, AppDomainID, ClrInstanceID)\
- EventEnabledThreadDomainEnter() ?\
- CoTemplate_xxh(Microsoft_Windows_DotNETRuntimeHandle, &ThreadDomainEnter, ManagedThreadID, AppDomainID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ILStubGenerated
-//
-
-#define EventEnabledILStubGenerated() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00100000) != 0)
-
-//
-// Event Macro for ILStubGenerated
-//
-#define FireEtwILStubGenerated(ClrInstanceID, ModuleID, StubMethodID, StubFlags, ManagedInteropMethodToken, ManagedInteropMethodNamespace, ManagedInteropMethodName, ManagedInteropMethodSignature, NativeMethodSignature, StubMethodSignature, StubMethodILCode)\
- EventEnabledILStubGenerated() ?\
- CoTemplate_hxxqqzzzzzz(Microsoft_Windows_DotNETRuntimeHandle, &ILStubGenerated, ClrInstanceID, ModuleID, StubMethodID, StubFlags, ManagedInteropMethodToken, ManagedInteropMethodNamespace, ManagedInteropMethodName, ManagedInteropMethodSignature, NativeMethodSignature, StubMethodSignature, StubMethodILCode)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ILStubCacheHit
-//
-
-#define EventEnabledILStubCacheHit() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00100000) != 0)
-
-//
-// Event Macro for ILStubCacheHit
-//
-#define FireEtwILStubCacheHit(ClrInstanceID, ModuleID, StubMethodID, ManagedInteropMethodToken, ManagedInteropMethodNamespace, ManagedInteropMethodName, ManagedInteropMethodSignature)\
- EventEnabledILStubCacheHit() ?\
- CoTemplate_hxxqzzz(Microsoft_Windows_DotNETRuntimeHandle, &ILStubCacheHit, ClrInstanceID, ModuleID, StubMethodID, ManagedInteropMethodToken, ManagedInteropMethodNamespace, ManagedInteropMethodName, ManagedInteropMethodSignature)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DCStartCompleteV2
-//
-
-#define EventEnabledDCStartCompleteV2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for DCStartCompleteV2
-//
-#define FireEtwDCStartCompleteV2()\
- EventEnabledDCStartCompleteV2() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &DCStartCompleteV2)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DCEndCompleteV2
-//
-
-#define EventEnabledDCEndCompleteV2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for DCEndCompleteV2
-//
-#define FireEtwDCEndCompleteV2()\
- EventEnabledDCEndCompleteV2() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &DCEndCompleteV2)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCStartV2
-//
-
-#define EventEnabledMethodDCStartV2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodDCStartV2
-//
-#define FireEtwMethodDCStartV2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags)\
- EventEnabledMethodDCStartV2() ?\
- CoTemplate_xxxqqq(Microsoft_Windows_DotNETRuntimeHandle, &MethodDCStartV2, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCEndV2
-//
-
-#define EventEnabledMethodDCEndV2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodDCEndV2
-//
-#define FireEtwMethodDCEndV2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags)\
- EventEnabledMethodDCEndV2() ?\
- CoTemplate_xxxqqq(Microsoft_Windows_DotNETRuntimeHandle, &MethodDCEndV2, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCStartVerboseV2
-//
-
-#define EventEnabledMethodDCStartVerboseV2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodDCStartVerboseV2
-//
-#define FireEtwMethodDCStartVerboseV2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature)\
- EventEnabledMethodDCStartVerboseV2() ?\
- CoTemplate_xxxqqqzzz(Microsoft_Windows_DotNETRuntimeHandle, &MethodDCStartVerboseV2, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCEndVerboseV2
-//
-
-#define EventEnabledMethodDCEndVerboseV2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodDCEndVerboseV2
-//
-#define FireEtwMethodDCEndVerboseV2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature)\
- EventEnabledMethodDCEndVerboseV2() ?\
- CoTemplate_xxxqqqzzz(Microsoft_Windows_DotNETRuntimeHandle, &MethodDCEndVerboseV2, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodLoad
-//
-
-#define EventEnabledMethodLoad() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodLoad
-//
-#define FireEtwMethodLoad(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags)\
- EventEnabledMethodLoad() ?\
- CoTemplate_xxxqqq(Microsoft_Windows_DotNETRuntimeHandle, &MethodLoad, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodLoad_V1
-//
-
-#define EventEnabledMethodLoad_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodLoad_V1
-//
-#define FireEtwMethodLoad_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID)\
- EventEnabledMethodLoad_V1() ?\
- CoTemplate_xxxqqqh(Microsoft_Windows_DotNETRuntimeHandle, &MethodLoad_V1, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodLoad_V2
-//
-
-#define EventEnabledMethodLoad_V2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodLoad_V2
-//
-#define FireEtwMethodLoad_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID, ReJITID)\
- EventEnabledMethodLoad_V2() ?\
- CoTemplate_xxxqqqhx(Microsoft_Windows_DotNETRuntimeHandle, &MethodLoad_V2, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID, ReJITID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodUnload
-//
-
-#define EventEnabledMethodUnload() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodUnload
-//
-#define FireEtwMethodUnload(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags)\
- EventEnabledMethodUnload() ?\
- CoTemplate_xxxqqq(Microsoft_Windows_DotNETRuntimeHandle, &MethodUnload, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodUnload_V1
-//
-
-#define EventEnabledMethodUnload_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodUnload_V1
-//
-#define FireEtwMethodUnload_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID)\
- EventEnabledMethodUnload_V1() ?\
- CoTemplate_xxxqqqh(Microsoft_Windows_DotNETRuntimeHandle, &MethodUnload_V1, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodUnload_V2
-//
-
-#define EventEnabledMethodUnload_V2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodUnload_V2
-//
-#define FireEtwMethodUnload_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID, ReJITID)\
- EventEnabledMethodUnload_V2() ?\
- CoTemplate_xxxqqqhx(Microsoft_Windows_DotNETRuntimeHandle, &MethodUnload_V2, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID, ReJITID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodLoadVerbose
-//
-
-#define EventEnabledMethodLoadVerbose() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodLoadVerbose
-//
-#define FireEtwMethodLoadVerbose(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature)\
- EventEnabledMethodLoadVerbose() ?\
- CoTemplate_xxxqqqzzz(Microsoft_Windows_DotNETRuntimeHandle, &MethodLoadVerbose, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodLoadVerbose_V1
-//
-
-#define EventEnabledMethodLoadVerbose_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodLoadVerbose_V1
-//
-#define FireEtwMethodLoadVerbose_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID)\
- EventEnabledMethodLoadVerbose_V1() ?\
- CoTemplate_xxxqqqzzzh(Microsoft_Windows_DotNETRuntimeHandle, &MethodLoadVerbose_V1, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodLoadVerbose_V2
-//
-
-#define EventEnabledMethodLoadVerbose_V2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodLoadVerbose_V2
-//
-#define FireEtwMethodLoadVerbose_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID, ReJITID)\
- EventEnabledMethodLoadVerbose_V2() ?\
- CoTemplate_xxxqqqzzzhx(Microsoft_Windows_DotNETRuntimeHandle, &MethodLoadVerbose_V2, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID, ReJITID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodUnloadVerbose
-//
-
-#define EventEnabledMethodUnloadVerbose() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodUnloadVerbose
-//
-#define FireEtwMethodUnloadVerbose(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature)\
- EventEnabledMethodUnloadVerbose() ?\
- CoTemplate_xxxqqqzzz(Microsoft_Windows_DotNETRuntimeHandle, &MethodUnloadVerbose, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodUnloadVerbose_V1
-//
-
-#define EventEnabledMethodUnloadVerbose_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodUnloadVerbose_V1
-//
-#define FireEtwMethodUnloadVerbose_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID)\
- EventEnabledMethodUnloadVerbose_V1() ?\
- CoTemplate_xxxqqqzzzh(Microsoft_Windows_DotNETRuntimeHandle, &MethodUnloadVerbose_V1, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodUnloadVerbose_V2
-//
-
-#define EventEnabledMethodUnloadVerbose_V2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00200000) != 0)
-
-//
-// Event Macro for MethodUnloadVerbose_V2
-//
-#define FireEtwMethodUnloadVerbose_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID, ReJITID)\
- EventEnabledMethodUnloadVerbose_V2() ?\
- CoTemplate_xxxqqqzzzhx(Microsoft_Windows_DotNETRuntimeHandle, &MethodUnloadVerbose_V2, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID, ReJITID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodJittingStarted
-//
-
-#define EventEnabledMethodJittingStarted() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00400000) != 0)
-
-//
-// Event Macro for MethodJittingStarted
-//
-#define FireEtwMethodJittingStarted(MethodID, ModuleID, MethodToken, MethodILSize, MethodNamespace, MethodName, MethodSignature)\
- EventEnabledMethodJittingStarted() ?\
- CoTemplate_xxqqzzz(Microsoft_Windows_DotNETRuntimeHandle, &MethodJittingStarted, MethodID, ModuleID, MethodToken, MethodILSize, MethodNamespace, MethodName, MethodSignature)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodJittingStarted_V1
-//
-
-#define EventEnabledMethodJittingStarted_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00400000) != 0)
-
-//
-// Event Macro for MethodJittingStarted_V1
-//
-#define FireEtwMethodJittingStarted_V1(MethodID, ModuleID, MethodToken, MethodILSize, MethodNamespace, MethodName, MethodSignature, ClrInstanceID)\
- EventEnabledMethodJittingStarted_V1() ?\
- CoTemplate_xxqqzzzh(Microsoft_Windows_DotNETRuntimeHandle, &MethodJittingStarted_V1, MethodID, ModuleID, MethodToken, MethodILSize, MethodNamespace, MethodName, MethodSignature, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodJitInliningSucceeded
-//
-
-#define EventEnabledMethodJitInliningSucceeded() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00800000) != 0)
-
-//
-// Event Macro for MethodJitInliningSucceeded
-//
-#define FireEtwMethodJitInliningSucceeded(MethodBeingCompiledNamespace, MethodBeingCompiledName, MethodBeingCompiledNameSignature, InlinerNamespace, InlinerName, InlinerNameSignature, InlineeNamespace, InlineeName, InlineeNameSignature, ClrInstanceID)\
- EventEnabledMethodJitInliningSucceeded() ?\
- CoTemplate_zzzzzzzzzh(Microsoft_Windows_DotNETRuntimeHandle, &MethodJitInliningSucceeded, MethodBeingCompiledNamespace, MethodBeingCompiledName, MethodBeingCompiledNameSignature, InlinerNamespace, InlinerName, InlinerNameSignature, InlineeNamespace, InlineeName, InlineeNameSignature, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodJitInliningFailed
-//
-
-#define EventEnabledMethodJitInliningFailed() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00800000) != 0)
-
-//
-// Event Macro for MethodJitInliningFailed
-//
-#define FireEtwMethodJitInliningFailed(MethodBeingCompiledNamespace, MethodBeingCompiledName, MethodBeingCompiledNameSignature, InlinerNamespace, InlinerName, InlinerNameSignature, InlineeNamespace, InlineeName, InlineeNameSignature, FailAlways, FailReason, ClrInstanceID)\
- EventEnabledMethodJitInliningFailed() ?\
- CoTemplate_zzzzzzzzztsh(Microsoft_Windows_DotNETRuntimeHandle, &MethodJitInliningFailed, MethodBeingCompiledNamespace, MethodBeingCompiledName, MethodBeingCompiledNameSignature, InlinerNamespace, InlinerName, InlinerNameSignature, InlineeNamespace, InlineeName, InlineeNameSignature, FailAlways, FailReason, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodJitTailCallSucceeded
-//
-
-#define EventEnabledMethodJitTailCallSucceeded() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00800000) != 0)
-
-//
-// Event Macro for MethodJitTailCallSucceeded
-//
-#define FireEtwMethodJitTailCallSucceeded(MethodBeingCompiledNamespace, MethodBeingCompiledName, MethodBeingCompiledNameSignature, CallerNamespace, CallerName, CallerNameSignature, CalleeNamespace, CalleeName, CalleeNameSignature, TailPrefix, TailCallType, ClrInstanceID)\
- EventEnabledMethodJitTailCallSucceeded() ?\
- CoTemplate_zzzzzzzzztqh(Microsoft_Windows_DotNETRuntimeHandle, &MethodJitTailCallSucceeded, MethodBeingCompiledNamespace, MethodBeingCompiledName, MethodBeingCompiledNameSignature, CallerNamespace, CallerName, CallerNameSignature, CalleeNamespace, CalleeName, CalleeNameSignature, TailPrefix, TailCallType, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodJitTailCallFailed
-//
-
-#define EventEnabledMethodJitTailCallFailed() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00800000) != 0)
-
-//
-// Event Macro for MethodJitTailCallFailed
-//
-#define FireEtwMethodJitTailCallFailed(MethodBeingCompiledNamespace, MethodBeingCompiledName, MethodBeingCompiledNameSignature, CallerNamespace, CallerName, CallerNameSignature, CalleeNamespace, CalleeName, CalleeNameSignature, TailPrefix, FailReason, ClrInstanceID)\
- EventEnabledMethodJitTailCallFailed() ?\
- CoTemplate_zzzzzzzzztsh(Microsoft_Windows_DotNETRuntimeHandle, &MethodJitTailCallFailed, MethodBeingCompiledNamespace, MethodBeingCompiledName, MethodBeingCompiledNameSignature, CallerNamespace, CallerName, CallerNameSignature, CalleeNamespace, CalleeName, CalleeNameSignature, TailPrefix, FailReason, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodILToNativeMap
-//
-
-#define EventEnabledMethodILToNativeMap() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x01000000) != 0)
-
-//
-// Event Macro for MethodILToNativeMap
-//
-#define FireEtwMethodILToNativeMap(MethodID, ReJITID, MethodExtent, CountOfMapEntries, ILOffsets, NativeOffsets, ClrInstanceID)\
- EventEnabledMethodILToNativeMap() ?\
- CoTemplate_xxchQR3QR3h(Microsoft_Windows_DotNETRuntimeHandle, &MethodILToNativeMap, MethodID, ReJITID, MethodExtent, CountOfMapEntries, ILOffsets, NativeOffsets, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleDCStartV2
-//
-
-#define EventEnabledModuleDCStartV2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for ModuleDCStartV2
-//
-#define FireEtwModuleDCStartV2(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- EventEnabledModuleDCStartV2() ?\
- CoTemplate_xxqqzz(Microsoft_Windows_DotNETRuntimeHandle, &ModuleDCStartV2, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleDCEndV2
-//
-
-#define EventEnabledModuleDCEndV2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for ModuleDCEndV2
-//
-#define FireEtwModuleDCEndV2(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- EventEnabledModuleDCEndV2() ?\
- CoTemplate_xxqqzz(Microsoft_Windows_DotNETRuntimeHandle, &ModuleDCEndV2, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DomainModuleLoad
-//
-
-#define EventEnabledDomainModuleLoad() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for DomainModuleLoad
-//
-#define FireEtwDomainModuleLoad(ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- EventEnabledDomainModuleLoad() ?\
- CoTemplate_xxxqqzz(Microsoft_Windows_DotNETRuntimeHandle, &DomainModuleLoad, ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DomainModuleLoad_V1
-//
-
-#define EventEnabledDomainModuleLoad_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for DomainModuleLoad_V1
-//
-#define FireEtwDomainModuleLoad_V1(ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- EventEnabledDomainModuleLoad_V1() ?\
- CoTemplate_xxxqqzzh(Microsoft_Windows_DotNETRuntimeHandle, &DomainModuleLoad_V1, ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleLoad
-//
-
-#define EventEnabledModuleLoad() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for ModuleLoad
-//
-#define FireEtwModuleLoad(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- EventEnabledModuleLoad() ?\
- CoTemplate_xxqqzz(Microsoft_Windows_DotNETRuntimeHandle, &ModuleLoad, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleLoad_V1
-//
-
-#define EventEnabledModuleLoad_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x04000000) != 0)
-
-//
-// Event Macro for ModuleLoad_V1
-//
-#define FireEtwModuleLoad_V1(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- EventEnabledModuleLoad_V1() ?\
- CoTemplate_xxqqzzh(Microsoft_Windows_DotNETRuntimeHandle, &ModuleLoad_V1, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleLoad_V2
-//
-
-#define EventEnabledModuleLoad_V2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x04000000) != 0)
-
-//
-// Event Macro for ModuleLoad_V2
-//
-#define FireEtwModuleLoad_V2(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID, ManagedPdbSignature, ManagedPdbAge, ManagedPdbBuildPath, NativePdbSignature, NativePdbAge, NativePdbBuildPath)\
- EventEnabledModuleLoad_V2() ?\
- CoTemplate_xxqqzzhjqzjqz(Microsoft_Windows_DotNETRuntimeHandle, &ModuleLoad_V2, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID, ManagedPdbSignature, ManagedPdbAge, ManagedPdbBuildPath, NativePdbSignature, NativePdbAge, NativePdbBuildPath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleUnload
-//
-
-#define EventEnabledModuleUnload() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for ModuleUnload
-//
-#define FireEtwModuleUnload(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- EventEnabledModuleUnload() ?\
- CoTemplate_xxqqzz(Microsoft_Windows_DotNETRuntimeHandle, &ModuleUnload, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleUnload_V1
-//
-
-#define EventEnabledModuleUnload_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x04000000) != 0)
-
-//
-// Event Macro for ModuleUnload_V1
-//
-#define FireEtwModuleUnload_V1(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- EventEnabledModuleUnload_V1() ?\
- CoTemplate_xxqqzzh(Microsoft_Windows_DotNETRuntimeHandle, &ModuleUnload_V1, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleUnload_V2
-//
-
-#define EventEnabledModuleUnload_V2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x04000000) != 0)
-
-//
-// Event Macro for ModuleUnload_V2
-//
-#define FireEtwModuleUnload_V2(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID, ManagedPdbSignature, ManagedPdbAge, ManagedPdbBuildPath, NativePdbSignature, NativePdbAge, NativePdbBuildPath)\
- EventEnabledModuleUnload_V2() ?\
- CoTemplate_xxqqzzhjqzjqz(Microsoft_Windows_DotNETRuntimeHandle, &ModuleUnload_V2, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID, ManagedPdbSignature, ManagedPdbAge, ManagedPdbBuildPath, NativePdbSignature, NativePdbAge, NativePdbBuildPath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AssemblyLoad
-//
-
-#define EventEnabledAssemblyLoad() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for AssemblyLoad
-//
-#define FireEtwAssemblyLoad(AssemblyID, AppDomainID, AssemblyFlags, FullyQualifiedAssemblyName)\
- EventEnabledAssemblyLoad() ?\
- CoTemplate_xxqz(Microsoft_Windows_DotNETRuntimeHandle, &AssemblyLoad, AssemblyID, AppDomainID, AssemblyFlags, FullyQualifiedAssemblyName)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AssemblyLoad_V1
-//
-
-#define EventEnabledAssemblyLoad_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for AssemblyLoad_V1
-//
-#define FireEtwAssemblyLoad_V1(AssemblyID, AppDomainID, BindingID, AssemblyFlags, FullyQualifiedAssemblyName, ClrInstanceID)\
- EventEnabledAssemblyLoad_V1() ?\
- CoTemplate_xxxqzh(Microsoft_Windows_DotNETRuntimeHandle, &AssemblyLoad_V1, AssemblyID, AppDomainID, BindingID, AssemblyFlags, FullyQualifiedAssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AssemblyUnload
-//
-
-#define EventEnabledAssemblyUnload() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for AssemblyUnload
-//
-#define FireEtwAssemblyUnload(AssemblyID, AppDomainID, AssemblyFlags, FullyQualifiedAssemblyName)\
- EventEnabledAssemblyUnload() ?\
- CoTemplate_xxqz(Microsoft_Windows_DotNETRuntimeHandle, &AssemblyUnload, AssemblyID, AppDomainID, AssemblyFlags, FullyQualifiedAssemblyName)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AssemblyUnload_V1
-//
-
-#define EventEnabledAssemblyUnload_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for AssemblyUnload_V1
-//
-#define FireEtwAssemblyUnload_V1(AssemblyID, AppDomainID, BindingID, AssemblyFlags, FullyQualifiedAssemblyName, ClrInstanceID)\
- EventEnabledAssemblyUnload_V1() ?\
- CoTemplate_xxxqzh(Microsoft_Windows_DotNETRuntimeHandle, &AssemblyUnload_V1, AssemblyID, AppDomainID, BindingID, AssemblyFlags, FullyQualifiedAssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AppDomainLoad
-//
-
-#define EventEnabledAppDomainLoad() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for AppDomainLoad
-//
-#define FireEtwAppDomainLoad(AppDomainID, AppDomainFlags, AppDomainName)\
- EventEnabledAppDomainLoad() ?\
- CoTemplate_xqz(Microsoft_Windows_DotNETRuntimeHandle, &AppDomainLoad, AppDomainID, AppDomainFlags, AppDomainName)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AppDomainLoad_V1
-//
-
-#define EventEnabledAppDomainLoad_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for AppDomainLoad_V1
-//
-#define FireEtwAppDomainLoad_V1(AppDomainID, AppDomainFlags, AppDomainName, AppDomainIndex, ClrInstanceID)\
- EventEnabledAppDomainLoad_V1() ?\
- CoTemplate_xqzqh(Microsoft_Windows_DotNETRuntimeHandle, &AppDomainLoad_V1, AppDomainID, AppDomainFlags, AppDomainName, AppDomainIndex, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AppDomainUnload
-//
-
-#define EventEnabledAppDomainUnload() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for AppDomainUnload
-//
-#define FireEtwAppDomainUnload(AppDomainID, AppDomainFlags, AppDomainName)\
- EventEnabledAppDomainUnload() ?\
- CoTemplate_xqz(Microsoft_Windows_DotNETRuntimeHandle, &AppDomainUnload, AppDomainID, AppDomainFlags, AppDomainName)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AppDomainUnload_V1
-//
-
-#define EventEnabledAppDomainUnload_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x02000000) != 0)
-
-//
-// Event Macro for AppDomainUnload_V1
-//
-#define FireEtwAppDomainUnload_V1(AppDomainID, AppDomainFlags, AppDomainName, AppDomainIndex, ClrInstanceID)\
- EventEnabledAppDomainUnload_V1() ?\
- CoTemplate_xqzqh(Microsoft_Windows_DotNETRuntimeHandle, &AppDomainUnload_V1, AppDomainID, AppDomainFlags, AppDomainName, AppDomainIndex, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleRangeLoad
-//
-
-#define EventEnabledModuleRangeLoad() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x08000000) != 0)
-
-//
-// Event Macro for ModuleRangeLoad
-//
-#define FireEtwModuleRangeLoad(ClrInstanceID, ModuleID, RangeBegin, RangeSize, RangeType)\
- EventEnabledModuleRangeLoad() ?\
- CoTemplate_hxqqc(Microsoft_Windows_DotNETRuntimeHandle, &ModuleRangeLoad, ClrInstanceID, ModuleID, RangeBegin, RangeSize, RangeType)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for StrongNameVerificationStart
-//
-
-#define EventEnabledStrongNameVerificationStart() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x10000000) != 0)
-
-//
-// Event Macro for StrongNameVerificationStart
-//
-#define FireEtwStrongNameVerificationStart(VerificationFlags, ErrorCode, FullyQualifiedAssemblyName)\
- EventEnabledStrongNameVerificationStart() ?\
- CoTemplate_qqz(Microsoft_Windows_DotNETRuntimeHandle, &StrongNameVerificationStart, VerificationFlags, ErrorCode, FullyQualifiedAssemblyName)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for StrongNameVerificationStart_V1
-//
-
-#define EventEnabledStrongNameVerificationStart_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x10000000) != 0)
-
-//
-// Event Macro for StrongNameVerificationStart_V1
-//
-#define FireEtwStrongNameVerificationStart_V1(VerificationFlags, ErrorCode, FullyQualifiedAssemblyName, ClrInstanceID)\
- EventEnabledStrongNameVerificationStart_V1() ?\
- CoTemplate_qqzh(Microsoft_Windows_DotNETRuntimeHandle, &StrongNameVerificationStart_V1, VerificationFlags, ErrorCode, FullyQualifiedAssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for StrongNameVerificationStop
-//
-
-#define EventEnabledStrongNameVerificationStop() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x20000000) != 0)
-
-//
-// Event Macro for StrongNameVerificationStop
-//
-#define FireEtwStrongNameVerificationStop(VerificationFlags, ErrorCode, FullyQualifiedAssemblyName)\
- EventEnabledStrongNameVerificationStop() ?\
- CoTemplate_qqz(Microsoft_Windows_DotNETRuntimeHandle, &StrongNameVerificationStop, VerificationFlags, ErrorCode, FullyQualifiedAssemblyName)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for StrongNameVerificationStop_V1
-//
-
-#define EventEnabledStrongNameVerificationStop_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x20000000) != 0)
-
-//
-// Event Macro for StrongNameVerificationStop_V1
-//
-#define FireEtwStrongNameVerificationStop_V1(VerificationFlags, ErrorCode, FullyQualifiedAssemblyName, ClrInstanceID)\
- EventEnabledStrongNameVerificationStop_V1() ?\
- CoTemplate_qqzh(Microsoft_Windows_DotNETRuntimeHandle, &StrongNameVerificationStop_V1, VerificationFlags, ErrorCode, FullyQualifiedAssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AuthenticodeVerificationStart
-//
-
-#define EventEnabledAuthenticodeVerificationStart() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x10000000) != 0)
-
-//
-// Event Macro for AuthenticodeVerificationStart
-//
-#define FireEtwAuthenticodeVerificationStart(VerificationFlags, ErrorCode, ModulePath)\
- EventEnabledAuthenticodeVerificationStart() ?\
- CoTemplate_qqz(Microsoft_Windows_DotNETRuntimeHandle, &AuthenticodeVerificationStart, VerificationFlags, ErrorCode, ModulePath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AuthenticodeVerificationStart_V1
-//
-
-#define EventEnabledAuthenticodeVerificationStart_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x10000000) != 0)
-
-//
-// Event Macro for AuthenticodeVerificationStart_V1
-//
-#define FireEtwAuthenticodeVerificationStart_V1(VerificationFlags, ErrorCode, ModulePath, ClrInstanceID)\
- EventEnabledAuthenticodeVerificationStart_V1() ?\
- CoTemplate_qqzh(Microsoft_Windows_DotNETRuntimeHandle, &AuthenticodeVerificationStart_V1, VerificationFlags, ErrorCode, ModulePath, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AuthenticodeVerificationStop
-//
-
-#define EventEnabledAuthenticodeVerificationStop() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x20000000) != 0)
-
-//
-// Event Macro for AuthenticodeVerificationStop
-//
-#define FireEtwAuthenticodeVerificationStop(VerificationFlags, ErrorCode, ModulePath)\
- EventEnabledAuthenticodeVerificationStop() ?\
- CoTemplate_qqz(Microsoft_Windows_DotNETRuntimeHandle, &AuthenticodeVerificationStop, VerificationFlags, ErrorCode, ModulePath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AuthenticodeVerificationStop_V1
-//
-
-#define EventEnabledAuthenticodeVerificationStop_V1() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x20000000) != 0)
-
-//
-// Event Macro for AuthenticodeVerificationStop_V1
-//
-#define FireEtwAuthenticodeVerificationStop_V1(VerificationFlags, ErrorCode, ModulePath, ClrInstanceID)\
- EventEnabledAuthenticodeVerificationStop_V1() ?\
- CoTemplate_qqzh(Microsoft_Windows_DotNETRuntimeHandle, &AuthenticodeVerificationStop_V1, VerificationFlags, ErrorCode, ModulePath, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for RuntimeInformationStart
-//
-
-#define EventEnabledRuntimeInformationStart() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for RuntimeInformationStart
-//
-#define FireEtwRuntimeInformationStart(ClrInstanceID, Sku, BclMajorVersion, BclMinorVersion, BclBuildNumber, BclQfeNumber, VMMajorVersion, VMMinorVersion, VMBuildNumber, VMQfeNumber, StartupFlags, StartupMode, CommandLine, ComObjectGuid, RuntimeDllPath)\
- EventEnabledRuntimeInformationStart() ?\
- CoTemplate_hhhhhhhhhhqczjz(Microsoft_Windows_DotNETRuntimeHandle, &RuntimeInformationStart, ClrInstanceID, Sku, BclMajorVersion, BclMinorVersion, BclBuildNumber, BclQfeNumber, VMMajorVersion, VMMinorVersion, VMBuildNumber, VMQfeNumber, StartupFlags, StartupMode, CommandLine, ComObjectGuid, RuntimeDllPath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for IncreaseMemoryPressure
-//
-
-#define EventEnabledIncreaseMemoryPressure() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for IncreaseMemoryPressure
-//
-#define FireEtwIncreaseMemoryPressure(BytesAllocated, ClrInstanceID)\
- EventEnabledIncreaseMemoryPressure() ?\
- CoTemplate_xh(Microsoft_Windows_DotNETRuntimeHandle, &IncreaseMemoryPressure, BytesAllocated, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DecreaseMemoryPressure
-//
-
-#define EventEnabledDecreaseMemoryPressure() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for DecreaseMemoryPressure
-//
-#define FireEtwDecreaseMemoryPressure(BytesFreed, ClrInstanceID)\
- EventEnabledDecreaseMemoryPressure() ?\
- CoTemplate_xh(Microsoft_Windows_DotNETRuntimeHandle, &DecreaseMemoryPressure, BytesFreed, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCMarkWithType
-//
-
-#define EventEnabledGCMarkWithType() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCMarkWithType
-//
-#define FireEtwGCMarkWithType(HeapNum, ClrInstanceID, Type, Bytes)\
- EventEnabledGCMarkWithType() ?\
- CoTemplate_qhqx(Microsoft_Windows_DotNETRuntimeHandle, &GCMarkWithType, HeapNum, ClrInstanceID, Type, Bytes)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCJoin_V2
-//
-
-#define EventEnabledGCJoin_V2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for GCJoin_V2
-//
-#define FireEtwGCJoin_V2(Heap, JoinTime, JoinType, ClrInstanceID, JoinID)\
- EventEnabledGCJoin_V2() ?\
- CoTemplate_qqqhq(Microsoft_Windows_DotNETRuntimeHandle, &GCJoin_V2, Heap, JoinTime, JoinType, ClrInstanceID, JoinID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCPerHeapHistory_V3
-//
-
-#define EventEnabledGCPerHeapHistory_V3() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCPerHeapHistory_V3
-//
-#define FireEtwGCPerHeapHistory_V3(ClrInstanceID, FreeListAllocated, FreeListRejected, EndOfSegAllocated, CondemnedAllocated, PinnedAllocated, PinnedAllocatedAdvance, RunningFreeListEfficiency, CondemnReasons0, CondemnReasons1, CompactMechanisms, ExpandMechanisms, HeapIndex, ExtraGen0Commit, Count, Values_Len_, Values)\
- EventEnabledGCPerHeapHistory_V3() ?\
- CoTemplate_hppppppqqqqqqpqNR14(Microsoft_Windows_DotNETRuntimeHandle, &GCPerHeapHistory_V3, ClrInstanceID, FreeListAllocated, FreeListRejected, EndOfSegAllocated, CondemnedAllocated, PinnedAllocated, PinnedAllocatedAdvance, RunningFreeListEfficiency, CondemnReasons0, CondemnReasons1, CompactMechanisms, ExpandMechanisms, HeapIndex, ExtraGen0Commit, Count, Values_Len_, Values)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCGlobalHeapHistory_V2
-//
-
-#define EventEnabledGCGlobalHeapHistory_V2() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCGlobalHeapHistory_V2
-//
-#define FireEtwGCGlobalHeapHistory_V2(FinalYoungestDesired, NumHeaps, CondemnedGeneration, Gen0ReductionCount, Reason, GlobalMechanisms, ClrInstanceID, PauseMode, MemoryPressure)\
- EventEnabledGCGlobalHeapHistory_V2() ?\
- CoTemplate_xdqqqqhqq(Microsoft_Windows_DotNETRuntimeHandle, &GCGlobalHeapHistory_V2, FinalYoungestDesired, NumHeaps, CondemnedGeneration, Gen0ReductionCount, Reason, GlobalMechanisms, ClrInstanceID, PauseMode, MemoryPressure)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DebugIPCEventStart
-//
-
-#define EventEnabledDebugIPCEventStart() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x40000000) != 0)
-
-//
-// Event Macro for DebugIPCEventStart
-//
-#define FireEtwDebugIPCEventStart()\
- EventEnabledDebugIPCEventStart() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &DebugIPCEventStart)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DebugIPCEventEnd
-//
-
-#define EventEnabledDebugIPCEventEnd() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x40000000) != 0)
-
-//
-// Event Macro for DebugIPCEventEnd
-//
-#define FireEtwDebugIPCEventEnd()\
- EventEnabledDebugIPCEventEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &DebugIPCEventEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DebugExceptionProcessingStart
-//
-
-#define EventEnabledDebugExceptionProcessingStart() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x40000000) != 0)
-
-//
-// Event Macro for DebugExceptionProcessingStart
-//
-#define FireEtwDebugExceptionProcessingStart()\
- EventEnabledDebugExceptionProcessingStart() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &DebugExceptionProcessingStart)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DebugExceptionProcessingEnd
-//
-
-#define EventEnabledDebugExceptionProcessingEnd() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x40000000) != 0)
-
-//
-// Event Macro for DebugExceptionProcessingEnd
-//
-#define FireEtwDebugExceptionProcessingEnd()\
- EventEnabledDebugExceptionProcessingEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeHandle, &DebugExceptionProcessingEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for CodeSymbols
-//
-
-#define EventEnabledCodeSymbols() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x80000000) != 0)
-
-//
-// Event Macro for CodeSymbols
-//
-#define FireEtwCodeSymbols(ModuleId, TotalChunks, ChunkNumber, ChunkLength, Chunk, ClrInstanceID)\
- EventEnabledCodeSymbols() ?\
- CoTemplate_xhhqbh(Microsoft_Windows_DotNETRuntimeHandle, &CodeSymbols, ModuleId, TotalChunks, ChunkNumber, ChunkLength, Chunk, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EventSource
-//
-
-#define EventEnabledEventSource() ((Microsoft_Windows_DotNETRuntimeEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for EventSource
-//
-#define FireEtwEventSource(EventID, EventName, EventSourceName, Payload)\
- EventEnabledEventSource() ?\
- CoTemplate_dzzz(Microsoft_Windows_DotNETRuntimeHandle, &EventSource, EventID, EventName, EventSourceName, Payload)\
- : ERROR_SUCCESS\
-
-#endif // MCGEN_DISABLE_PROVIDER_CODE_GENERATION
-
-//+
-// Provider Microsoft-Windows-DotNETRuntimeRundown Event Count 45
-//+
-EXTERN_C __declspec(selectany) const GUID MICROSOFT_WINDOWS_DOTNETRUNTIME_RUNDOWN_PROVIDER = {0xa669021c, 0xc450, 0x4609, {0xa0, 0x35, 0x5a, 0xf5, 0x9a, 0xf4, 0xdf, 0x18}};
-
-//
-// Opcodes
-//
-#define CLR_METHODDC_METHODDCSTART_OPCODE 0x23
-#define CLR_METHODDC_METHODDCEND_OPCODE 0x24
-#define CLR_METHODDC_METHODDCSTARTVERBOSE_OPCODE 0x27
-#define CLR_METHODDC_METHODDCENDVERBOSE_OPCODE 0x28
-#define CLR_METHODDC_METHODDCSTARTILTONATIVEMAP_OPCODE 0x29
-#define CLR_METHODDC_METHODDCENDILTONATIVEMAP_OPCODE 0x2a
-#define CLR_METHODDC_DCSTARTCOMPLETE_OPCODE 0xe
-#define CLR_METHODDC_DCENDCOMPLETE_OPCODE 0xf
-#define CLR_METHODDC_DCSTARTINIT_OPCODE 0x10
-#define CLR_METHODDC_DCENDINIT_OPCODE 0x11
-#define CLR_LOADERDC_MODULEDCSTART_OPCODE 0x23
-#define CLR_LOADERDC_MODULEDCEND_OPCODE 0x24
-#define CLR_LOADERDC_ASSEMBLYDCSTART_OPCODE 0x27
-#define CLR_LOADERDC_ASSEMBLYDCEND_OPCODE 0x28
-#define CLR_LOADERDC_APPDOMAINDCSTART_OPCODE 0x2b
-#define CLR_LOADERDC_APPDOMAINDCEND_OPCODE 0x2c
-#define CLR_LOADERDC_DOMAINMODULEDCSTART_OPCODE 0x2e
-#define CLR_LOADERDC_DOMAINMODULEDCEND_OPCODE 0x2f
-#define CLR_LOADERDC_THREADDC_OPCODE 0x30
-#define CLR_RUNDOWNSTACK_STACKWALK_OPCODE 0x52
-#define CLR_PERFTRACKRUNDOWN_MODULERANGEDCSTART_OPCODE 0xa
-#define CLR_PERFTRACKRUNDOWN_MODULERANGEDCEND_OPCODE 0xb
-
-//
-// Tasks
-//
-#define CLR_METHODRUNDOWN_TASK 0x1
-EXTERN_C __declspec(selectany) const GUID CLRMethodRundownId = {0x0bcd91db, 0xf943, 0x454a, {0xa6, 0x62, 0x6e, 0xdb, 0xcf, 0xbb, 0x76, 0xd2}};
-#define CLR_LOADERRUNDOWN_TASK 0x2
-EXTERN_C __declspec(selectany) const GUID CLRLoaderRundownId = {0x5a54f4df, 0xd302, 0x4fee, {0xa2, 0x11, 0x6c, 0x2c, 0x0c, 0x1d, 0xcb, 0x1a}};
-#define CLR_STACKRUNDOWN_TASK 0xb
-EXTERN_C __declspec(selectany) const GUID CLRStackRundownId = {0xd3363dc0, 0x243a, 0x4620, {0xa4, 0xd0, 0x8a, 0x07, 0xd7, 0x72, 0xf5, 0x33}};
-#define CLR_RuntimeInformation_TASK 0x13
-EXTERN_C __declspec(selectany) const GUID CLRRuntimeInformationRundownId = {0xcd7d3e32, 0x65fe, 0x40cd, {0x92, 0x25, 0xa2, 0x57, 0x7d, 0x20, 0x3f, 0xc3}};
-#define CLR_PERFTRACKRUNDOWN_TASK 0x14
-EXTERN_C __declspec(selectany) const GUID CLRPerfTrackRundownId = {0xeac685f6, 0x2104, 0x4dec, {0x88, 0xfd, 0x91, 0xe4, 0x25, 0x42, 0x21, 0xec}};
-//
-// Keyword
-//
-#define CLR_RUNDOWNLOADER_KEYWORD 0x8
-#define CLR_RUNDOWNJIT_KEYWORD 0x10
-#define CLR_RUNDOWNNGEN_KEYWORD 0x20
-#define CLR_RUNDOWNSTART_KEYWORD 0x40
-#define CLR_RUNDOWNEND_KEYWORD 0x100
-#define CLR_RUNDOWNAPPDOMAINRESOURCEMANAGEMENT_KEYWORD 0x800
-#define CLR_RUNDOWNTHREADING_KEYWORD 0x10000
-#define CLR_RUNDOWNJITTEDMETHODILTONATIVEMAP_KEYWORD 0x20000
-#define CLR_RUNDOWNOVERRIDEANDSUPPRESSNGENEVENTS_KEYWORD 0x40000
-#define CLR_RUNDOWNPERFTRACK_KEYWORD 0x20000000
-#define CLR_RUNDOWNSTACK_KEYWORD 0x40000000
-
-//
-// Event Descriptors
-//
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR CLRStackWalkDCStart = {0x0, 0x0, 0x0, 0x0, 0x52, 0xb, 0x40000000};
-#define CLRStackWalkDCStart_value 0x0
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCStart = {0x8d, 0x0, 0x0, 0x4, 0x23, 0x1, 0x30};
-#define MethodDCStart_value 0x8d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCStart_V1 = {0x8d, 0x1, 0x0, 0x4, 0x23, 0x1, 0x30};
-#define MethodDCStart_V1_value 0x8d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCStart_V2 = {0x8d, 0x2, 0x0, 0x4, 0x23, 0x1, 0x30};
-#define MethodDCStart_V2_value 0x8d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCEnd = {0x8e, 0x0, 0x0, 0x4, 0x24, 0x1, 0x30};
-#define MethodDCEnd_value 0x8e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCEnd_V1 = {0x8e, 0x1, 0x0, 0x4, 0x24, 0x1, 0x30};
-#define MethodDCEnd_V1_value 0x8e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCEnd_V2 = {0x8e, 0x2, 0x0, 0x4, 0x24, 0x1, 0x30};
-#define MethodDCEnd_V2_value 0x8e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCStartVerbose = {0x8f, 0x0, 0x0, 0x4, 0x27, 0x1, 0x30};
-#define MethodDCStartVerbose_value 0x8f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCStartVerbose_V1 = {0x8f, 0x1, 0x0, 0x4, 0x27, 0x1, 0x30};
-#define MethodDCStartVerbose_V1_value 0x8f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCStartVerbose_V2 = {0x8f, 0x2, 0x0, 0x4, 0x27, 0x1, 0x30};
-#define MethodDCStartVerbose_V2_value 0x8f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCEndVerbose = {0x90, 0x0, 0x0, 0x4, 0x28, 0x1, 0x30};
-#define MethodDCEndVerbose_value 0x90
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCEndVerbose_V1 = {0x90, 0x1, 0x0, 0x4, 0x28, 0x1, 0x30};
-#define MethodDCEndVerbose_V1_value 0x90
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCEndVerbose_V2 = {0x90, 0x2, 0x0, 0x4, 0x28, 0x1, 0x30};
-#define MethodDCEndVerbose_V2_value 0x90
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DCStartComplete = {0x91, 0x0, 0x0, 0x4, 0xe, 0x1, 0x20038};
-#define DCStartComplete_value 0x91
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DCStartComplete_V1 = {0x91, 0x1, 0x0, 0x4, 0xe, 0x1, 0x20038};
-#define DCStartComplete_V1_value 0x91
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DCEndComplete = {0x92, 0x0, 0x0, 0x4, 0xf, 0x1, 0x20038};
-#define DCEndComplete_value 0x92
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DCEndComplete_V1 = {0x92, 0x1, 0x0, 0x4, 0xf, 0x1, 0x20038};
-#define DCEndComplete_V1_value 0x92
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DCStartInit = {0x93, 0x0, 0x0, 0x4, 0x10, 0x1, 0x20038};
-#define DCStartInit_value 0x93
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DCStartInit_V1 = {0x93, 0x1, 0x0, 0x4, 0x10, 0x1, 0x20038};
-#define DCStartInit_V1_value 0x93
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DCEndInit = {0x94, 0x0, 0x0, 0x4, 0x11, 0x1, 0x20038};
-#define DCEndInit_value 0x94
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DCEndInit_V1 = {0x94, 0x1, 0x0, 0x4, 0x11, 0x1, 0x20038};
-#define DCEndInit_V1_value 0x94
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCStartILToNativeMap = {0x95, 0x0, 0x0, 0x5, 0x29, 0x1, 0x20000};
-#define MethodDCStartILToNativeMap_value 0x95
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodDCEndILToNativeMap = {0x96, 0x0, 0x0, 0x5, 0x2a, 0x1, 0x20000};
-#define MethodDCEndILToNativeMap_value 0x96
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DomainModuleDCStart = {0x97, 0x0, 0x0, 0x4, 0x2e, 0x2, 0x8};
-#define DomainModuleDCStart_value 0x97
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DomainModuleDCStart_V1 = {0x97, 0x1, 0x0, 0x4, 0x2e, 0x2, 0x8};
-#define DomainModuleDCStart_V1_value 0x97
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DomainModuleDCEnd = {0x98, 0x0, 0x0, 0x4, 0x2f, 0x2, 0x8};
-#define DomainModuleDCEnd_value 0x98
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR DomainModuleDCEnd_V1 = {0x98, 0x1, 0x0, 0x4, 0x2f, 0x2, 0x8};
-#define DomainModuleDCEnd_V1_value 0x98
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleDCStart = {0x99, 0x0, 0x0, 0x4, 0x23, 0x2, 0x8};
-#define ModuleDCStart_value 0x99
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleDCStart_V1 = {0x99, 0x1, 0x0, 0x4, 0x23, 0x2, 0x20000008};
-#define ModuleDCStart_V1_value 0x99
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleDCStart_V2 = {0x99, 0x2, 0x0, 0x4, 0x23, 0x2, 0x20000008};
-#define ModuleDCStart_V2_value 0x99
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleDCEnd = {0x9a, 0x0, 0x0, 0x4, 0x24, 0x2, 0x8};
-#define ModuleDCEnd_value 0x9a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleDCEnd_V1 = {0x9a, 0x1, 0x0, 0x4, 0x24, 0x2, 0x20000008};
-#define ModuleDCEnd_V1_value 0x9a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleDCEnd_V2 = {0x9a, 0x2, 0x0, 0x4, 0x24, 0x2, 0x20000008};
-#define ModuleDCEnd_V2_value 0x9a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AssemblyDCStart = {0x9b, 0x0, 0x0, 0x4, 0x27, 0x2, 0x8};
-#define AssemblyDCStart_value 0x9b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AssemblyDCStart_V1 = {0x9b, 0x1, 0x0, 0x4, 0x27, 0x2, 0x8};
-#define AssemblyDCStart_V1_value 0x9b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AssemblyDCEnd = {0x9c, 0x0, 0x0, 0x4, 0x28, 0x2, 0x8};
-#define AssemblyDCEnd_value 0x9c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AssemblyDCEnd_V1 = {0x9c, 0x1, 0x0, 0x4, 0x28, 0x2, 0x8};
-#define AssemblyDCEnd_V1_value 0x9c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AppDomainDCStart = {0x9d, 0x0, 0x0, 0x4, 0x2b, 0x2, 0x8};
-#define AppDomainDCStart_value 0x9d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AppDomainDCStart_V1 = {0x9d, 0x1, 0x0, 0x4, 0x2b, 0x2, 0x8};
-#define AppDomainDCStart_V1_value 0x9d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AppDomainDCEnd = {0x9e, 0x0, 0x0, 0x4, 0x2c, 0x2, 0x8};
-#define AppDomainDCEnd_value 0x9e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AppDomainDCEnd_V1 = {0x9e, 0x1, 0x0, 0x4, 0x2c, 0x2, 0x8};
-#define AppDomainDCEnd_V1_value 0x9e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ThreadDC = {0x9f, 0x0, 0x0, 0x4, 0x30, 0x2, 0x10800};
-#define ThreadDC_value 0x9f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleRangeDCStart = {0xa0, 0x0, 0x0, 0x4, 0xa, 0x14, 0x20000000};
-#define ModuleRangeDCStart_value 0xa0
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleRangeDCEnd = {0xa1, 0x0, 0x0, 0x4, 0xb, 0x14, 0x20000000};
-#define ModuleRangeDCEnd_value 0xa1
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR RuntimeInformationDCStart = {0xbb, 0x0, 0x0, 0x4, 0x1, 0x13, 0x0};
-#define RuntimeInformationDCStart_value 0xbb
-
-//
-// Note on Generate Code from Manifest Windows Vista and above
-//
-//Structures : are handled as a size and pointer pairs. The macro for the event will have an extra
-//parameter for the size in bytes of the structure. Make sure that your structures have no extra padding.
-//
-//Strings: There are several cases that can be described in the manifest. For array of variable length
-//strings, the generated code will take the count of characters for the whole array as an input parameter.
-//
-//SID No support for array of SIDs, the macro will take a pointer to the SID and use appropriate
-//GetLengthSid function to get the length.
-//
-
-//
-// Allow Diasabling of code generation
-//
-#ifndef MCGEN_DISABLE_PROVIDER_CODE_GENERATION
-
-//
-// Globals
-//
-
-
-//
-// Event Enablement Bits
-//
-
-EXTERN_C __declspec(selectany) DECLSPEC_CACHEALIGN ULONG Microsoft_Windows_DotNETRuntimeRundownEnableBits[1];
-EXTERN_C __declspec(selectany) const ULONGLONG Microsoft_Windows_DotNETRuntimeRundownKeywords[9] = {0x40000000, 0x30, 0x20038, 0x20000, 0x8, 0x20000008, 0x10800, 0x20000000, 0x0};
-EXTERN_C __declspec(selectany) const UCHAR Microsoft_Windows_DotNETRuntimeRundownLevels[9] = {0, 4, 4, 5, 4, 4, 4, 4, 4};
-EXTERN_C __declspec(selectany) MCGEN_TRACE_CONTEXT MICROSOFT_WINDOWS_DOTNETRUNTIME_RUNDOWN_PROVIDER_Context = {0, 0, 0, 0, 0, 0, 0, 0, 9, Microsoft_Windows_DotNETRuntimeRundownEnableBits, Microsoft_Windows_DotNETRuntimeRundownKeywords, Microsoft_Windows_DotNETRuntimeRundownLevels};
-
-EXTERN_C __declspec(selectany) REGHANDLE Microsoft_Windows_DotNETRuntimeRundownHandle = (REGHANDLE)0;
-
-#if !defined(McGenEventRegisterUnregister)
-#define McGenEventRegisterUnregister
-DECLSPEC_NOINLINE __inline
-ULONG __stdcall
-McGenEventRegister(
- _In_ LPCGUID ProviderId,
- _In_opt_ PENABLECALLBACK EnableCallback,
- _In_opt_ PVOID CallbackContext,
- _Inout_ PREGHANDLE RegHandle
- )
-/*++
-
-Routine Description:
-
- This function register the provider with ETW USER mode.
-
-Arguments:
- ProviderId - Provider Id to be register with ETW.
-
- EnableCallback - Callback to be used.
-
- CallbackContext - Context for this provider.
-
- RegHandle - Pointer to Registration handle.
-
-Remarks:
-
- If the handle != NULL will return ERROR_SUCCESS
-
---*/
-{
- ULONG Error;
-
-
- if (*RegHandle) {
- //
- // already registered
- //
- return ERROR_SUCCESS;
- }
-
- Error = EventRegister( ProviderId, EnableCallback, CallbackContext, RegHandle);
-
- return Error;
-}
-
-
-DECLSPEC_NOINLINE __inline
-ULONG __stdcall
-McGenEventUnregister(_Inout_ PREGHANDLE RegHandle)
-/*++
-
-Routine Description:
-
- Unregister from ETW USER mode
-
-Arguments:
- RegHandle this is the pointer to the provider context
-Remarks:
- If Provider has not register RegHandle = NULL,
- return ERROR_SUCCESS
---*/
-{
- ULONG Error;
-
-
- if(!(*RegHandle)) {
- //
- // Provider has not registerd
- //
- return ERROR_SUCCESS;
- }
-
- Error = EventUnregister(*RegHandle);
- *RegHandle = (REGHANDLE)0;
-
- return Error;
-}
-#endif
-//
-// Register with ETW Vista +
-//
-#ifndef EventRegisterMicrosoft_Windows_DotNETRuntimeRundown
-#define EventRegisterMicrosoft_Windows_DotNETRuntimeRundown() McGenEventRegister(&MICROSOFT_WINDOWS_DOTNETRUNTIME_RUNDOWN_PROVIDER, McGenControlCallbackV2, &MICROSOFT_WINDOWS_DOTNETRUNTIME_RUNDOWN_PROVIDER_Context, &Microsoft_Windows_DotNETRuntimeRundownHandle)
-#endif
-
-//
-// UnRegister with ETW
-//
-#ifndef EventUnregisterMicrosoft_Windows_DotNETRuntimeRundown
-#define EventUnregisterMicrosoft_Windows_DotNETRuntimeRundown() McGenEventUnregister(&Microsoft_Windows_DotNETRuntimeRundownHandle)
-#endif
-
-//
-// Enablement check macro for CLRStackWalkDCStart
-//
-
-#define EventEnabledCLRStackWalkDCStart() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for CLRStackWalkDCStart
-//
-#define FireEtwCLRStackWalkDCStart(ClrInstanceID, Reserved1, Reserved2, FrameCount, Stack)\
- EventEnabledCLRStackWalkDCStart() ?\
- CoTemplate_hccqP2(Microsoft_Windows_DotNETRuntimeRundownHandle, &CLRStackWalkDCStart, ClrInstanceID, Reserved1, Reserved2, FrameCount, Stack)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCStart
-//
-
-#define EventEnabledMethodDCStart() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for MethodDCStart
-//
-#define FireEtwMethodDCStart(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags)\
- EventEnabledMethodDCStart() ?\
- CoTemplate_xxxqqq(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCStart, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCStart_V1
-//
-
-#define EventEnabledMethodDCStart_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for MethodDCStart_V1
-//
-#define FireEtwMethodDCStart_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID)\
- EventEnabledMethodDCStart_V1() ?\
- CoTemplate_xxxqqqh(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCStart_V1, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCStart_V2
-//
-
-#define EventEnabledMethodDCStart_V2() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for MethodDCStart_V2
-//
-#define FireEtwMethodDCStart_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID, ReJITID)\
- EventEnabledMethodDCStart_V2() ?\
- CoTemplate_xxxqqqhx(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCStart_V2, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID, ReJITID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCEnd
-//
-
-#define EventEnabledMethodDCEnd() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for MethodDCEnd
-//
-#define FireEtwMethodDCEnd(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags)\
- EventEnabledMethodDCEnd() ?\
- CoTemplate_xxxqqq(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCEnd, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCEnd_V1
-//
-
-#define EventEnabledMethodDCEnd_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for MethodDCEnd_V1
-//
-#define FireEtwMethodDCEnd_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID)\
- EventEnabledMethodDCEnd_V1() ?\
- CoTemplate_xxxqqqh(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCEnd_V1, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCEnd_V2
-//
-
-#define EventEnabledMethodDCEnd_V2() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for MethodDCEnd_V2
-//
-#define FireEtwMethodDCEnd_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID, ReJITID)\
- EventEnabledMethodDCEnd_V2() ?\
- CoTemplate_xxxqqqhx(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCEnd_V2, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID, ReJITID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCStartVerbose
-//
-
-#define EventEnabledMethodDCStartVerbose() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for MethodDCStartVerbose
-//
-#define FireEtwMethodDCStartVerbose(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature)\
- EventEnabledMethodDCStartVerbose() ?\
- CoTemplate_xxxqqqzzz(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCStartVerbose, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCStartVerbose_V1
-//
-
-#define EventEnabledMethodDCStartVerbose_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for MethodDCStartVerbose_V1
-//
-#define FireEtwMethodDCStartVerbose_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID)\
- EventEnabledMethodDCStartVerbose_V1() ?\
- CoTemplate_xxxqqqzzzh(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCStartVerbose_V1, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCStartVerbose_V2
-//
-
-#define EventEnabledMethodDCStartVerbose_V2() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for MethodDCStartVerbose_V2
-//
-#define FireEtwMethodDCStartVerbose_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID, ReJITID)\
- EventEnabledMethodDCStartVerbose_V2() ?\
- CoTemplate_xxxqqqzzzhx(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCStartVerbose_V2, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID, ReJITID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCEndVerbose
-//
-
-#define EventEnabledMethodDCEndVerbose() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for MethodDCEndVerbose
-//
-#define FireEtwMethodDCEndVerbose(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature)\
- EventEnabledMethodDCEndVerbose() ?\
- CoTemplate_xxxqqqzzz(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCEndVerbose, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCEndVerbose_V1
-//
-
-#define EventEnabledMethodDCEndVerbose_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for MethodDCEndVerbose_V1
-//
-#define FireEtwMethodDCEndVerbose_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID)\
- EventEnabledMethodDCEndVerbose_V1() ?\
- CoTemplate_xxxqqqzzzh(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCEndVerbose_V1, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCEndVerbose_V2
-//
-
-#define EventEnabledMethodDCEndVerbose_V2() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for MethodDCEndVerbose_V2
-//
-#define FireEtwMethodDCEndVerbose_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID, ReJITID)\
- EventEnabledMethodDCEndVerbose_V2() ?\
- CoTemplate_xxxqqqzzzhx(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCEndVerbose_V2, MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID, ReJITID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DCStartComplete
-//
-
-#define EventEnabledDCStartComplete() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for DCStartComplete
-//
-#define FireEtwDCStartComplete()\
- EventEnabledDCStartComplete() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeRundownHandle, &DCStartComplete)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DCStartComplete_V1
-//
-
-#define EventEnabledDCStartComplete_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for DCStartComplete_V1
-//
-#define FireEtwDCStartComplete_V1(ClrInstanceID)\
- EventEnabledDCStartComplete_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimeRundownHandle, &DCStartComplete_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DCEndComplete
-//
-
-#define EventEnabledDCEndComplete() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for DCEndComplete
-//
-#define FireEtwDCEndComplete()\
- EventEnabledDCEndComplete() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeRundownHandle, &DCEndComplete)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DCEndComplete_V1
-//
-
-#define EventEnabledDCEndComplete_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for DCEndComplete_V1
-//
-#define FireEtwDCEndComplete_V1(ClrInstanceID)\
- EventEnabledDCEndComplete_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimeRundownHandle, &DCEndComplete_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DCStartInit
-//
-
-#define EventEnabledDCStartInit() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for DCStartInit
-//
-#define FireEtwDCStartInit()\
- EventEnabledDCStartInit() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeRundownHandle, &DCStartInit)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DCStartInit_V1
-//
-
-#define EventEnabledDCStartInit_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for DCStartInit_V1
-//
-#define FireEtwDCStartInit_V1(ClrInstanceID)\
- EventEnabledDCStartInit_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimeRundownHandle, &DCStartInit_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DCEndInit
-//
-
-#define EventEnabledDCEndInit() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for DCEndInit
-//
-#define FireEtwDCEndInit()\
- EventEnabledDCEndInit() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimeRundownHandle, &DCEndInit)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DCEndInit_V1
-//
-
-#define EventEnabledDCEndInit_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for DCEndInit_V1
-//
-#define FireEtwDCEndInit_V1(ClrInstanceID)\
- EventEnabledDCEndInit_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimeRundownHandle, &DCEndInit_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCStartILToNativeMap
-//
-
-#define EventEnabledMethodDCStartILToNativeMap() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000008) != 0)
-
-//
-// Event Macro for MethodDCStartILToNativeMap
-//
-#define FireEtwMethodDCStartILToNativeMap(MethodID, ReJITID, MethodExtent, CountOfMapEntries, ILOffsets, NativeOffsets, ClrInstanceID)\
- EventEnabledMethodDCStartILToNativeMap() ?\
- CoTemplate_xxchQR3QR3h(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCStartILToNativeMap, MethodID, ReJITID, MethodExtent, CountOfMapEntries, ILOffsets, NativeOffsets, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodDCEndILToNativeMap
-//
-
-#define EventEnabledMethodDCEndILToNativeMap() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000008) != 0)
-
-//
-// Event Macro for MethodDCEndILToNativeMap
-//
-#define FireEtwMethodDCEndILToNativeMap(MethodID, ReJITID, MethodExtent, CountOfMapEntries, ILOffsets, NativeOffsets, ClrInstanceID)\
- EventEnabledMethodDCEndILToNativeMap() ?\
- CoTemplate_xxchQR3QR3h(Microsoft_Windows_DotNETRuntimeRundownHandle, &MethodDCEndILToNativeMap, MethodID, ReJITID, MethodExtent, CountOfMapEntries, ILOffsets, NativeOffsets, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DomainModuleDCStart
-//
-
-#define EventEnabledDomainModuleDCStart() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for DomainModuleDCStart
-//
-#define FireEtwDomainModuleDCStart(ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- EventEnabledDomainModuleDCStart() ?\
- CoTemplate_xxxqqzz(Microsoft_Windows_DotNETRuntimeRundownHandle, &DomainModuleDCStart, ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DomainModuleDCStart_V1
-//
-
-#define EventEnabledDomainModuleDCStart_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for DomainModuleDCStart_V1
-//
-#define FireEtwDomainModuleDCStart_V1(ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- EventEnabledDomainModuleDCStart_V1() ?\
- CoTemplate_xxxqqzzh(Microsoft_Windows_DotNETRuntimeRundownHandle, &DomainModuleDCStart_V1, ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DomainModuleDCEnd
-//
-
-#define EventEnabledDomainModuleDCEnd() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for DomainModuleDCEnd
-//
-#define FireEtwDomainModuleDCEnd(ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- EventEnabledDomainModuleDCEnd() ?\
- CoTemplate_xxxqqzz(Microsoft_Windows_DotNETRuntimeRundownHandle, &DomainModuleDCEnd, ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for DomainModuleDCEnd_V1
-//
-
-#define EventEnabledDomainModuleDCEnd_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for DomainModuleDCEnd_V1
-//
-#define FireEtwDomainModuleDCEnd_V1(ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- EventEnabledDomainModuleDCEnd_V1() ?\
- CoTemplate_xxxqqzzh(Microsoft_Windows_DotNETRuntimeRundownHandle, &DomainModuleDCEnd_V1, ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleDCStart
-//
-
-#define EventEnabledModuleDCStart() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for ModuleDCStart
-//
-#define FireEtwModuleDCStart(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- EventEnabledModuleDCStart() ?\
- CoTemplate_xxqqzz(Microsoft_Windows_DotNETRuntimeRundownHandle, &ModuleDCStart, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleDCStart_V1
-//
-
-#define EventEnabledModuleDCStart_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for ModuleDCStart_V1
-//
-#define FireEtwModuleDCStart_V1(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- EventEnabledModuleDCStart_V1() ?\
- CoTemplate_xxqqzzh(Microsoft_Windows_DotNETRuntimeRundownHandle, &ModuleDCStart_V1, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleDCStart_V2
-//
-
-#define EventEnabledModuleDCStart_V2() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for ModuleDCStart_V2
-//
-#define FireEtwModuleDCStart_V2(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID, ManagedPdbSignature, ManagedPdbAge, ManagedPdbBuildPath, NativePdbSignature, NativePdbAge, NativePdbBuildPath)\
- EventEnabledModuleDCStart_V2() ?\
- CoTemplate_xxqqzzhjqzjqz(Microsoft_Windows_DotNETRuntimeRundownHandle, &ModuleDCStart_V2, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID, ManagedPdbSignature, ManagedPdbAge, ManagedPdbBuildPath, NativePdbSignature, NativePdbAge, NativePdbBuildPath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleDCEnd
-//
-
-#define EventEnabledModuleDCEnd() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for ModuleDCEnd
-//
-#define FireEtwModuleDCEnd(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- EventEnabledModuleDCEnd() ?\
- CoTemplate_xxqqzz(Microsoft_Windows_DotNETRuntimeRundownHandle, &ModuleDCEnd, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleDCEnd_V1
-//
-
-#define EventEnabledModuleDCEnd_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for ModuleDCEnd_V1
-//
-#define FireEtwModuleDCEnd_V1(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- EventEnabledModuleDCEnd_V1() ?\
- CoTemplate_xxqqzzh(Microsoft_Windows_DotNETRuntimeRundownHandle, &ModuleDCEnd_V1, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleDCEnd_V2
-//
-
-#define EventEnabledModuleDCEnd_V2() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for ModuleDCEnd_V2
-//
-#define FireEtwModuleDCEnd_V2(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID, ManagedPdbSignature, ManagedPdbAge, ManagedPdbBuildPath, NativePdbSignature, NativePdbAge, NativePdbBuildPath)\
- EventEnabledModuleDCEnd_V2() ?\
- CoTemplate_xxqqzzhjqzjqz(Microsoft_Windows_DotNETRuntimeRundownHandle, &ModuleDCEnd_V2, ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID, ManagedPdbSignature, ManagedPdbAge, ManagedPdbBuildPath, NativePdbSignature, NativePdbAge, NativePdbBuildPath)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AssemblyDCStart
-//
-
-#define EventEnabledAssemblyDCStart() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for AssemblyDCStart
-//
-#define FireEtwAssemblyDCStart(AssemblyID, AppDomainID, AssemblyFlags, FullyQualifiedAssemblyName)\
- EventEnabledAssemblyDCStart() ?\
- CoTemplate_xxqz(Microsoft_Windows_DotNETRuntimeRundownHandle, &AssemblyDCStart, AssemblyID, AppDomainID, AssemblyFlags, FullyQualifiedAssemblyName)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AssemblyDCStart_V1
-//
-
-#define EventEnabledAssemblyDCStart_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for AssemblyDCStart_V1
-//
-#define FireEtwAssemblyDCStart_V1(AssemblyID, AppDomainID, BindingID, AssemblyFlags, FullyQualifiedAssemblyName, ClrInstanceID)\
- EventEnabledAssemblyDCStart_V1() ?\
- CoTemplate_xxxqzh(Microsoft_Windows_DotNETRuntimeRundownHandle, &AssemblyDCStart_V1, AssemblyID, AppDomainID, BindingID, AssemblyFlags, FullyQualifiedAssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AssemblyDCEnd
-//
-
-#define EventEnabledAssemblyDCEnd() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for AssemblyDCEnd
-//
-#define FireEtwAssemblyDCEnd(AssemblyID, AppDomainID, AssemblyFlags, FullyQualifiedAssemblyName)\
- EventEnabledAssemblyDCEnd() ?\
- CoTemplate_xxqz(Microsoft_Windows_DotNETRuntimeRundownHandle, &AssemblyDCEnd, AssemblyID, AppDomainID, AssemblyFlags, FullyQualifiedAssemblyName)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AssemblyDCEnd_V1
-//
-
-#define EventEnabledAssemblyDCEnd_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for AssemblyDCEnd_V1
-//
-#define FireEtwAssemblyDCEnd_V1(AssemblyID, AppDomainID, BindingID, AssemblyFlags, FullyQualifiedAssemblyName, ClrInstanceID)\
- EventEnabledAssemblyDCEnd_V1() ?\
- CoTemplate_xxxqzh(Microsoft_Windows_DotNETRuntimeRundownHandle, &AssemblyDCEnd_V1, AssemblyID, AppDomainID, BindingID, AssemblyFlags, FullyQualifiedAssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AppDomainDCStart
-//
-
-#define EventEnabledAppDomainDCStart() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for AppDomainDCStart
-//
-#define FireEtwAppDomainDCStart(AppDomainID, AppDomainFlags, AppDomainName)\
- EventEnabledAppDomainDCStart() ?\
- CoTemplate_xqz(Microsoft_Windows_DotNETRuntimeRundownHandle, &AppDomainDCStart, AppDomainID, AppDomainFlags, AppDomainName)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AppDomainDCStart_V1
-//
-
-#define EventEnabledAppDomainDCStart_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for AppDomainDCStart_V1
-//
-#define FireEtwAppDomainDCStart_V1(AppDomainID, AppDomainFlags, AppDomainName, AppDomainIndex, ClrInstanceID)\
- EventEnabledAppDomainDCStart_V1() ?\
- CoTemplate_xqzqh(Microsoft_Windows_DotNETRuntimeRundownHandle, &AppDomainDCStart_V1, AppDomainID, AppDomainFlags, AppDomainName, AppDomainIndex, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AppDomainDCEnd
-//
-
-#define EventEnabledAppDomainDCEnd() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for AppDomainDCEnd
-//
-#define FireEtwAppDomainDCEnd(AppDomainID, AppDomainFlags, AppDomainName)\
- EventEnabledAppDomainDCEnd() ?\
- CoTemplate_xqz(Microsoft_Windows_DotNETRuntimeRundownHandle, &AppDomainDCEnd, AppDomainID, AppDomainFlags, AppDomainName)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AppDomainDCEnd_V1
-//
-
-#define EventEnabledAppDomainDCEnd_V1() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for AppDomainDCEnd_V1
-//
-#define FireEtwAppDomainDCEnd_V1(AppDomainID, AppDomainFlags, AppDomainName, AppDomainIndex, ClrInstanceID)\
- EventEnabledAppDomainDCEnd_V1() ?\
- CoTemplate_xqzqh(Microsoft_Windows_DotNETRuntimeRundownHandle, &AppDomainDCEnd_V1, AppDomainID, AppDomainFlags, AppDomainName, AppDomainIndex, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ThreadDC
-//
-
-#define EventEnabledThreadDC() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for ThreadDC
-//
-#define FireEtwThreadDC(ManagedThreadID, AppDomainID, Flags, ManagedThreadIndex, OSThreadID, ClrInstanceID)\
- EventEnabledThreadDC() ?\
- CoTemplate_xxqqqh(Microsoft_Windows_DotNETRuntimeRundownHandle, &ThreadDC, ManagedThreadID, AppDomainID, Flags, ManagedThreadIndex, OSThreadID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleRangeDCStart
-//
-
-#define EventEnabledModuleRangeDCStart() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000080) != 0)
-
-//
-// Event Macro for ModuleRangeDCStart
-//
-#define FireEtwModuleRangeDCStart(ClrInstanceID, ModuleID, RangeBegin, RangeSize, RangeType)\
- EventEnabledModuleRangeDCStart() ?\
- CoTemplate_hxqqc(Microsoft_Windows_DotNETRuntimeRundownHandle, &ModuleRangeDCStart, ClrInstanceID, ModuleID, RangeBegin, RangeSize, RangeType)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleRangeDCEnd
-//
-
-#define EventEnabledModuleRangeDCEnd() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000080) != 0)
-
-//
-// Event Macro for ModuleRangeDCEnd
-//
-#define FireEtwModuleRangeDCEnd(ClrInstanceID, ModuleID, RangeBegin, RangeSize, RangeType)\
- EventEnabledModuleRangeDCEnd() ?\
- CoTemplate_hxqqc(Microsoft_Windows_DotNETRuntimeRundownHandle, &ModuleRangeDCEnd, ClrInstanceID, ModuleID, RangeBegin, RangeSize, RangeType)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for RuntimeInformationDCStart
-//
-
-#define EventEnabledRuntimeInformationDCStart() ((Microsoft_Windows_DotNETRuntimeRundownEnableBits[0] & 0x00000100) != 0)
-
-//
-// Event Macro for RuntimeInformationDCStart
-//
-#define FireEtwRuntimeInformationDCStart(ClrInstanceID, Sku, BclMajorVersion, BclMinorVersion, BclBuildNumber, BclQfeNumber, VMMajorVersion, VMMinorVersion, VMBuildNumber, VMQfeNumber, StartupFlags, StartupMode, CommandLine, ComObjectGuid, RuntimeDllPath)\
- EventEnabledRuntimeInformationDCStart() ?\
- CoTemplate_hhhhhhhhhhqczjz(Microsoft_Windows_DotNETRuntimeRundownHandle, &RuntimeInformationDCStart, ClrInstanceID, Sku, BclMajorVersion, BclMinorVersion, BclBuildNumber, BclQfeNumber, VMMajorVersion, VMMinorVersion, VMBuildNumber, VMQfeNumber, StartupFlags, StartupMode, CommandLine, ComObjectGuid, RuntimeDllPath)\
- : ERROR_SUCCESS\
-
-#endif // MCGEN_DISABLE_PROVIDER_CODE_GENERATION
-
-//+
-// Provider Microsoft-Windows-DotNETRuntimeStress Event Count 3
-//+
-EXTERN_C __declspec(selectany) const GUID MICROSOFT_WINDOWS_DOTNETRUNTIME_STRESS_PROVIDER = {0xcc2bcbba, 0x16b6, 0x4cf3, {0x89, 0x90, 0xd7, 0x4c, 0x2e, 0x8a, 0xf5, 0x00}};
-
-//
-// Opcodes
-//
-#define CLR_STRESSSTACK_STACKWALK_OPCODE 0x52
-
-//
-// Tasks
-//
-#define CLR_STRESSLOG_TASK 0x1
-EXTERN_C __declspec(selectany) const GUID StressLogTaskId = {0xea40c74d, 0x4f65, 0x4561, {0xbb, 0x26, 0x65, 0x62, 0x31, 0xc8, 0x96, 0x7f}};
-#define CLR_STACKSTRESS_TASK 0xb
-EXTERN_C __declspec(selectany) const GUID CLRStackStressId = {0xd3363dc0, 0x243a, 0x4620, {0xa4, 0xd0, 0x8a, 0x07, 0xd7, 0x72, 0xf5, 0x33}};
-//
-// Keyword
-//
-#define CLR_STRESSSTACK_KEYWORD 0x40000000
-
-//
-// Event Descriptors
-//
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR StressLogEvent = {0x0, 0x0, 0x0, 0x4, 0x1, 0x1, 0x0};
-#define StressLogEvent_value 0x0
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR StressLogEvent_V1 = {0x0, 0x1, 0x0, 0x4, 0x1, 0x1, 0x0};
-#define StressLogEvent_V1_value 0x0
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR CLRStackWalkStress = {0x1, 0x0, 0x0, 0x0, 0x52, 0xb, 0x40000000};
-#define CLRStackWalkStress_value 0x1
-
-//
-// Note on Generate Code from Manifest Windows Vista and above
-//
-//Structures : are handled as a size and pointer pairs. The macro for the event will have an extra
-//parameter for the size in bytes of the structure. Make sure that your structures have no extra padding.
-//
-//Strings: There are several cases that can be described in the manifest. For array of variable length
-//strings, the generated code will take the count of characters for the whole array as an input parameter.
-//
-//SID No support for array of SIDs, the macro will take a pointer to the SID and use appropriate
-//GetLengthSid function to get the length.
-//
-
-//
-// Allow Diasabling of code generation
-//
-#ifndef MCGEN_DISABLE_PROVIDER_CODE_GENERATION
-
-//
-// Globals
-//
-
-
-//
-// Event Enablement Bits
-//
-
-EXTERN_C __declspec(selectany) DECLSPEC_CACHEALIGN ULONG Microsoft_Windows_DotNETRuntimeStressEnableBits[1];
-EXTERN_C __declspec(selectany) const ULONGLONG Microsoft_Windows_DotNETRuntimeStressKeywords[2] = {0x0, 0x40000000};
-EXTERN_C __declspec(selectany) const UCHAR Microsoft_Windows_DotNETRuntimeStressLevels[2] = {4, 0};
-EXTERN_C __declspec(selectany) MCGEN_TRACE_CONTEXT MICROSOFT_WINDOWS_DOTNETRUNTIME_STRESS_PROVIDER_Context = {0, 0, 0, 0, 0, 0, 0, 0, 2, Microsoft_Windows_DotNETRuntimeStressEnableBits, Microsoft_Windows_DotNETRuntimeStressKeywords, Microsoft_Windows_DotNETRuntimeStressLevels};
-
-EXTERN_C __declspec(selectany) REGHANDLE Microsoft_Windows_DotNETRuntimeStressHandle = (REGHANDLE)0;
-
-#if !defined(McGenEventRegisterUnregister)
-#define McGenEventRegisterUnregister
-DECLSPEC_NOINLINE __inline
-ULONG __stdcall
-McGenEventRegister(
- _In_ LPCGUID ProviderId,
- _In_opt_ PENABLECALLBACK EnableCallback,
- _In_opt_ PVOID CallbackContext,
- _Inout_ PREGHANDLE RegHandle
- )
-/*++
-
-Routine Description:
-
- This function register the provider with ETW USER mode.
-
-Arguments:
- ProviderId - Provider Id to be register with ETW.
-
- EnableCallback - Callback to be used.
-
- CallbackContext - Context for this provider.
-
- RegHandle - Pointer to Registration handle.
-
-Remarks:
-
- If the handle != NULL will return ERROR_SUCCESS
-
---*/
-{
- ULONG Error;
-
-
- if (*RegHandle) {
- //
- // already registered
- //
- return ERROR_SUCCESS;
- }
-
- Error = EventRegister( ProviderId, EnableCallback, CallbackContext, RegHandle);
-
- return Error;
-}
-
-
-DECLSPEC_NOINLINE __inline
-ULONG __stdcall
-McGenEventUnregister(_Inout_ PREGHANDLE RegHandle)
-/*++
-
-Routine Description:
-
- Unregister from ETW USER mode
-
-Arguments:
- RegHandle this is the pointer to the provider context
-Remarks:
- If Provider has not register RegHandle = NULL,
- return ERROR_SUCCESS
---*/
-{
- ULONG Error;
-
-
- if(!(*RegHandle)) {
- //
- // Provider has not registerd
- //
- return ERROR_SUCCESS;
- }
-
- Error = EventUnregister(*RegHandle);
- *RegHandle = (REGHANDLE)0;
-
- return Error;
-}
-#endif
-//
-// Register with ETW Vista +
-//
-#ifndef EventRegisterMicrosoft_Windows_DotNETRuntimeStress
-#define EventRegisterMicrosoft_Windows_DotNETRuntimeStress() McGenEventRegister(&MICROSOFT_WINDOWS_DOTNETRUNTIME_STRESS_PROVIDER, McGenControlCallbackV2, &MICROSOFT_WINDOWS_DOTNETRUNTIME_STRESS_PROVIDER_Context, &Microsoft_Windows_DotNETRuntimeStressHandle)
-#endif
-
-//
-// UnRegister with ETW
-//
-#ifndef EventUnregisterMicrosoft_Windows_DotNETRuntimeStress
-#define EventUnregisterMicrosoft_Windows_DotNETRuntimeStress() McGenEventUnregister(&Microsoft_Windows_DotNETRuntimeStressHandle)
-#endif
-
-//
-// Enablement check macro for StressLogEvent
-//
-
-#define EventEnabledStressLogEvent() ((Microsoft_Windows_DotNETRuntimeStressEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for StressLogEvent
-//
-#define FireEtwStressLogEvent(Facility, LogLevel, Message)\
- EventEnabledStressLogEvent() ?\
- CoTemplate_qcs(Microsoft_Windows_DotNETRuntimeStressHandle, &StressLogEvent, Facility, LogLevel, Message)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for StressLogEvent_V1
-//
-
-#define EventEnabledStressLogEvent_V1() ((Microsoft_Windows_DotNETRuntimeStressEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for StressLogEvent_V1
-//
-#define FireEtwStressLogEvent_V1(Facility, LogLevel, Message, ClrInstanceID)\
- EventEnabledStressLogEvent_V1() ?\
- CoTemplate_qcsh(Microsoft_Windows_DotNETRuntimeStressHandle, &StressLogEvent_V1, Facility, LogLevel, Message, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for CLRStackWalkStress
-//
-
-#define EventEnabledCLRStackWalkStress() ((Microsoft_Windows_DotNETRuntimeStressEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for CLRStackWalkStress
-//
-#define FireEtwCLRStackWalkStress(ClrInstanceID, Reserved1, Reserved2, FrameCount, Stack)\
- EventEnabledCLRStackWalkStress() ?\
- CoTemplate_hccqP2(Microsoft_Windows_DotNETRuntimeStressHandle, &CLRStackWalkStress, ClrInstanceID, Reserved1, Reserved2, FrameCount, Stack)\
- : ERROR_SUCCESS\
-
-#endif // MCGEN_DISABLE_PROVIDER_CODE_GENERATION
-
-//+
-// Provider Microsoft-Windows-DotNETRuntimePrivate Event Count 181
-//+
-EXTERN_C __declspec(selectany) const GUID MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER = {0x763fd754, 0x7086, 0x4dfe, {0x95, 0xeb, 0xc0, 0x1a, 0x46, 0xfa, 0xf4, 0xca}};
-
-//
-// Opcodes
-//
-#define CLR_PRIVATEGC_GCDECISION_OPCODE 0x84
-#define CLR_PRIVATEGC_GCSETTINGS_OPCODE 0xe
-#define CLR_PRIVATEGC_GCOPTIMIZED_OPCODE 0x10
-#define CLR_PRIVATEGC_GCPERHEAPHISTORY_OPCODE 0x11
-#define CLR_PRIVATEGC_GCGLOBALHEAPHISTORY_OPCODE 0x12
-#define CLR_PRIVATEGC_GCFULLNOTIFY_OPCODE 0x13
-#define CLR_PRIVATEGC_JOIN_OPCODE 0x14
-#define CLR_PRIVATEGC_MARKSTACKROOTS_OPCODE 0x15
-#define CLR_PRIVATEGC_MARKFINALIZEQUEUEROOTS_OPCODE 0x16
-#define CLR_PRIVATEGC_MARKHANDLES_OPCODE 0x17
-#define CLR_PRIVATEGC_MARKCARDS_OPCODE 0x18
-#define CLR_PRIVATEGC_BGCBEGIN_OPCODE 0x19
-#define CLR_PRIVATEGC_BGC1STNONCONEND_OPCODE 0x1a
-#define CLR_PRIVATEGC_BGC1STCONEND_OPCODE 0x1b
-#define CLR_PRIVATEGC_BGC2NDNONCONBEGIN_OPCODE 0x1c
-#define CLR_PRIVATEGC_BGC2NDNONCONEND_OPCODE 0x1d
-#define CLR_PRIVATEGC_BGC2NDCONBEGIN_OPCODE 0x1e
-#define CLR_PRIVATEGC_BGC2NDCONEND_OPCODE 0x1f
-#define CLR_PRIVATEGC_BGCPLANEND_OPCODE 0x20
-#define CLR_PRIVATEGC_BGCSWEEPEND_OPCODE 0x21
-#define CLR_PRIVATEGC_BGCDRAINMARK_OPCODE 0x22
-#define CLR_PRIVATEGC_BGCREVISIT_OPCODE 0x23
-#define CLR_PRIVATEGC_BGCOVERFLOW_OPCODE 0x24
-#define CLR_PRIVATEGC_BGCALLOCWAITBEGIN_OPCODE 0x25
-#define CLR_PRIVATEGC_BGCALLOCWAITEND_OPCODE 0x26
-#define CLR_PRIVATEGC_FINALIZEOBJECT_OPCODE 0x27
-#define CLR_PRIVATEGC_CCWREFCOUNTCHANGE_OPCODE 0x28
-#define CLR_PRIVATEGC_SETGCHANDLE_OPCODE 0x2a
-#define CLR_PRIVATEGC_DESTROYGCHANDLE_OPCODE 0x2b
-#define CLR_PRIVATEGC_PINGCPLUG_OPCODE 0x2c
-#define CLR_FAILFAST_FAILFAST_OPCODE 0x34
-#define CLR_PRIVATESTARTUP_EESTARTUPSTART_OPCODE 0x80
-#define CLR_PRIVATESTARTUP_EESTARTUPEND_OPCODE 0x81
-#define CLR_PRIVATESTARTUP_EECONFIGSETUP_OPCODE 0x82
-#define CLR_PRIVATESTARTUP_EECONFIGSETUPEND_OPCODE 0x83
-#define CLR_PRIVATESTARTUP_LOADSYSTEMBASES_OPCODE 0x84
-#define CLR_PRIVATESTARTUP_LOADSYSTEMBASESEND_OPCODE 0x85
-#define CLR_PRIVATESTARTUP_EXEEXE_OPCODE 0x86
-#define CLR_PRIVATESTARTUP_EXEEXEEND_OPCODE 0x87
-#define CLR_PRIVATESTARTUP_MAIN_OPCODE 0x88
-#define CLR_PRIVATESTARTUP_MAINEND_OPCODE 0x89
-#define CLR_PRIVATESTARTUP_APPLYPOLICYSTART_OPCODE 0xa
-#define CLR_PRIVATESTARTUP_APPLYPOLICYEND_OPCODE 0xb
-#define CLR_PRIVATESTARTUP_LDLIBSHFOLDER_OPCODE 0xc
-#define CLR_PRIVATESTARTUP_LDLIBSHFOLDEREND_OPCODE 0xd
-#define CLR_PRIVATESTARTUP_PRESTUBWORKER_OPCODE 0xe
-#define CLR_PRIVATESTARTUP_PRESTUBWORKEREND_OPCODE 0xf
-#define CLR_PRIVATESTARTUP_GETINSTALLATIONSTART_OPCODE 0x10
-#define CLR_PRIVATESTARTUP_GETINSTALLATIONEND_OPCODE 0x11
-#define CLR_PRIVATESTARTUP_OPENHMODULE_OPCODE 0x12
-#define CLR_PRIVATESTARTUP_OPENHMODULEEND_OPCODE 0x13
-#define CLR_PRIVATESTARTUP_EXPLICITBINDSTART_OPCODE 0x14
-#define CLR_PRIVATESTARTUP_EXPLICITBINDEND_OPCODE 0x15
-#define CLR_PRIVATESTARTUP_PARSEXML_OPCODE 0x16
-#define CLR_PRIVATESTARTUP_PARSEXMLEND_OPCODE 0x17
-#define CLR_PRIVATESTARTUP_INITDEFAULTDOMAIN_OPCODE 0x18
-#define CLR_PRIVATESTARTUP_INITDEFAULTDOMAINEND_OPCODE 0x19
-#define CLR_PRIVATESTARTUP_INITSECURITY_OPCODE 0x1a
-#define CLR_PRIVATESTARTUP_INITSECURITYEND_OPCODE 0x1b
-#define CLR_PRIVATESTARTUP_ALLOWBINDINGREDIRS_OPCODE 0x1c
-#define CLR_PRIVATESTARTUP_ALLOWBINDINGREDIRSEND_OPCODE 0x1d
-#define CLR_PRIVATESTARTUP_EECONFIGSYNC_OPCODE 0x1e
-#define CLR_PRIVATESTARTUP_EECONFIGSYNCEND_OPCODE 0x1f
-#define CLR_PRIVATESTARTUP_FUSIONBINDING_OPCODE 0x20
-#define CLR_PRIVATESTARTUP_FUSIONBINDINGEND_OPCODE 0x21
-#define CLR_PRIVATESTARTUP_LOADERCATCHCALL_OPCODE 0x22
-#define CLR_PRIVATESTARTUP_LOADERCATCHCALLEND_OPCODE 0x23
-#define CLR_PRIVATESTARTUP_FUSIONINIT_OPCODE 0x24
-#define CLR_PRIVATESTARTUP_FUSIONINITEND_OPCODE 0x25
-#define CLR_PRIVATESTARTUP_FUSIONAPPCTX_OPCODE 0x26
-#define CLR_PRIVATESTARTUP_FUSIONAPPCTXEND_OPCODE 0x27
-#define CLR_PRIVATESTARTUP_FUSION2EE_OPCODE 0x28
-#define CLR_PRIVATESTARTUP_FUSION2EEEND_OPCODE 0x29
-#define CLR_PRIVATESTARTUP_SECURITYCATCHCALL_OPCODE 0x2a
-#define CLR_PRIVATESTARTUP_SECURITYCATCHCALLEND_OPCODE 0x2b
-#define CLR_PRIVATEBINDING_BINDINGPOLICYPHASESTART_OPCODE 0x33
-#define CLR_PRIVATEBINDING_BINDINGPOLICYPHASEEND_OPCODE 0x34
-#define CLR_PRIVATEBINDING_BINDINGNGENPHASESTART_OPCODE 0x35
-#define CLR_PRIVATEBINDING_BINDINGNGENPHASEEND_OPCODE 0x36
-#define CLR_PRIVATEBINDING_BINDINGLOOKUPANDPROBINGPHASESTART_OPCODE 0x37
-#define CLR_PRIVATEBINDING_BINDINGLOOKUPANDPROBINGPHASEEND_OPCODE 0x38
-#define CLR_PRIVATEBINDING_LOADERPHASESTART_OPCODE 0x39
-#define CLR_PRIVATEBINDING_LOADERPHASEEND_OPCODE 0x3a
-#define CLR_PRIVATEBINDING_BINDINGPHASESTART_OPCODE 0x3b
-#define CLR_PRIVATEBINDING_BINDINGPHASEEND_OPCODE 0x3c
-#define CLR_PRIVATEBINDING_BINDINGDOWNLOADPHASESTART_OPCODE 0x3d
-#define CLR_PRIVATEBINDING_BINDINGDOWNLOADPHASEEND_OPCODE 0x3e
-#define CLR_PRIVATEBINDING_LOADERASSEMBLYINITPHASESTART_OPCODE 0x3f
-#define CLR_PRIVATEBINDING_LOADERASSEMBLYINITPHASEEND_OPCODE 0x40
-#define CLR_PRIVATEBINDING_LOADERMAPPINGPHASESTART_OPCODE 0x41
-#define CLR_PRIVATEBINDING_LOADERMAPPINGPHASEEND_OPCODE 0x42
-#define CLR_PRIVATEBINDING_LOADERDELIVERYEVENTSPHASESTART_OPCODE 0x43
-#define CLR_PRIVATEBINDING_LOADERDELIVERYEVENTSPHASEEND_OPCODE 0x44
-#define CLR_PRIVATEBINDING_FUSIONMESSAGE_OPCODE 0x46
-#define CLR_PRIVATEBINDING_FUSIONERRORCODE_OPCODE 0x47
-#define CLR_PRIVATESTACK_STACKWALK_OPCODE 0x52
-#define CLR_EVIDENCEGENERATED_OPCODE 0xa
-#define CLR_NGEN_BINDER_OPCODE 0x45
-#define CLR_MODULE_TRANSPARENCY_COMPUTATION_START_OPCODE 0x53
-#define CLR_MODULE_TRANSPARENCY_COMPUTATION_END_OPCODE 0x54
-#define CLR_TYPE_TRANSPARENCY_COMPUTATION_START_OPCODE 0x55
-#define CLR_TYPE_TRANSPARENCY_COMPUTATION_END_OPCODE 0x56
-#define CLR_METHOD_TRANSPARENCY_COMPUTATION_START_OPCODE 0x57
-#define CLR_METHOD_TRANSPARENCY_COMPUTATION_END_OPCODE 0x58
-#define CLR_FIELD_TRANSPARENCY_COMPUTATION_START_OPCODE 0x59
-#define CLR_FIELD_TRANSPARENCY_COMPUTATION_END_OPCODE 0x5a
-#define CLR_TOKEN_TRANSPARENCY_COMPUTATION_START_OPCODE 0x5b
-#define CLR_TOKEN_TRANSPARENCY_COMPUTATION_END_OPCODE 0x5c
-#define CLR_LOADERHEAP_ALLOCREQUEST_OPCODE 0x61
-#define CLR_MULTICOREJIT_COMMON_OPCODE 0xa
-#define CLR_MULTICOREJIT_METHODCODERETURNED_OPCODE 0xb
-#define CLR_PERFTRACK_PRIVATE_MODULE_RANGE_LOAD_OPCODE 0xa
-#define CLR_DYNAMICTYPEUSAGE_IINSPECTABLERUNTIMECLASSNAME_OPCODE 0xb
-#define CLR_DYNAMICTYPEUSAGE_WINRTUNBOX_OPCODE 0xc
-#define CLR_DYNAMICTYPEUSAGE_CREATERCW_OPCODE 0xd
-#define CLR_DYNAMICTYPEUSAGE_RCWVARIANCE_OPCODE 0xe
-#define CLR_DYNAMICTYPEUSAGE_RCWIENUMERABLECASTING_OPCODE 0xf
-#define CLR_DYNAMICTYPEUSAGE_CREATECCW_OPCODE 0x10
-#define CLR_DYNAMICTYPEUSAGE_CCWVARIANCE_OPCODE 0x11
-#define CLR_DYNAMICTYPEUSAGE_OBJECTVARIANTMARSHALLINGTONATIVE_OPCODE 0x12
-#define CLR_DYNAMICTYPEUSAGE_GETTYPEFROMGUID_OPCODE 0x13
-#define CLR_DYNAMICTYPEUSAGE_GETTYPEFROMPROGID_OPCODE 0x14
-#define CLR_DYNAMICTYPEUSAGE_CONVERTTOCALLBACKETW_OPCODE 0x15
-#define CLR_DYNAMICTYPEUSAGE_BEGINCREATEMANAGEDREFERENCE_OPCODE 0x16
-#define CLR_DYNAMICTYPEUSAGE_ENDCREATEMANAGEDREFERENCE_OPCODE 0x17
-#define CLR_DYNAMICTYPEUSAGE_OBJECTVARIANTMARSHALLINGTOMANAGED_OPCODE 0x18
-
-//
-// Tasks
-//
-#define CLR_GCPRIVATE_TASK 0x1
-EXTERN_C __declspec(selectany) const GUID GarbageCollectionPrivateId = {0x2f1b6bf6, 0x18ff, 0x4645, {0x95, 0x01, 0x15, 0xdf, 0x6c, 0x64, 0xc2, 0xcf}};
-#define CLR_FAILFAST_TASK 0x2
-EXTERN_C __declspec(selectany) const GUID CLRFailFastId = {0xee9ede12, 0xc5f5, 0x4995, {0x81, 0xa2, 0xdc, 0xfb, 0x5f, 0x6b, 0x80, 0xc8}};
-#define CLR_STARTUP_TASK 0x9
-EXTERN_C __declspec(selectany) const GUID StartupId = {0x02d08a4f, 0xfd01, 0x4538, {0x98, 0x9b, 0x03, 0xe4, 0x37, 0xb9, 0x50, 0xf4}};
-#define CLR_BINDING_TASK 0xa
-EXTERN_C __declspec(selectany) const GUID BindingId = {0xe90e32ba, 0xe396, 0x4e6a, {0xa7, 0x90, 0x0a, 0x08, 0xc6, 0xc9, 0x25, 0xdc}};
-#define CLR_STACKPRIVATE_TASK 0xb
-EXTERN_C __declspec(selectany) const GUID CLRStackPrivateId = {0xd3363dc0, 0x243a, 0x4620, {0xa4, 0xd0, 0x8a, 0x07, 0xd7, 0x72, 0xf5, 0x33}};
-#define CLR_EVIDENCE_GENERATED_TASK 0xc
-EXTERN_C __declspec(selectany) const GUID EvidenceGeneratedTaskId = {0x24333617, 0x5ae4, 0x4f9e, {0xa5, 0xc5, 0x5e, 0xde, 0x1b, 0xc5, 0x92, 0x07}};
-#define CLR_NGEN_BINDER_TASK 0xd
-EXTERN_C __declspec(selectany) const GUID CLRNgenBinderId = {0x861f5339, 0x19d6, 0x4873, {0xb3, 0x50, 0x7b, 0x03, 0x22, 0x8b, 0xda, 0x7c}};
-#define CLR_TRANSPARENCY_COMPUTATION_TASK 0xe
-EXTERN_C __declspec(selectany) const GUID TransparencyComputationId = {0xe2444377, 0xddf9, 0x4589, {0xa8, 0x85, 0x08, 0xd6, 0x09, 0x25, 0x21, 0xdf}};
-#define CLR_LOADERHEAPALLOCATIONPRIVATE_TASK 0x10
-EXTERN_C __declspec(selectany) const GUID LoaderHeapAllocationId = {0x87f1e966, 0xd604, 0x41ba, {0xb1, 0xab, 0x18, 0x38, 0x49, 0xdf, 0xf2, 0x9d}};
-#define CLR_MULTICOREJIT_TASK 0x11
-EXTERN_C __declspec(selectany) const GUID CLRMulticoreJitId = {0xb85ad9e5, 0x658b, 0x4215, {0x8d, 0xdb, 0x83, 0x40, 0x40, 0xf4, 0xbc, 0x10}};
-#define CLR_PERFTRACK_PRIVATE_TASK 0x14
-EXTERN_C __declspec(selectany) const GUID CLRPerfTrackPrivateId = {0xeac685f6, 0x2104, 0x4dec, {0x88, 0xfd, 0x91, 0xe4, 0x25, 0x42, 0x21, 0xec}};
-#define CLR_DYNAMICTYPEUSAGE_TASK 0x16
-EXTERN_C __declspec(selectany) const GUID DynamicTypeUsageId = {0x4f67e18d, 0xeedd, 0x4056, {0xb8, 0xce, 0xdd, 0x82, 0x2f, 0xe5, 0x45, 0x53}};
-//
-// Keyword
-//
-#define CLR_PRIVATEGC_KEYWORD 0x1
-#define CLR_PRIVATEBINDING_KEYWORD 0x2
-#define CLR_PRIVATENGENFORCERESTORE_KEYWORD 0x4
-#define CLR_PRIVATEFUSION_KEYWORD 0x8
-#define CLR_PRIVATELOADERHEAP_KEYWORD 0x10
-#define CLR_PRIVATESECURITY_KEYWORD 0x400
-#define CLR_INTEROP_KEYWORD 0x2000
-#define CLR_PRIVATEGCHANDLE_KEYWORD 0x4000
-#define CLR_PRIVATEMULTICOREJIT_KEYWORD 0x20000
-#define CLR_PRIVATESTACK_KEYWORD 0x40000000
-#define CLR_PRIVATESTARTUP_KEYWORD 0x80000000
-#define CLR_PERFTRACK_PRIVATE_KEYWORD 0x20000000
-#define CLR_PRIVATE_DYNAMICTYPEUSAGE_KEYWORD 0x20
-
-//
-// Event Descriptors
-//
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCDecision = {0x1, 0x0, 0x0, 0x4, 0x84, 0x1, 0x1};
-#define GCDecision_value 0x1
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCDecision_V1 = {0x1, 0x1, 0x0, 0x4, 0x84, 0x1, 0x1};
-#define GCDecision_V1_value 0x1
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCSettings = {0x2, 0x0, 0x0, 0x4, 0xe, 0x1, 0x1};
-#define GCSettings_value 0x2
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCSettings_V1 = {0x2, 0x1, 0x0, 0x4, 0xe, 0x1, 0x1};
-#define GCSettings_V1_value 0x2
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCOptimized = {0x3, 0x0, 0x0, 0x5, 0x10, 0x1, 0x1};
-#define GCOptimized_value 0x3
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCOptimized_V1 = {0x3, 0x1, 0x0, 0x5, 0x10, 0x1, 0x1};
-#define GCOptimized_V1_value 0x3
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCPerHeapHistory = {0x4, 0x2, 0x0, 0x4, 0x11, 0x1, 0x1};
-#define GCPerHeapHistory_value 0x4
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCPerHeapHistory_V1 = {0x4, 0x1, 0x0, 0x4, 0x11, 0x1, 0x1};
-#define GCPerHeapHistory_V1_value 0x4
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCGlobalHeapHistory = {0x5, 0x0, 0x0, 0x4, 0x12, 0x1, 0x1};
-#define GCGlobalHeapHistory_value 0x5
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCGlobalHeapHistory_V1 = {0x5, 0x1, 0x0, 0x4, 0x12, 0x1, 0x1};
-#define GCGlobalHeapHistory_V1_value 0x5
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCJoin = {0x6, 0x0, 0x0, 0x5, 0x14, 0x1, 0x1};
-#define GCJoin_value 0x6
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCJoin_V1 = {0x6, 0x1, 0x0, 0x5, 0x14, 0x1, 0x1};
-#define GCJoin_V1_value 0x6
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrvGCMarkStackRoots = {0x7, 0x0, 0x0, 0x4, 0x15, 0x1, 0x1};
-#define PrvGCMarkStackRoots_value 0x7
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrvGCMarkStackRoots_V1 = {0x7, 0x1, 0x0, 0x4, 0x15, 0x1, 0x1};
-#define PrvGCMarkStackRoots_V1_value 0x7
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrvGCMarkFinalizeQueueRoots = {0x8, 0x0, 0x0, 0x4, 0x16, 0x1, 0x1};
-#define PrvGCMarkFinalizeQueueRoots_value 0x8
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrvGCMarkFinalizeQueueRoots_V1 = {0x8, 0x1, 0x0, 0x4, 0x16, 0x1, 0x1};
-#define PrvGCMarkFinalizeQueueRoots_V1_value 0x8
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrvGCMarkHandles = {0x9, 0x0, 0x0, 0x4, 0x17, 0x1, 0x1};
-#define PrvGCMarkHandles_value 0x9
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrvGCMarkHandles_V1 = {0x9, 0x1, 0x0, 0x4, 0x17, 0x1, 0x1};
-#define PrvGCMarkHandles_V1_value 0x9
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrvGCMarkCards = {0xa, 0x0, 0x0, 0x4, 0x18, 0x1, 0x1};
-#define PrvGCMarkCards_value 0xa
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrvGCMarkCards_V1 = {0xa, 0x1, 0x0, 0x4, 0x18, 0x1, 0x1};
-#define PrvGCMarkCards_V1_value 0xa
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGCBegin = {0xb, 0x0, 0x0, 0x4, 0x19, 0x1, 0x1};
-#define BGCBegin_value 0xb
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGC1stNonConEnd = {0xc, 0x0, 0x0, 0x4, 0x1a, 0x1, 0x1};
-#define BGC1stNonConEnd_value 0xc
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGC1stConEnd = {0xd, 0x0, 0x0, 0x4, 0x1b, 0x1, 0x1};
-#define BGC1stConEnd_value 0xd
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGC2ndNonConBegin = {0xe, 0x0, 0x0, 0x4, 0x1c, 0x1, 0x1};
-#define BGC2ndNonConBegin_value 0xe
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGC2ndNonConEnd = {0xf, 0x0, 0x0, 0x4, 0x1d, 0x1, 0x1};
-#define BGC2ndNonConEnd_value 0xf
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGC2ndConBegin = {0x10, 0x0, 0x0, 0x4, 0x1e, 0x1, 0x1};
-#define BGC2ndConBegin_value 0x10
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGC2ndConEnd = {0x11, 0x0, 0x0, 0x4, 0x1f, 0x1, 0x1};
-#define BGC2ndConEnd_value 0x11
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGCPlanEnd = {0x12, 0x0, 0x0, 0x4, 0x20, 0x1, 0x1};
-#define BGCPlanEnd_value 0x12
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGCSweepEnd = {0x13, 0x0, 0x0, 0x4, 0x21, 0x1, 0x1};
-#define BGCSweepEnd_value 0x13
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGCDrainMark = {0x14, 0x0, 0x0, 0x4, 0x22, 0x1, 0x1};
-#define BGCDrainMark_value 0x14
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGCRevisit = {0x15, 0x0, 0x0, 0x4, 0x23, 0x1, 0x1};
-#define BGCRevisit_value 0x15
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGCOverflow = {0x16, 0x0, 0x0, 0x4, 0x24, 0x1, 0x1};
-#define BGCOverflow_value 0x16
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGCAllocWaitBegin = {0x17, 0x0, 0x0, 0x4, 0x25, 0x1, 0x1};
-#define BGCAllocWaitBegin_value 0x17
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BGCAllocWaitEnd = {0x18, 0x0, 0x0, 0x4, 0x26, 0x1, 0x1};
-#define BGCAllocWaitEnd_value 0x18
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCFullNotify = {0x19, 0x0, 0x0, 0x4, 0x13, 0x1, 0x1};
-#define GCFullNotify_value 0x19
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GCFullNotify_V1 = {0x19, 0x1, 0x0, 0x4, 0x13, 0x1, 0x1};
-#define GCFullNotify_V1_value 0x19
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EEStartupStart = {0x50, 0x0, 0x0, 0x4, 0x80, 0x9, 0x80000000};
-#define EEStartupStart_value 0x50
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EEStartupStart_V1 = {0x50, 0x1, 0x0, 0x4, 0x80, 0x9, 0x80000000};
-#define EEStartupStart_V1_value 0x50
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EEStartupEnd = {0x51, 0x0, 0x0, 0x4, 0x81, 0x9, 0x80000000};
-#define EEStartupEnd_value 0x51
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EEStartupEnd_V1 = {0x51, 0x1, 0x0, 0x4, 0x81, 0x9, 0x80000000};
-#define EEStartupEnd_V1_value 0x51
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EEConfigSetup = {0x52, 0x0, 0x0, 0x4, 0x82, 0x9, 0x80000000};
-#define EEConfigSetup_value 0x52
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EEConfigSetup_V1 = {0x52, 0x1, 0x0, 0x4, 0x82, 0x9, 0x80000000};
-#define EEConfigSetup_V1_value 0x52
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EEConfigSetupEnd = {0x53, 0x0, 0x0, 0x4, 0x83, 0x9, 0x80000000};
-#define EEConfigSetupEnd_value 0x53
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EEConfigSetupEnd_V1 = {0x53, 0x1, 0x0, 0x4, 0x83, 0x9, 0x80000000};
-#define EEConfigSetupEnd_V1_value 0x53
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LdSysBases = {0x54, 0x0, 0x0, 0x4, 0x84, 0x9, 0x80000000};
-#define LdSysBases_value 0x54
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LdSysBases_V1 = {0x54, 0x1, 0x0, 0x4, 0x84, 0x9, 0x80000000};
-#define LdSysBases_V1_value 0x54
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LdSysBasesEnd = {0x55, 0x0, 0x0, 0x4, 0x85, 0x9, 0x80000000};
-#define LdSysBasesEnd_value 0x55
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LdSysBasesEnd_V1 = {0x55, 0x1, 0x0, 0x4, 0x85, 0x9, 0x80000000};
-#define LdSysBasesEnd_V1_value 0x55
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExecExe = {0x56, 0x0, 0x0, 0x4, 0x86, 0x9, 0x80000000};
-#define ExecExe_value 0x56
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExecExe_V1 = {0x56, 0x1, 0x0, 0x4, 0x86, 0x9, 0x80000000};
-#define ExecExe_V1_value 0x56
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExecExeEnd = {0x57, 0x0, 0x0, 0x4, 0x87, 0x9, 0x80000000};
-#define ExecExeEnd_value 0x57
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExecExeEnd_V1 = {0x57, 0x1, 0x0, 0x4, 0x87, 0x9, 0x80000000};
-#define ExecExeEnd_V1_value 0x57
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR Main = {0x58, 0x0, 0x0, 0x4, 0x88, 0x9, 0x80000000};
-#define Main_value 0x58
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR Main_V1 = {0x58, 0x1, 0x0, 0x4, 0x88, 0x9, 0x80000000};
-#define Main_V1_value 0x58
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MainEnd = {0x59, 0x0, 0x0, 0x4, 0x89, 0x9, 0x80000000};
-#define MainEnd_value 0x59
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MainEnd_V1 = {0x59, 0x1, 0x0, 0x4, 0x89, 0x9, 0x80000000};
-#define MainEnd_V1_value 0x59
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ApplyPolicyStart = {0x5a, 0x0, 0x0, 0x4, 0xa, 0x9, 0x80000000};
-#define ApplyPolicyStart_value 0x5a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ApplyPolicyStart_V1 = {0x5a, 0x1, 0x0, 0x4, 0xa, 0x9, 0x80000000};
-#define ApplyPolicyStart_V1_value 0x5a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ApplyPolicyEnd = {0x5b, 0x0, 0x0, 0x4, 0xb, 0x9, 0x80000000};
-#define ApplyPolicyEnd_value 0x5b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ApplyPolicyEnd_V1 = {0x5b, 0x1, 0x0, 0x4, 0xb, 0x9, 0x80000000};
-#define ApplyPolicyEnd_V1_value 0x5b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LdLibShFolder = {0x5c, 0x0, 0x0, 0x4, 0xc, 0x9, 0x80000000};
-#define LdLibShFolder_value 0x5c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LdLibShFolder_V1 = {0x5c, 0x1, 0x0, 0x4, 0xc, 0x9, 0x80000000};
-#define LdLibShFolder_V1_value 0x5c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LdLibShFolderEnd = {0x5d, 0x0, 0x0, 0x4, 0xd, 0x9, 0x80000000};
-#define LdLibShFolderEnd_value 0x5d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LdLibShFolderEnd_V1 = {0x5d, 0x1, 0x0, 0x4, 0xd, 0x9, 0x80000000};
-#define LdLibShFolderEnd_V1_value 0x5d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrestubWorker = {0x5e, 0x0, 0x0, 0x4, 0xe, 0x9, 0x80000000};
-#define PrestubWorker_value 0x5e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrestubWorker_V1 = {0x5e, 0x1, 0x0, 0x4, 0xe, 0x9, 0x80000000};
-#define PrestubWorker_V1_value 0x5e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrestubWorkerEnd = {0x5f, 0x0, 0x0, 0x4, 0xf, 0x9, 0x80000000};
-#define PrestubWorkerEnd_value 0x5f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrestubWorkerEnd_V1 = {0x5f, 0x1, 0x0, 0x4, 0xf, 0x9, 0x80000000};
-#define PrestubWorkerEnd_V1_value 0x5f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GetInstallationStart = {0x60, 0x0, 0x0, 0x4, 0x10, 0x9, 0x80000000};
-#define GetInstallationStart_value 0x60
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GetInstallationStart_V1 = {0x60, 0x1, 0x0, 0x4, 0x10, 0x9, 0x80000000};
-#define GetInstallationStart_V1_value 0x60
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GetInstallationEnd = {0x61, 0x0, 0x0, 0x4, 0x11, 0x9, 0x80000000};
-#define GetInstallationEnd_value 0x61
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GetInstallationEnd_V1 = {0x61, 0x1, 0x0, 0x4, 0x11, 0x9, 0x80000000};
-#define GetInstallationEnd_V1_value 0x61
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR OpenHModule = {0x62, 0x0, 0x0, 0x4, 0x12, 0x9, 0x80000000};
-#define OpenHModule_value 0x62
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR OpenHModule_V1 = {0x62, 0x1, 0x0, 0x4, 0x12, 0x9, 0x80000000};
-#define OpenHModule_V1_value 0x62
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR OpenHModuleEnd = {0x63, 0x0, 0x0, 0x4, 0x13, 0x9, 0x80000000};
-#define OpenHModuleEnd_value 0x63
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR OpenHModuleEnd_V1 = {0x63, 0x1, 0x0, 0x4, 0x13, 0x9, 0x80000000};
-#define OpenHModuleEnd_V1_value 0x63
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExplicitBindStart = {0x64, 0x0, 0x0, 0x4, 0x14, 0x9, 0x80000000};
-#define ExplicitBindStart_value 0x64
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExplicitBindStart_V1 = {0x64, 0x1, 0x0, 0x4, 0x14, 0x9, 0x80000000};
-#define ExplicitBindStart_V1_value 0x64
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExplicitBindEnd = {0x65, 0x0, 0x0, 0x4, 0x15, 0x9, 0x80000000};
-#define ExplicitBindEnd_value 0x65
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ExplicitBindEnd_V1 = {0x65, 0x1, 0x0, 0x4, 0x15, 0x9, 0x80000000};
-#define ExplicitBindEnd_V1_value 0x65
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ParseXml = {0x66, 0x0, 0x0, 0x4, 0x16, 0x9, 0x80000000};
-#define ParseXml_value 0x66
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ParseXml_V1 = {0x66, 0x1, 0x0, 0x4, 0x16, 0x9, 0x80000000};
-#define ParseXml_V1_value 0x66
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ParseXmlEnd = {0x67, 0x0, 0x0, 0x4, 0x17, 0x9, 0x80000000};
-#define ParseXmlEnd_value 0x67
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ParseXmlEnd_V1 = {0x67, 0x1, 0x0, 0x4, 0x17, 0x9, 0x80000000};
-#define ParseXmlEnd_V1_value 0x67
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR InitDefaultDomain = {0x68, 0x0, 0x0, 0x4, 0x18, 0x9, 0x80000000};
-#define InitDefaultDomain_value 0x68
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR InitDefaultDomain_V1 = {0x68, 0x1, 0x0, 0x4, 0x18, 0x9, 0x80000000};
-#define InitDefaultDomain_V1_value 0x68
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR InitDefaultDomainEnd = {0x69, 0x0, 0x0, 0x4, 0x19, 0x9, 0x80000000};
-#define InitDefaultDomainEnd_value 0x69
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR InitDefaultDomainEnd_V1 = {0x69, 0x1, 0x0, 0x4, 0x19, 0x9, 0x80000000};
-#define InitDefaultDomainEnd_V1_value 0x69
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR InitSecurity = {0x6a, 0x0, 0x0, 0x4, 0x1a, 0x9, 0x80000000};
-#define InitSecurity_value 0x6a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR InitSecurity_V1 = {0x6a, 0x1, 0x0, 0x4, 0x1a, 0x9, 0x80000000};
-#define InitSecurity_V1_value 0x6a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR InitSecurityEnd = {0x6b, 0x0, 0x0, 0x4, 0x1b, 0x9, 0x80000000};
-#define InitSecurityEnd_value 0x6b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR InitSecurityEnd_V1 = {0x6b, 0x1, 0x0, 0x4, 0x1b, 0x9, 0x80000000};
-#define InitSecurityEnd_V1_value 0x6b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AllowBindingRedirs = {0x6c, 0x0, 0x0, 0x4, 0x1c, 0x9, 0x80000000};
-#define AllowBindingRedirs_value 0x6c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AllowBindingRedirs_V1 = {0x6c, 0x1, 0x0, 0x4, 0x1c, 0x9, 0x80000000};
-#define AllowBindingRedirs_V1_value 0x6c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AllowBindingRedirsEnd = {0x6d, 0x0, 0x0, 0x4, 0x1d, 0x9, 0x80000000};
-#define AllowBindingRedirsEnd_value 0x6d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AllowBindingRedirsEnd_V1 = {0x6d, 0x1, 0x0, 0x4, 0x1d, 0x9, 0x80000000};
-#define AllowBindingRedirsEnd_V1_value 0x6d
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EEConfigSync = {0x6e, 0x0, 0x0, 0x4, 0x1e, 0x9, 0x80000000};
-#define EEConfigSync_value 0x6e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EEConfigSync_V1 = {0x6e, 0x1, 0x0, 0x4, 0x1e, 0x9, 0x80000000};
-#define EEConfigSync_V1_value 0x6e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EEConfigSyncEnd = {0x6f, 0x0, 0x0, 0x4, 0x1f, 0x9, 0x80000000};
-#define EEConfigSyncEnd_value 0x6f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EEConfigSyncEnd_V1 = {0x6f, 0x1, 0x0, 0x4, 0x1f, 0x9, 0x80000000};
-#define EEConfigSyncEnd_V1_value 0x6f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionBinding = {0x70, 0x0, 0x0, 0x4, 0x20, 0x9, 0x80000000};
-#define FusionBinding_value 0x70
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionBinding_V1 = {0x70, 0x1, 0x0, 0x4, 0x20, 0x9, 0x80000000};
-#define FusionBinding_V1_value 0x70
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionBindingEnd = {0x71, 0x0, 0x0, 0x4, 0x21, 0x9, 0x80000000};
-#define FusionBindingEnd_value 0x71
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionBindingEnd_V1 = {0x71, 0x1, 0x0, 0x4, 0x21, 0x9, 0x80000000};
-#define FusionBindingEnd_V1_value 0x71
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LoaderCatchCall = {0x72, 0x0, 0x0, 0x4, 0x22, 0x9, 0x80000000};
-#define LoaderCatchCall_value 0x72
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LoaderCatchCall_V1 = {0x72, 0x1, 0x0, 0x4, 0x22, 0x9, 0x80000000};
-#define LoaderCatchCall_V1_value 0x72
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LoaderCatchCallEnd = {0x73, 0x0, 0x0, 0x4, 0x23, 0x9, 0x80000000};
-#define LoaderCatchCallEnd_value 0x73
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LoaderCatchCallEnd_V1 = {0x73, 0x1, 0x0, 0x4, 0x23, 0x9, 0x80000000};
-#define LoaderCatchCallEnd_V1_value 0x73
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionInit = {0x74, 0x0, 0x0, 0x4, 0x24, 0x9, 0x80000000};
-#define FusionInit_value 0x74
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionInit_V1 = {0x74, 0x1, 0x0, 0x4, 0x24, 0x9, 0x80000000};
-#define FusionInit_V1_value 0x74
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionInitEnd = {0x75, 0x0, 0x0, 0x4, 0x25, 0x9, 0x80000000};
-#define FusionInitEnd_value 0x75
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionInitEnd_V1 = {0x75, 0x1, 0x0, 0x4, 0x25, 0x9, 0x80000000};
-#define FusionInitEnd_V1_value 0x75
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionAppCtx = {0x76, 0x0, 0x0, 0x4, 0x26, 0x9, 0x80000000};
-#define FusionAppCtx_value 0x76
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionAppCtx_V1 = {0x76, 0x1, 0x0, 0x4, 0x26, 0x9, 0x80000000};
-#define FusionAppCtx_V1_value 0x76
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionAppCtxEnd = {0x77, 0x0, 0x0, 0x4, 0x27, 0x9, 0x80000000};
-#define FusionAppCtxEnd_value 0x77
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionAppCtxEnd_V1 = {0x77, 0x1, 0x0, 0x4, 0x27, 0x9, 0x80000000};
-#define FusionAppCtxEnd_V1_value 0x77
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR Fusion2EE = {0x78, 0x0, 0x0, 0x4, 0x28, 0x9, 0x80000000};
-#define Fusion2EE_value 0x78
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR Fusion2EE_V1 = {0x78, 0x1, 0x0, 0x4, 0x28, 0x9, 0x80000000};
-#define Fusion2EE_V1_value 0x78
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR Fusion2EEEnd = {0x79, 0x0, 0x0, 0x4, 0x29, 0x9, 0x80000000};
-#define Fusion2EEEnd_value 0x79
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR Fusion2EEEnd_V1 = {0x79, 0x1, 0x0, 0x4, 0x29, 0x9, 0x80000000};
-#define Fusion2EEEnd_V1_value 0x79
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR SecurityCatchCall = {0x7a, 0x0, 0x0, 0x4, 0x2a, 0x9, 0x80000000};
-#define SecurityCatchCall_value 0x7a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR SecurityCatchCall_V1 = {0x7a, 0x1, 0x0, 0x4, 0x2a, 0x9, 0x80000000};
-#define SecurityCatchCall_V1_value 0x7a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR SecurityCatchCallEnd = {0x7b, 0x0, 0x0, 0x4, 0x2b, 0x9, 0x80000000};
-#define SecurityCatchCallEnd_value 0x7b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR SecurityCatchCallEnd_V1 = {0x7b, 0x1, 0x0, 0x4, 0x2b, 0x9, 0x80000000};
-#define SecurityCatchCallEnd_V1_value 0x7b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR CLRStackWalkPrivate = {0x97, 0x0, 0x0, 0x0, 0x52, 0xb, 0x40000000};
-#define CLRStackWalkPrivate_value 0x97
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleRangeLoadPrivate = {0x9e, 0x0, 0x0, 0x4, 0xa, 0x14, 0x20000000};
-#define ModuleRangeLoadPrivate_value 0x9e
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BindingPolicyPhaseStart = {0x9f, 0x0, 0x0, 0x4, 0x33, 0xa, 0x2};
-#define BindingPolicyPhaseStart_value 0x9f
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BindingPolicyPhaseEnd = {0xa0, 0x0, 0x0, 0x4, 0x34, 0xa, 0x2};
-#define BindingPolicyPhaseEnd_value 0xa0
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BindingNgenPhaseStart = {0xa1, 0x0, 0x0, 0x4, 0x35, 0xa, 0x2};
-#define BindingNgenPhaseStart_value 0xa1
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BindingNgenPhaseEnd = {0xa2, 0x0, 0x0, 0x4, 0x36, 0xa, 0x2};
-#define BindingNgenPhaseEnd_value 0xa2
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BindingLookupAndProbingPhaseStart = {0xa3, 0x0, 0x0, 0x4, 0x37, 0xa, 0x2};
-#define BindingLookupAndProbingPhaseStart_value 0xa3
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BindingLookupAndProbingPhaseEnd = {0xa4, 0x0, 0x0, 0x4, 0x38, 0xa, 0x2};
-#define BindingLookupAndProbingPhaseEnd_value 0xa4
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LoaderPhaseStart = {0xa5, 0x0, 0x0, 0x4, 0x39, 0xa, 0x2};
-#define LoaderPhaseStart_value 0xa5
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LoaderPhaseEnd = {0xa6, 0x0, 0x0, 0x4, 0x3a, 0xa, 0x2};
-#define LoaderPhaseEnd_value 0xa6
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BindingPhaseStart = {0xa7, 0x0, 0x0, 0x4, 0x3b, 0xa, 0x2};
-#define BindingPhaseStart_value 0xa7
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BindingPhaseEnd = {0xa8, 0x0, 0x0, 0x4, 0x3c, 0xa, 0x2};
-#define BindingPhaseEnd_value 0xa8
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BindingDownloadPhaseStart = {0xa9, 0x0, 0x0, 0x4, 0x3d, 0xa, 0x2};
-#define BindingDownloadPhaseStart_value 0xa9
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BindingDownloadPhaseEnd = {0xaa, 0x0, 0x0, 0x4, 0x3e, 0xa, 0x2};
-#define BindingDownloadPhaseEnd_value 0xaa
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LoaderAssemblyInitPhaseStart = {0xab, 0x0, 0x0, 0x4, 0x3f, 0xa, 0x2};
-#define LoaderAssemblyInitPhaseStart_value 0xab
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LoaderAssemblyInitPhaseEnd = {0xac, 0x0, 0x0, 0x4, 0x40, 0xa, 0x2};
-#define LoaderAssemblyInitPhaseEnd_value 0xac
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LoaderMappingPhaseStart = {0xad, 0x0, 0x0, 0x4, 0x41, 0xa, 0x2};
-#define LoaderMappingPhaseStart_value 0xad
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LoaderMappingPhaseEnd = {0xae, 0x0, 0x0, 0x4, 0x42, 0xa, 0x2};
-#define LoaderMappingPhaseEnd_value 0xae
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LoaderDeliverEventsPhaseStart = {0xaf, 0x0, 0x0, 0x4, 0x43, 0xa, 0x2};
-#define LoaderDeliverEventsPhaseStart_value 0xaf
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR LoaderDeliverEventsPhaseEnd = {0xb0, 0x0, 0x0, 0x4, 0x44, 0xa, 0x2};
-#define LoaderDeliverEventsPhaseEnd_value 0xb0
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EvidenceGenerated = {0xb1, 0x0, 0x0, 0x4, 0xa, 0xc, 0x400};
-#define EvidenceGenerated_value 0xb1
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleTransparencyComputationStart = {0xb2, 0x0, 0x0, 0x4, 0x53, 0xe, 0x400};
-#define ModuleTransparencyComputationStart_value 0xb2
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ModuleTransparencyComputationEnd = {0xb3, 0x0, 0x0, 0x4, 0x54, 0xe, 0x400};
-#define ModuleTransparencyComputationEnd_value 0xb3
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR TypeTransparencyComputationStart = {0xb4, 0x0, 0x0, 0x4, 0x55, 0xe, 0x400};
-#define TypeTransparencyComputationStart_value 0xb4
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR TypeTransparencyComputationEnd = {0xb5, 0x0, 0x0, 0x4, 0x56, 0xe, 0x400};
-#define TypeTransparencyComputationEnd_value 0xb5
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodTransparencyComputationStart = {0xb6, 0x0, 0x0, 0x4, 0x57, 0xe, 0x400};
-#define MethodTransparencyComputationStart_value 0xb6
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MethodTransparencyComputationEnd = {0xb7, 0x0, 0x0, 0x4, 0x58, 0xe, 0x400};
-#define MethodTransparencyComputationEnd_value 0xb7
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FieldTransparencyComputationStart = {0xb8, 0x0, 0x0, 0x4, 0x59, 0xe, 0x400};
-#define FieldTransparencyComputationStart_value 0xb8
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FieldTransparencyComputationEnd = {0xb9, 0x0, 0x0, 0x4, 0x5a, 0xe, 0x400};
-#define FieldTransparencyComputationEnd_value 0xb9
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR TokenTransparencyComputationStart = {0xba, 0x0, 0x0, 0x4, 0x5b, 0xe, 0x400};
-#define TokenTransparencyComputationStart_value 0xba
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR TokenTransparencyComputationEnd = {0xbb, 0x0, 0x0, 0x4, 0x5c, 0xe, 0x400};
-#define TokenTransparencyComputationEnd_value 0xbb
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR NgenBindEvent = {0xbc, 0x0, 0x0, 0x4, 0x45, 0xd, 0x8};
-#define NgenBindEvent_value 0xbc
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FailFast = {0xbf, 0x0, 0x0, 0x1, 0x34, 0x2, 0x0};
-#define FailFast_value 0xbf
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrvFinalizeObject = {0xc0, 0x0, 0x0, 0x5, 0x27, 0x1, 0x1};
-#define PrvFinalizeObject_value 0xc0
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR CCWRefCountChange = {0xc1, 0x0, 0x0, 0x5, 0x28, 0x1, 0x2000};
-#define CCWRefCountChange_value 0xc1
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrvSetGCHandle = {0xc2, 0x0, 0x0, 0x5, 0x2a, 0x1, 0x4000};
-#define PrvSetGCHandle_value 0xc2
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PrvDestroyGCHandle = {0xc3, 0x0, 0x0, 0x5, 0x2b, 0x1, 0x4000};
-#define PrvDestroyGCHandle_value 0xc3
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionMessageEvent = {0xc4, 0x0, 0x0, 0x4, 0x46, 0xa, 0x2};
-#define FusionMessageEvent_value 0xc4
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR FusionErrorCodeEvent = {0xc5, 0x0, 0x0, 0x4, 0x47, 0xa, 0x2};
-#define FusionErrorCodeEvent_value 0xc5
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR PinPlugAtGCTime = {0xc7, 0x0, 0x0, 0x5, 0x2c, 0x1, 0x1};
-#define PinPlugAtGCTime_value 0xc7
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR AllocRequest = {0x136, 0x0, 0x0, 0x5, 0x61, 0x10, 0x10};
-#define AllocRequest_value 0x136
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MulticoreJit = {0xc9, 0x0, 0x0, 0x4, 0xa, 0x11, 0x20000};
-#define MulticoreJit_value 0xc9
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR MulticoreJitMethodCodeReturned = {0xca, 0x0, 0x0, 0x4, 0xb, 0x11, 0x20000};
-#define MulticoreJitMethodCodeReturned_value 0xca
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR IInspectableRuntimeClassName = {0x190, 0x0, 0x0, 0x4, 0xb, 0x16, 0x20};
-#define IInspectableRuntimeClassName_value 0x190
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR WinRTUnbox = {0x191, 0x0, 0x0, 0x4, 0xc, 0x16, 0x20};
-#define WinRTUnbox_value 0x191
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR CreateRCW = {0x192, 0x0, 0x0, 0x4, 0xd, 0x16, 0x20};
-#define CreateRCW_value 0x192
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR RCWVariance = {0x193, 0x0, 0x0, 0x4, 0xe, 0x16, 0x20};
-#define RCWVariance_value 0x193
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR RCWIEnumerableCasting = {0x194, 0x0, 0x0, 0x4, 0xf, 0x16, 0x20};
-#define RCWIEnumerableCasting_value 0x194
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR CreateCCW = {0x195, 0x0, 0x0, 0x4, 0x10, 0x16, 0x20};
-#define CreateCCW_value 0x195
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR CCWVariance = {0x196, 0x0, 0x0, 0x4, 0x11, 0x16, 0x20};
-#define CCWVariance_value 0x196
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ObjectVariantMarshallingToNative = {0x197, 0x0, 0x0, 0x4, 0x12, 0x16, 0x20};
-#define ObjectVariantMarshallingToNative_value 0x197
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GetTypeFromGUID = {0x198, 0x0, 0x0, 0x4, 0x13, 0x16, 0x20};
-#define GetTypeFromGUID_value 0x198
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR GetTypeFromProgID = {0x199, 0x0, 0x0, 0x4, 0x14, 0x16, 0x20};
-#define GetTypeFromProgID_value 0x199
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ConvertToCallbackEtw = {0x19a, 0x0, 0x0, 0x4, 0x15, 0x16, 0x20};
-#define ConvertToCallbackEtw_value 0x19a
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR BeginCreateManagedReference = {0x19b, 0x0, 0x0, 0x4, 0x16, 0x16, 0x20};
-#define BeginCreateManagedReference_value 0x19b
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR EndCreateManagedReference = {0x19c, 0x0, 0x0, 0x4, 0x17, 0x16, 0x20};
-#define EndCreateManagedReference_value 0x19c
-EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ObjectVariantMarshallingToManaged = {0x19d, 0x0, 0x0, 0x4, 0x18, 0x16, 0x20};
-#define ObjectVariantMarshallingToManaged_value 0x19d
-
-//
-// Note on Generate Code from Manifest Windows Vista and above
-//
-//Structures : are handled as a size and pointer pairs. The macro for the event will have an extra
-//parameter for the size in bytes of the structure. Make sure that your structures have no extra padding.
-//
-//Strings: There are several cases that can be described in the manifest. For array of variable length
-//strings, the generated code will take the count of characters for the whole array as an input parameter.
-//
-//SID No support for array of SIDs, the macro will take a pointer to the SID and use appropriate
-//GetLengthSid function to get the length.
-//
-
-//
-// Allow Diasabling of code generation
-//
-#ifndef MCGEN_DISABLE_PROVIDER_CODE_GENERATION
-
-//
-// Globals
-//
-
-
-//
-// Event Enablement Bits
-//
-
-EXTERN_C __declspec(selectany) DECLSPEC_CACHEALIGN ULONG Microsoft_Windows_DotNETRuntimePrivateEnableBits[1];
-EXTERN_C __declspec(selectany) const ULONGLONG Microsoft_Windows_DotNETRuntimePrivateKeywords[14] = {0x1, 0x1, 0x80000000, 0x40000000, 0x20000000, 0x2, 0x400, 0x8, 0x0, 0x2000, 0x4000, 0x10, 0x20000, 0x20};
-EXTERN_C __declspec(selectany) const UCHAR Microsoft_Windows_DotNETRuntimePrivateLevels[14] = {4, 5, 4, 0, 4, 4, 4, 4, 1, 5, 5, 5, 4, 4};
-EXTERN_C __declspec(selectany) MCGEN_TRACE_CONTEXT MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context = {0, 0, 0, 0, 0, 0, 0, 0, 14, Microsoft_Windows_DotNETRuntimePrivateEnableBits, Microsoft_Windows_DotNETRuntimePrivateKeywords, Microsoft_Windows_DotNETRuntimePrivateLevels};
-
-EXTERN_C __declspec(selectany) REGHANDLE Microsoft_Windows_DotNETRuntimePrivateHandle = (REGHANDLE)0;
-
-#if !defined(McGenEventRegisterUnregister)
-#define McGenEventRegisterUnregister
-DECLSPEC_NOINLINE __inline
-ULONG __stdcall
-McGenEventRegister(
- _In_ LPCGUID ProviderId,
- _In_opt_ PENABLECALLBACK EnableCallback,
- _In_opt_ PVOID CallbackContext,
- _Inout_ PREGHANDLE RegHandle
- )
-/*++
-
-Routine Description:
-
- This function register the provider with ETW USER mode.
-
-Arguments:
- ProviderId - Provider Id to be register with ETW.
-
- EnableCallback - Callback to be used.
-
- CallbackContext - Context for this provider.
-
- RegHandle - Pointer to Registration handle.
-
-Remarks:
-
- If the handle != NULL will return ERROR_SUCCESS
-
---*/
-{
- ULONG Error;
-
-
- if (*RegHandle) {
- //
- // already registered
- //
- return ERROR_SUCCESS;
- }
-
- Error = EventRegister( ProviderId, EnableCallback, CallbackContext, RegHandle);
-
- return Error;
-}
-
-
-DECLSPEC_NOINLINE __inline
-ULONG __stdcall
-McGenEventUnregister(_Inout_ PREGHANDLE RegHandle)
-/*++
-
-Routine Description:
-
- Unregister from ETW USER mode
-
-Arguments:
- RegHandle this is the pointer to the provider context
-Remarks:
- If Provider has not register RegHandle = NULL,
- return ERROR_SUCCESS
---*/
-{
- ULONG Error;
-
-
- if(!(*RegHandle)) {
- //
- // Provider has not registerd
- //
- return ERROR_SUCCESS;
- }
-
- Error = EventUnregister(*RegHandle);
- *RegHandle = (REGHANDLE)0;
-
- return Error;
-}
-#endif
-//
-// Register with ETW Vista +
-//
-#ifndef EventRegisterMicrosoft_Windows_DotNETRuntimePrivate
-#define EventRegisterMicrosoft_Windows_DotNETRuntimePrivate() McGenEventRegister(&MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER, McGenControlCallbackV2, &MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context, &Microsoft_Windows_DotNETRuntimePrivateHandle)
-#endif
-
-//
-// UnRegister with ETW
-//
-#ifndef EventUnregisterMicrosoft_Windows_DotNETRuntimePrivate
-#define EventUnregisterMicrosoft_Windows_DotNETRuntimePrivate() McGenEventUnregister(&Microsoft_Windows_DotNETRuntimePrivateHandle)
-#endif
-
-//
-// Enablement check macro for GCDecision
-//
-
-#define EventEnabledGCDecision() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCDecision
-//
-#define FireEtwGCDecision(DoCompact)\
- EventEnabledGCDecision() ?\
- CoTemplate_t(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCDecision, DoCompact)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCDecision_V1
-//
-
-#define EventEnabledGCDecision_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCDecision_V1
-//
-#define FireEtwGCDecision_V1(DoCompact, ClrInstanceID)\
- EventEnabledGCDecision_V1() ?\
- CoTemplate_th(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCDecision_V1, DoCompact, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCSettings
-//
-
-#define EventEnabledGCSettings() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCSettings
-//
-#define FireEtwGCSettings(SegmentSize, LargeObjectSegmentSize, ServerGC)\
- EventEnabledGCSettings() ?\
- CoTemplate_xxt(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCSettings, SegmentSize, LargeObjectSegmentSize, ServerGC)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCSettings_V1
-//
-
-#define EventEnabledGCSettings_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCSettings_V1
-//
-#define FireEtwGCSettings_V1(SegmentSize, LargeObjectSegmentSize, ServerGC, ClrInstanceID)\
- EventEnabledGCSettings_V1() ?\
- CoTemplate_xxth(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCSettings_V1, SegmentSize, LargeObjectSegmentSize, ServerGC, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCOptimized
-//
-
-#define EventEnabledGCOptimized() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for GCOptimized
-//
-#define FireEtwGCOptimized(DesiredAllocation, NewAllocation, GenerationNumber)\
- EventEnabledGCOptimized() ?\
- CoTemplate_xxq(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCOptimized, DesiredAllocation, NewAllocation, GenerationNumber)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCOptimized_V1
-//
-
-#define EventEnabledGCOptimized_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for GCOptimized_V1
-//
-#define FireEtwGCOptimized_V1(DesiredAllocation, NewAllocation, GenerationNumber, ClrInstanceID)\
- EventEnabledGCOptimized_V1() ?\
- CoTemplate_xxqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCOptimized_V1, DesiredAllocation, NewAllocation, GenerationNumber, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCPerHeapHistory
-//
-
-#define EventEnabledGCPerHeapHistory() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCPerHeapHistory
-//
-#define FireEtwGCPerHeapHistory()\
- EventEnabledGCPerHeapHistory() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCPerHeapHistory)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCPerHeapHistory_V1
-//
-
-#define EventEnabledGCPerHeapHistory_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCPerHeapHistory_V1
-//
-#define FireEtwGCPerHeapHistory_V1(ClrInstanceID)\
- EventEnabledGCPerHeapHistory_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCPerHeapHistory_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCGlobalHeapHistory
-//
-
-#define EventEnabledGCGlobalHeapHistory() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCGlobalHeapHistory
-//
-#define FireEtwGCGlobalHeapHistory(FinalYoungestDesired, NumHeaps, CondemnedGeneration, Gen0ReductionCount, Reason, GlobalMechanisms)\
- EventEnabledGCGlobalHeapHistory() ?\
- CoTemplate_xdqqqq(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCGlobalHeapHistory, FinalYoungestDesired, NumHeaps, CondemnedGeneration, Gen0ReductionCount, Reason, GlobalMechanisms)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCGlobalHeapHistory_V1
-//
-
-#define EventEnabledGCGlobalHeapHistory_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCGlobalHeapHistory_V1
-//
-#define FireEtwGCGlobalHeapHistory_V1(FinalYoungestDesired, NumHeaps, CondemnedGeneration, Gen0ReductionCount, Reason, GlobalMechanisms, ClrInstanceID)\
- EventEnabledGCGlobalHeapHistory_V1() ?\
- CoTemplate_xdqqqqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCGlobalHeapHistory_V1, FinalYoungestDesired, NumHeaps, CondemnedGeneration, Gen0ReductionCount, Reason, GlobalMechanisms, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCJoin
-//
-
-#define EventEnabledGCJoin() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for GCJoin
-//
-#define FireEtwGCJoin(Heap, JoinTime, JoinType)\
- EventEnabledGCJoin() ?\
- CoTemplate_qqq(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCJoin, Heap, JoinTime, JoinType)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCJoin_V1
-//
-
-#define EventEnabledGCJoin_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for GCJoin_V1
-//
-#define FireEtwGCJoin_V1(Heap, JoinTime, JoinType, ClrInstanceID)\
- EventEnabledGCJoin_V1() ?\
- CoTemplate_qqqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCJoin_V1, Heap, JoinTime, JoinType, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrvGCMarkStackRoots
-//
-
-#define EventEnabledPrvGCMarkStackRoots() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for PrvGCMarkStackRoots
-//
-#define FireEtwPrvGCMarkStackRoots(HeapNum)\
- EventEnabledPrvGCMarkStackRoots() ?\
- CoTemplate_q(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrvGCMarkStackRoots, HeapNum)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrvGCMarkStackRoots_V1
-//
-
-#define EventEnabledPrvGCMarkStackRoots_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for PrvGCMarkStackRoots_V1
-//
-#define FireEtwPrvGCMarkStackRoots_V1(HeapNum, ClrInstanceID)\
- EventEnabledPrvGCMarkStackRoots_V1() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrvGCMarkStackRoots_V1, HeapNum, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrvGCMarkFinalizeQueueRoots
-//
-
-#define EventEnabledPrvGCMarkFinalizeQueueRoots() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for PrvGCMarkFinalizeQueueRoots
-//
-#define FireEtwPrvGCMarkFinalizeQueueRoots(HeapNum)\
- EventEnabledPrvGCMarkFinalizeQueueRoots() ?\
- CoTemplate_q(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrvGCMarkFinalizeQueueRoots, HeapNum)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrvGCMarkFinalizeQueueRoots_V1
-//
-
-#define EventEnabledPrvGCMarkFinalizeQueueRoots_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for PrvGCMarkFinalizeQueueRoots_V1
-//
-#define FireEtwPrvGCMarkFinalizeQueueRoots_V1(HeapNum, ClrInstanceID)\
- EventEnabledPrvGCMarkFinalizeQueueRoots_V1() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrvGCMarkFinalizeQueueRoots_V1, HeapNum, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrvGCMarkHandles
-//
-
-#define EventEnabledPrvGCMarkHandles() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for PrvGCMarkHandles
-//
-#define FireEtwPrvGCMarkHandles(HeapNum)\
- EventEnabledPrvGCMarkHandles() ?\
- CoTemplate_q(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrvGCMarkHandles, HeapNum)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrvGCMarkHandles_V1
-//
-
-#define EventEnabledPrvGCMarkHandles_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for PrvGCMarkHandles_V1
-//
-#define FireEtwPrvGCMarkHandles_V1(HeapNum, ClrInstanceID)\
- EventEnabledPrvGCMarkHandles_V1() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrvGCMarkHandles_V1, HeapNum, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrvGCMarkCards
-//
-
-#define EventEnabledPrvGCMarkCards() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for PrvGCMarkCards
-//
-#define FireEtwPrvGCMarkCards(HeapNum)\
- EventEnabledPrvGCMarkCards() ?\
- CoTemplate_q(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrvGCMarkCards, HeapNum)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrvGCMarkCards_V1
-//
-
-#define EventEnabledPrvGCMarkCards_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for PrvGCMarkCards_V1
-//
-#define FireEtwPrvGCMarkCards_V1(HeapNum, ClrInstanceID)\
- EventEnabledPrvGCMarkCards_V1() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrvGCMarkCards_V1, HeapNum, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGCBegin
-//
-
-#define EventEnabledBGCBegin() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGCBegin
-//
-#define FireEtwBGCBegin(ClrInstanceID)\
- EventEnabledBGCBegin() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGCBegin, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGC1stNonConEnd
-//
-
-#define EventEnabledBGC1stNonConEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGC1stNonConEnd
-//
-#define FireEtwBGC1stNonConEnd(ClrInstanceID)\
- EventEnabledBGC1stNonConEnd() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGC1stNonConEnd, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGC1stConEnd
-//
-
-#define EventEnabledBGC1stConEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGC1stConEnd
-//
-#define FireEtwBGC1stConEnd(ClrInstanceID)\
- EventEnabledBGC1stConEnd() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGC1stConEnd, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGC2ndNonConBegin
-//
-
-#define EventEnabledBGC2ndNonConBegin() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGC2ndNonConBegin
-//
-#define FireEtwBGC2ndNonConBegin(ClrInstanceID)\
- EventEnabledBGC2ndNonConBegin() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGC2ndNonConBegin, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGC2ndNonConEnd
-//
-
-#define EventEnabledBGC2ndNonConEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGC2ndNonConEnd
-//
-#define FireEtwBGC2ndNonConEnd(ClrInstanceID)\
- EventEnabledBGC2ndNonConEnd() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGC2ndNonConEnd, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGC2ndConBegin
-//
-
-#define EventEnabledBGC2ndConBegin() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGC2ndConBegin
-//
-#define FireEtwBGC2ndConBegin(ClrInstanceID)\
- EventEnabledBGC2ndConBegin() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGC2ndConBegin, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGC2ndConEnd
-//
-
-#define EventEnabledBGC2ndConEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGC2ndConEnd
-//
-#define FireEtwBGC2ndConEnd(ClrInstanceID)\
- EventEnabledBGC2ndConEnd() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGC2ndConEnd, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGCPlanEnd
-//
-
-#define EventEnabledBGCPlanEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGCPlanEnd
-//
-#define FireEtwBGCPlanEnd(ClrInstanceID)\
- EventEnabledBGCPlanEnd() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGCPlanEnd, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGCSweepEnd
-//
-
-#define EventEnabledBGCSweepEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGCSweepEnd
-//
-#define FireEtwBGCSweepEnd(ClrInstanceID)\
- EventEnabledBGCSweepEnd() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGCSweepEnd, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGCDrainMark
-//
-
-#define EventEnabledBGCDrainMark() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGCDrainMark
-//
-#define FireEtwBGCDrainMark(Objects, ClrInstanceID)\
- EventEnabledBGCDrainMark() ?\
- CoTemplate_xh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGCDrainMark, Objects, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGCRevisit
-//
-
-#define EventEnabledBGCRevisit() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGCRevisit
-//
-#define FireEtwBGCRevisit(Pages, Objects, IsLarge, ClrInstanceID)\
- EventEnabledBGCRevisit() ?\
- CoTemplate_xxqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGCRevisit, Pages, Objects, IsLarge, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGCOverflow
-//
-
-#define EventEnabledBGCOverflow() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGCOverflow
-//
-#define FireEtwBGCOverflow(Min, Max, Objects, IsLarge, ClrInstanceID)\
- EventEnabledBGCOverflow() ?\
- CoTemplate_xxxqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGCOverflow, Min, Max, Objects, IsLarge, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGCAllocWaitBegin
-//
-
-#define EventEnabledBGCAllocWaitBegin() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGCAllocWaitBegin
-//
-#define FireEtwBGCAllocWaitBegin(Reason, ClrInstanceID)\
- EventEnabledBGCAllocWaitBegin() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGCAllocWaitBegin, Reason, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BGCAllocWaitEnd
-//
-
-#define EventEnabledBGCAllocWaitEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for BGCAllocWaitEnd
-//
-#define FireEtwBGCAllocWaitEnd(Reason, ClrInstanceID)\
- EventEnabledBGCAllocWaitEnd() ?\
- CoTemplate_qh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BGCAllocWaitEnd, Reason, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCFullNotify
-//
-
-#define EventEnabledGCFullNotify() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCFullNotify
-//
-#define FireEtwGCFullNotify(GenNumber, IsAlloc)\
- EventEnabledGCFullNotify() ?\
- CoTemplate_qq(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCFullNotify, GenNumber, IsAlloc)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GCFullNotify_V1
-//
-
-#define EventEnabledGCFullNotify_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000001) != 0)
-
-//
-// Event Macro for GCFullNotify_V1
-//
-#define FireEtwGCFullNotify_V1(GenNumber, IsAlloc, ClrInstanceID)\
- EventEnabledGCFullNotify_V1() ?\
- CoTemplate_qqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &GCFullNotify_V1, GenNumber, IsAlloc, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EEStartupStart
-//
-
-#define EventEnabledEEStartupStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for EEStartupStart
-//
-#define FireEtwEEStartupStart()\
- EventEnabledEEStartupStart() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &EEStartupStart)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EEStartupStart_V1
-//
-
-#define EventEnabledEEStartupStart_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for EEStartupStart_V1
-//
-#define FireEtwEEStartupStart_V1(ClrInstanceID)\
- EventEnabledEEStartupStart_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &EEStartupStart_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EEStartupEnd
-//
-
-#define EventEnabledEEStartupEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for EEStartupEnd
-//
-#define FireEtwEEStartupEnd()\
- EventEnabledEEStartupEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &EEStartupEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EEStartupEnd_V1
-//
-
-#define EventEnabledEEStartupEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for EEStartupEnd_V1
-//
-#define FireEtwEEStartupEnd_V1(ClrInstanceID)\
- EventEnabledEEStartupEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &EEStartupEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EEConfigSetup
-//
-
-#define EventEnabledEEConfigSetup() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for EEConfigSetup
-//
-#define FireEtwEEConfigSetup()\
- EventEnabledEEConfigSetup() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &EEConfigSetup)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EEConfigSetup_V1
-//
-
-#define EventEnabledEEConfigSetup_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for EEConfigSetup_V1
-//
-#define FireEtwEEConfigSetup_V1(ClrInstanceID)\
- EventEnabledEEConfigSetup_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &EEConfigSetup_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EEConfigSetupEnd
-//
-
-#define EventEnabledEEConfigSetupEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for EEConfigSetupEnd
-//
-#define FireEtwEEConfigSetupEnd()\
- EventEnabledEEConfigSetupEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &EEConfigSetupEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EEConfigSetupEnd_V1
-//
-
-#define EventEnabledEEConfigSetupEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for EEConfigSetupEnd_V1
-//
-#define FireEtwEEConfigSetupEnd_V1(ClrInstanceID)\
- EventEnabledEEConfigSetupEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &EEConfigSetupEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LdSysBases
-//
-
-#define EventEnabledLdSysBases() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for LdSysBases
-//
-#define FireEtwLdSysBases()\
- EventEnabledLdSysBases() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &LdSysBases)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LdSysBases_V1
-//
-
-#define EventEnabledLdSysBases_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for LdSysBases_V1
-//
-#define FireEtwLdSysBases_V1(ClrInstanceID)\
- EventEnabledLdSysBases_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &LdSysBases_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LdSysBasesEnd
-//
-
-#define EventEnabledLdSysBasesEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for LdSysBasesEnd
-//
-#define FireEtwLdSysBasesEnd()\
- EventEnabledLdSysBasesEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &LdSysBasesEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LdSysBasesEnd_V1
-//
-
-#define EventEnabledLdSysBasesEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for LdSysBasesEnd_V1
-//
-#define FireEtwLdSysBasesEnd_V1(ClrInstanceID)\
- EventEnabledLdSysBasesEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &LdSysBasesEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExecExe
-//
-
-#define EventEnabledExecExe() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ExecExe
-//
-#define FireEtwExecExe()\
- EventEnabledExecExe() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &ExecExe)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExecExe_V1
-//
-
-#define EventEnabledExecExe_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ExecExe_V1
-//
-#define FireEtwExecExe_V1(ClrInstanceID)\
- EventEnabledExecExe_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &ExecExe_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExecExeEnd
-//
-
-#define EventEnabledExecExeEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ExecExeEnd
-//
-#define FireEtwExecExeEnd()\
- EventEnabledExecExeEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &ExecExeEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExecExeEnd_V1
-//
-
-#define EventEnabledExecExeEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ExecExeEnd_V1
-//
-#define FireEtwExecExeEnd_V1(ClrInstanceID)\
- EventEnabledExecExeEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &ExecExeEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for Main
-//
-
-#define EventEnabledMain() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for Main
-//
-#define FireEtwMain()\
- EventEnabledMain() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &Main)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for Main_V1
-//
-
-#define EventEnabledMain_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for Main_V1
-//
-#define FireEtwMain_V1(ClrInstanceID)\
- EventEnabledMain_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &Main_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MainEnd
-//
-
-#define EventEnabledMainEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for MainEnd
-//
-#define FireEtwMainEnd()\
- EventEnabledMainEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &MainEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MainEnd_V1
-//
-
-#define EventEnabledMainEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for MainEnd_V1
-//
-#define FireEtwMainEnd_V1(ClrInstanceID)\
- EventEnabledMainEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &MainEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ApplyPolicyStart
-//
-
-#define EventEnabledApplyPolicyStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ApplyPolicyStart
-//
-#define FireEtwApplyPolicyStart()\
- EventEnabledApplyPolicyStart() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &ApplyPolicyStart)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ApplyPolicyStart_V1
-//
-
-#define EventEnabledApplyPolicyStart_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ApplyPolicyStart_V1
-//
-#define FireEtwApplyPolicyStart_V1(ClrInstanceID)\
- EventEnabledApplyPolicyStart_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &ApplyPolicyStart_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ApplyPolicyEnd
-//
-
-#define EventEnabledApplyPolicyEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ApplyPolicyEnd
-//
-#define FireEtwApplyPolicyEnd()\
- EventEnabledApplyPolicyEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &ApplyPolicyEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ApplyPolicyEnd_V1
-//
-
-#define EventEnabledApplyPolicyEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ApplyPolicyEnd_V1
-//
-#define FireEtwApplyPolicyEnd_V1(ClrInstanceID)\
- EventEnabledApplyPolicyEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &ApplyPolicyEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LdLibShFolder
-//
-
-#define EventEnabledLdLibShFolder() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for LdLibShFolder
-//
-#define FireEtwLdLibShFolder()\
- EventEnabledLdLibShFolder() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &LdLibShFolder)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LdLibShFolder_V1
-//
-
-#define EventEnabledLdLibShFolder_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for LdLibShFolder_V1
-//
-#define FireEtwLdLibShFolder_V1(ClrInstanceID)\
- EventEnabledLdLibShFolder_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &LdLibShFolder_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LdLibShFolderEnd
-//
-
-#define EventEnabledLdLibShFolderEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for LdLibShFolderEnd
-//
-#define FireEtwLdLibShFolderEnd()\
- EventEnabledLdLibShFolderEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &LdLibShFolderEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LdLibShFolderEnd_V1
-//
-
-#define EventEnabledLdLibShFolderEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for LdLibShFolderEnd_V1
-//
-#define FireEtwLdLibShFolderEnd_V1(ClrInstanceID)\
- EventEnabledLdLibShFolderEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &LdLibShFolderEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrestubWorker
-//
-
-#define EventEnabledPrestubWorker() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for PrestubWorker
-//
-#define FireEtwPrestubWorker()\
- EventEnabledPrestubWorker() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrestubWorker)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrestubWorker_V1
-//
-
-#define EventEnabledPrestubWorker_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for PrestubWorker_V1
-//
-#define FireEtwPrestubWorker_V1(ClrInstanceID)\
- EventEnabledPrestubWorker_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrestubWorker_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrestubWorkerEnd
-//
-
-#define EventEnabledPrestubWorkerEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for PrestubWorkerEnd
-//
-#define FireEtwPrestubWorkerEnd()\
- EventEnabledPrestubWorkerEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrestubWorkerEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrestubWorkerEnd_V1
-//
-
-#define EventEnabledPrestubWorkerEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for PrestubWorkerEnd_V1
-//
-#define FireEtwPrestubWorkerEnd_V1(ClrInstanceID)\
- EventEnabledPrestubWorkerEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrestubWorkerEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GetInstallationStart
-//
-
-#define EventEnabledGetInstallationStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for GetInstallationStart
-//
-#define FireEtwGetInstallationStart()\
- EventEnabledGetInstallationStart() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &GetInstallationStart)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GetInstallationStart_V1
-//
-
-#define EventEnabledGetInstallationStart_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for GetInstallationStart_V1
-//
-#define FireEtwGetInstallationStart_V1(ClrInstanceID)\
- EventEnabledGetInstallationStart_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &GetInstallationStart_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GetInstallationEnd
-//
-
-#define EventEnabledGetInstallationEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for GetInstallationEnd
-//
-#define FireEtwGetInstallationEnd()\
- EventEnabledGetInstallationEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &GetInstallationEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GetInstallationEnd_V1
-//
-
-#define EventEnabledGetInstallationEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for GetInstallationEnd_V1
-//
-#define FireEtwGetInstallationEnd_V1(ClrInstanceID)\
- EventEnabledGetInstallationEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &GetInstallationEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for OpenHModule
-//
-
-#define EventEnabledOpenHModule() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for OpenHModule
-//
-#define FireEtwOpenHModule()\
- EventEnabledOpenHModule() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &OpenHModule)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for OpenHModule_V1
-//
-
-#define EventEnabledOpenHModule_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for OpenHModule_V1
-//
-#define FireEtwOpenHModule_V1(ClrInstanceID)\
- EventEnabledOpenHModule_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &OpenHModule_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for OpenHModuleEnd
-//
-
-#define EventEnabledOpenHModuleEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for OpenHModuleEnd
-//
-#define FireEtwOpenHModuleEnd()\
- EventEnabledOpenHModuleEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &OpenHModuleEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for OpenHModuleEnd_V1
-//
-
-#define EventEnabledOpenHModuleEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for OpenHModuleEnd_V1
-//
-#define FireEtwOpenHModuleEnd_V1(ClrInstanceID)\
- EventEnabledOpenHModuleEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &OpenHModuleEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExplicitBindStart
-//
-
-#define EventEnabledExplicitBindStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ExplicitBindStart
-//
-#define FireEtwExplicitBindStart()\
- EventEnabledExplicitBindStart() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &ExplicitBindStart)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExplicitBindStart_V1
-//
-
-#define EventEnabledExplicitBindStart_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ExplicitBindStart_V1
-//
-#define FireEtwExplicitBindStart_V1(ClrInstanceID)\
- EventEnabledExplicitBindStart_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &ExplicitBindStart_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExplicitBindEnd
-//
-
-#define EventEnabledExplicitBindEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ExplicitBindEnd
-//
-#define FireEtwExplicitBindEnd()\
- EventEnabledExplicitBindEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &ExplicitBindEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ExplicitBindEnd_V1
-//
-
-#define EventEnabledExplicitBindEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ExplicitBindEnd_V1
-//
-#define FireEtwExplicitBindEnd_V1(ClrInstanceID)\
- EventEnabledExplicitBindEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &ExplicitBindEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ParseXml
-//
-
-#define EventEnabledParseXml() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ParseXml
-//
-#define FireEtwParseXml()\
- EventEnabledParseXml() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &ParseXml)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ParseXml_V1
-//
-
-#define EventEnabledParseXml_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ParseXml_V1
-//
-#define FireEtwParseXml_V1(ClrInstanceID)\
- EventEnabledParseXml_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &ParseXml_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ParseXmlEnd
-//
-
-#define EventEnabledParseXmlEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ParseXmlEnd
-//
-#define FireEtwParseXmlEnd()\
- EventEnabledParseXmlEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &ParseXmlEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ParseXmlEnd_V1
-//
-
-#define EventEnabledParseXmlEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for ParseXmlEnd_V1
-//
-#define FireEtwParseXmlEnd_V1(ClrInstanceID)\
- EventEnabledParseXmlEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &ParseXmlEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for InitDefaultDomain
-//
-
-#define EventEnabledInitDefaultDomain() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for InitDefaultDomain
-//
-#define FireEtwInitDefaultDomain()\
- EventEnabledInitDefaultDomain() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &InitDefaultDomain)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for InitDefaultDomain_V1
-//
-
-#define EventEnabledInitDefaultDomain_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for InitDefaultDomain_V1
-//
-#define FireEtwInitDefaultDomain_V1(ClrInstanceID)\
- EventEnabledInitDefaultDomain_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &InitDefaultDomain_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for InitDefaultDomainEnd
-//
-
-#define EventEnabledInitDefaultDomainEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for InitDefaultDomainEnd
-//
-#define FireEtwInitDefaultDomainEnd()\
- EventEnabledInitDefaultDomainEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &InitDefaultDomainEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for InitDefaultDomainEnd_V1
-//
-
-#define EventEnabledInitDefaultDomainEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for InitDefaultDomainEnd_V1
-//
-#define FireEtwInitDefaultDomainEnd_V1(ClrInstanceID)\
- EventEnabledInitDefaultDomainEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &InitDefaultDomainEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for InitSecurity
-//
-
-#define EventEnabledInitSecurity() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for InitSecurity
-//
-#define FireEtwInitSecurity()\
- EventEnabledInitSecurity() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &InitSecurity)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for InitSecurity_V1
-//
-
-#define EventEnabledInitSecurity_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for InitSecurity_V1
-//
-#define FireEtwInitSecurity_V1(ClrInstanceID)\
- EventEnabledInitSecurity_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &InitSecurity_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for InitSecurityEnd
-//
-
-#define EventEnabledInitSecurityEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for InitSecurityEnd
-//
-#define FireEtwInitSecurityEnd()\
- EventEnabledInitSecurityEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &InitSecurityEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for InitSecurityEnd_V1
-//
-
-#define EventEnabledInitSecurityEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for InitSecurityEnd_V1
-//
-#define FireEtwInitSecurityEnd_V1(ClrInstanceID)\
- EventEnabledInitSecurityEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &InitSecurityEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AllowBindingRedirs
-//
-
-#define EventEnabledAllowBindingRedirs() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for AllowBindingRedirs
-//
-#define FireEtwAllowBindingRedirs()\
- EventEnabledAllowBindingRedirs() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &AllowBindingRedirs)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AllowBindingRedirs_V1
-//
-
-#define EventEnabledAllowBindingRedirs_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for AllowBindingRedirs_V1
-//
-#define FireEtwAllowBindingRedirs_V1(ClrInstanceID)\
- EventEnabledAllowBindingRedirs_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &AllowBindingRedirs_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AllowBindingRedirsEnd
-//
-
-#define EventEnabledAllowBindingRedirsEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for AllowBindingRedirsEnd
-//
-#define FireEtwAllowBindingRedirsEnd()\
- EventEnabledAllowBindingRedirsEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &AllowBindingRedirsEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AllowBindingRedirsEnd_V1
-//
-
-#define EventEnabledAllowBindingRedirsEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for AllowBindingRedirsEnd_V1
-//
-#define FireEtwAllowBindingRedirsEnd_V1(ClrInstanceID)\
- EventEnabledAllowBindingRedirsEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &AllowBindingRedirsEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EEConfigSync
-//
-
-#define EventEnabledEEConfigSync() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for EEConfigSync
-//
-#define FireEtwEEConfigSync()\
- EventEnabledEEConfigSync() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &EEConfigSync)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EEConfigSync_V1
-//
-
-#define EventEnabledEEConfigSync_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for EEConfigSync_V1
-//
-#define FireEtwEEConfigSync_V1(ClrInstanceID)\
- EventEnabledEEConfigSync_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &EEConfigSync_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EEConfigSyncEnd
-//
-
-#define EventEnabledEEConfigSyncEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for EEConfigSyncEnd
-//
-#define FireEtwEEConfigSyncEnd()\
- EventEnabledEEConfigSyncEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &EEConfigSyncEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EEConfigSyncEnd_V1
-//
-
-#define EventEnabledEEConfigSyncEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for EEConfigSyncEnd_V1
-//
-#define FireEtwEEConfigSyncEnd_V1(ClrInstanceID)\
- EventEnabledEEConfigSyncEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &EEConfigSyncEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionBinding
-//
-
-#define EventEnabledFusionBinding() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for FusionBinding
-//
-#define FireEtwFusionBinding()\
- EventEnabledFusionBinding() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionBinding)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionBinding_V1
-//
-
-#define EventEnabledFusionBinding_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for FusionBinding_V1
-//
-#define FireEtwFusionBinding_V1(ClrInstanceID)\
- EventEnabledFusionBinding_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionBinding_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionBindingEnd
-//
-
-#define EventEnabledFusionBindingEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for FusionBindingEnd
-//
-#define FireEtwFusionBindingEnd()\
- EventEnabledFusionBindingEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionBindingEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionBindingEnd_V1
-//
-
-#define EventEnabledFusionBindingEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for FusionBindingEnd_V1
-//
-#define FireEtwFusionBindingEnd_V1(ClrInstanceID)\
- EventEnabledFusionBindingEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionBindingEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LoaderCatchCall
-//
-
-#define EventEnabledLoaderCatchCall() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for LoaderCatchCall
-//
-#define FireEtwLoaderCatchCall()\
- EventEnabledLoaderCatchCall() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &LoaderCatchCall)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LoaderCatchCall_V1
-//
-
-#define EventEnabledLoaderCatchCall_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for LoaderCatchCall_V1
-//
-#define FireEtwLoaderCatchCall_V1(ClrInstanceID)\
- EventEnabledLoaderCatchCall_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &LoaderCatchCall_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LoaderCatchCallEnd
-//
-
-#define EventEnabledLoaderCatchCallEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for LoaderCatchCallEnd
-//
-#define FireEtwLoaderCatchCallEnd()\
- EventEnabledLoaderCatchCallEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &LoaderCatchCallEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LoaderCatchCallEnd_V1
-//
-
-#define EventEnabledLoaderCatchCallEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for LoaderCatchCallEnd_V1
-//
-#define FireEtwLoaderCatchCallEnd_V1(ClrInstanceID)\
- EventEnabledLoaderCatchCallEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &LoaderCatchCallEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionInit
-//
-
-#define EventEnabledFusionInit() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for FusionInit
-//
-#define FireEtwFusionInit()\
- EventEnabledFusionInit() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionInit)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionInit_V1
-//
-
-#define EventEnabledFusionInit_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for FusionInit_V1
-//
-#define FireEtwFusionInit_V1(ClrInstanceID)\
- EventEnabledFusionInit_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionInit_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionInitEnd
-//
-
-#define EventEnabledFusionInitEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for FusionInitEnd
-//
-#define FireEtwFusionInitEnd()\
- EventEnabledFusionInitEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionInitEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionInitEnd_V1
-//
-
-#define EventEnabledFusionInitEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for FusionInitEnd_V1
-//
-#define FireEtwFusionInitEnd_V1(ClrInstanceID)\
- EventEnabledFusionInitEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionInitEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionAppCtx
-//
-
-#define EventEnabledFusionAppCtx() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for FusionAppCtx
-//
-#define FireEtwFusionAppCtx()\
- EventEnabledFusionAppCtx() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionAppCtx)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionAppCtx_V1
-//
-
-#define EventEnabledFusionAppCtx_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for FusionAppCtx_V1
-//
-#define FireEtwFusionAppCtx_V1(ClrInstanceID)\
- EventEnabledFusionAppCtx_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionAppCtx_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionAppCtxEnd
-//
-
-#define EventEnabledFusionAppCtxEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for FusionAppCtxEnd
-//
-#define FireEtwFusionAppCtxEnd()\
- EventEnabledFusionAppCtxEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionAppCtxEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionAppCtxEnd_V1
-//
-
-#define EventEnabledFusionAppCtxEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for FusionAppCtxEnd_V1
-//
-#define FireEtwFusionAppCtxEnd_V1(ClrInstanceID)\
- EventEnabledFusionAppCtxEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionAppCtxEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for Fusion2EE
-//
-
-#define EventEnabledFusion2EE() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for Fusion2EE
-//
-#define FireEtwFusion2EE()\
- EventEnabledFusion2EE() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &Fusion2EE)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for Fusion2EE_V1
-//
-
-#define EventEnabledFusion2EE_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for Fusion2EE_V1
-//
-#define FireEtwFusion2EE_V1(ClrInstanceID)\
- EventEnabledFusion2EE_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &Fusion2EE_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for Fusion2EEEnd
-//
-
-#define EventEnabledFusion2EEEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for Fusion2EEEnd
-//
-#define FireEtwFusion2EEEnd()\
- EventEnabledFusion2EEEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &Fusion2EEEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for Fusion2EEEnd_V1
-//
-
-#define EventEnabledFusion2EEEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for Fusion2EEEnd_V1
-//
-#define FireEtwFusion2EEEnd_V1(ClrInstanceID)\
- EventEnabledFusion2EEEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &Fusion2EEEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for SecurityCatchCall
-//
-
-#define EventEnabledSecurityCatchCall() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for SecurityCatchCall
-//
-#define FireEtwSecurityCatchCall()\
- EventEnabledSecurityCatchCall() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &SecurityCatchCall)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for SecurityCatchCall_V1
-//
-
-#define EventEnabledSecurityCatchCall_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for SecurityCatchCall_V1
-//
-#define FireEtwSecurityCatchCall_V1(ClrInstanceID)\
- EventEnabledSecurityCatchCall_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &SecurityCatchCall_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for SecurityCatchCallEnd
-//
-
-#define EventEnabledSecurityCatchCallEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for SecurityCatchCallEnd
-//
-#define FireEtwSecurityCatchCallEnd()\
- EventEnabledSecurityCatchCallEnd() ?\
- CoTemplateEventDescriptor(Microsoft_Windows_DotNETRuntimePrivateHandle, &SecurityCatchCallEnd)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for SecurityCatchCallEnd_V1
-//
-
-#define EventEnabledSecurityCatchCallEnd_V1() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000004) != 0)
-
-//
-// Event Macro for SecurityCatchCallEnd_V1
-//
-#define FireEtwSecurityCatchCallEnd_V1(ClrInstanceID)\
- EventEnabledSecurityCatchCallEnd_V1() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &SecurityCatchCallEnd_V1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for CLRStackWalkPrivate
-//
-
-#define EventEnabledCLRStackWalkPrivate() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000008) != 0)
-
-//
-// Event Macro for CLRStackWalkPrivate
-//
-#define FireEtwCLRStackWalkPrivate(ClrInstanceID, Reserved1, Reserved2, FrameCount, Stack)\
- EventEnabledCLRStackWalkPrivate() ?\
- CoTemplate_hccqP2(Microsoft_Windows_DotNETRuntimePrivateHandle, &CLRStackWalkPrivate, ClrInstanceID, Reserved1, Reserved2, FrameCount, Stack)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleRangeLoadPrivate
-//
-
-#define EventEnabledModuleRangeLoadPrivate() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000010) != 0)
-
-//
-// Event Macro for ModuleRangeLoadPrivate
-//
-#define FireEtwModuleRangeLoadPrivate(ClrInstanceID, ModuleID, RangeBegin, RangeSize, RangeType, IBCType, SectionType)\
- EventEnabledModuleRangeLoadPrivate() ?\
- CoTemplate_hxqqcch(Microsoft_Windows_DotNETRuntimePrivateHandle, &ModuleRangeLoadPrivate, ClrInstanceID, ModuleID, RangeBegin, RangeSize, RangeType, IBCType, SectionType)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BindingPolicyPhaseStart
-//
-
-#define EventEnabledBindingPolicyPhaseStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for BindingPolicyPhaseStart
-//
-#define FireEtwBindingPolicyPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledBindingPolicyPhaseStart() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BindingPolicyPhaseStart, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BindingPolicyPhaseEnd
-//
-
-#define EventEnabledBindingPolicyPhaseEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for BindingPolicyPhaseEnd
-//
-#define FireEtwBindingPolicyPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledBindingPolicyPhaseEnd() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BindingPolicyPhaseEnd, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BindingNgenPhaseStart
-//
-
-#define EventEnabledBindingNgenPhaseStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for BindingNgenPhaseStart
-//
-#define FireEtwBindingNgenPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledBindingNgenPhaseStart() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BindingNgenPhaseStart, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BindingNgenPhaseEnd
-//
-
-#define EventEnabledBindingNgenPhaseEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for BindingNgenPhaseEnd
-//
-#define FireEtwBindingNgenPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledBindingNgenPhaseEnd() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BindingNgenPhaseEnd, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BindingLookupAndProbingPhaseStart
-//
-
-#define EventEnabledBindingLookupAndProbingPhaseStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for BindingLookupAndProbingPhaseStart
-//
-#define FireEtwBindingLookupAndProbingPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledBindingLookupAndProbingPhaseStart() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BindingLookupAndProbingPhaseStart, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BindingLookupAndProbingPhaseEnd
-//
-
-#define EventEnabledBindingLookupAndProbingPhaseEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for BindingLookupAndProbingPhaseEnd
-//
-#define FireEtwBindingLookupAndProbingPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledBindingLookupAndProbingPhaseEnd() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BindingLookupAndProbingPhaseEnd, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LoaderPhaseStart
-//
-
-#define EventEnabledLoaderPhaseStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for LoaderPhaseStart
-//
-#define FireEtwLoaderPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledLoaderPhaseStart() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &LoaderPhaseStart, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LoaderPhaseEnd
-//
-
-#define EventEnabledLoaderPhaseEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for LoaderPhaseEnd
-//
-#define FireEtwLoaderPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledLoaderPhaseEnd() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &LoaderPhaseEnd, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BindingPhaseStart
-//
-
-#define EventEnabledBindingPhaseStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for BindingPhaseStart
-//
-#define FireEtwBindingPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledBindingPhaseStart() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BindingPhaseStart, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BindingPhaseEnd
-//
-
-#define EventEnabledBindingPhaseEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for BindingPhaseEnd
-//
-#define FireEtwBindingPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledBindingPhaseEnd() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BindingPhaseEnd, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BindingDownloadPhaseStart
-//
-
-#define EventEnabledBindingDownloadPhaseStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for BindingDownloadPhaseStart
-//
-#define FireEtwBindingDownloadPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledBindingDownloadPhaseStart() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BindingDownloadPhaseStart, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BindingDownloadPhaseEnd
-//
-
-#define EventEnabledBindingDownloadPhaseEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for BindingDownloadPhaseEnd
-//
-#define FireEtwBindingDownloadPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledBindingDownloadPhaseEnd() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &BindingDownloadPhaseEnd, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LoaderAssemblyInitPhaseStart
-//
-
-#define EventEnabledLoaderAssemblyInitPhaseStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for LoaderAssemblyInitPhaseStart
-//
-#define FireEtwLoaderAssemblyInitPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledLoaderAssemblyInitPhaseStart() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &LoaderAssemblyInitPhaseStart, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LoaderAssemblyInitPhaseEnd
-//
-
-#define EventEnabledLoaderAssemblyInitPhaseEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for LoaderAssemblyInitPhaseEnd
-//
-#define FireEtwLoaderAssemblyInitPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledLoaderAssemblyInitPhaseEnd() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &LoaderAssemblyInitPhaseEnd, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LoaderMappingPhaseStart
-//
-
-#define EventEnabledLoaderMappingPhaseStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for LoaderMappingPhaseStart
-//
-#define FireEtwLoaderMappingPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledLoaderMappingPhaseStart() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &LoaderMappingPhaseStart, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LoaderMappingPhaseEnd
-//
-
-#define EventEnabledLoaderMappingPhaseEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for LoaderMappingPhaseEnd
-//
-#define FireEtwLoaderMappingPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledLoaderMappingPhaseEnd() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &LoaderMappingPhaseEnd, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LoaderDeliverEventsPhaseStart
-//
-
-#define EventEnabledLoaderDeliverEventsPhaseStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for LoaderDeliverEventsPhaseStart
-//
-#define FireEtwLoaderDeliverEventsPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledLoaderDeliverEventsPhaseStart() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &LoaderDeliverEventsPhaseStart, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for LoaderDeliverEventsPhaseEnd
-//
-
-#define EventEnabledLoaderDeliverEventsPhaseEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for LoaderDeliverEventsPhaseEnd
-//
-#define FireEtwLoaderDeliverEventsPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- EventEnabledLoaderDeliverEventsPhaseEnd() ?\
- CoTemplate_qqqqzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &LoaderDeliverEventsPhaseEnd, AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EvidenceGenerated
-//
-
-#define EventEnabledEvidenceGenerated() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for EvidenceGenerated
-//
-#define FireEtwEvidenceGenerated(Type, AppDomain, ILImage, ClrInstanceID)\
- EventEnabledEvidenceGenerated() ?\
- CoTemplate_qqzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &EvidenceGenerated, Type, AppDomain, ILImage, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleTransparencyComputationStart
-//
-
-#define EventEnabledModuleTransparencyComputationStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for ModuleTransparencyComputationStart
-//
-#define FireEtwModuleTransparencyComputationStart(Module, AppDomainID, ClrInstanceID)\
- EventEnabledModuleTransparencyComputationStart() ?\
- CoTemplate_zqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &ModuleTransparencyComputationStart, Module, AppDomainID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ModuleTransparencyComputationEnd
-//
-
-#define EventEnabledModuleTransparencyComputationEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for ModuleTransparencyComputationEnd
-//
-#define FireEtwModuleTransparencyComputationEnd(Module, AppDomainID, IsAllCritical, IsAllTransparent, IsTreatAsSafe, IsOpportunisticallyCritical, SecurityRuleSet, ClrInstanceID)\
- EventEnabledModuleTransparencyComputationEnd() ?\
- CoTemplate_zqttttqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &ModuleTransparencyComputationEnd, Module, AppDomainID, IsAllCritical, IsAllTransparent, IsTreatAsSafe, IsOpportunisticallyCritical, SecurityRuleSet, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for TypeTransparencyComputationStart
-//
-
-#define EventEnabledTypeTransparencyComputationStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for TypeTransparencyComputationStart
-//
-#define FireEtwTypeTransparencyComputationStart(Type, Module, AppDomainID, ClrInstanceID)\
- EventEnabledTypeTransparencyComputationStart() ?\
- CoTemplate_zzqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &TypeTransparencyComputationStart, Type, Module, AppDomainID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for TypeTransparencyComputationEnd
-//
-
-#define EventEnabledTypeTransparencyComputationEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for TypeTransparencyComputationEnd
-//
-#define FireEtwTypeTransparencyComputationEnd(Type, Module, AppDomainID, IsAllCritical, IsAllTransparent, IsCritical, IsTreatAsSafe, ClrInstanceID)\
- EventEnabledTypeTransparencyComputationEnd() ?\
- CoTemplate_zzqtttth(Microsoft_Windows_DotNETRuntimePrivateHandle, &TypeTransparencyComputationEnd, Type, Module, AppDomainID, IsAllCritical, IsAllTransparent, IsCritical, IsTreatAsSafe, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodTransparencyComputationStart
-//
-
-#define EventEnabledMethodTransparencyComputationStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for MethodTransparencyComputationStart
-//
-#define FireEtwMethodTransparencyComputationStart(Method, Module, AppDomainID, ClrInstanceID)\
- EventEnabledMethodTransparencyComputationStart() ?\
- CoTemplate_zzqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &MethodTransparencyComputationStart, Method, Module, AppDomainID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MethodTransparencyComputationEnd
-//
-
-#define EventEnabledMethodTransparencyComputationEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for MethodTransparencyComputationEnd
-//
-#define FireEtwMethodTransparencyComputationEnd(Method, Module, AppDomainID, IsCritical, IsTreatAsSafe, ClrInstanceID)\
- EventEnabledMethodTransparencyComputationEnd() ?\
- CoTemplate_zzqtth(Microsoft_Windows_DotNETRuntimePrivateHandle, &MethodTransparencyComputationEnd, Method, Module, AppDomainID, IsCritical, IsTreatAsSafe, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FieldTransparencyComputationStart
-//
-
-#define EventEnabledFieldTransparencyComputationStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for FieldTransparencyComputationStart
-//
-#define FireEtwFieldTransparencyComputationStart(Field, Module, AppDomainID, ClrInstanceID)\
- EventEnabledFieldTransparencyComputationStart() ?\
- CoTemplate_zzqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &FieldTransparencyComputationStart, Field, Module, AppDomainID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FieldTransparencyComputationEnd
-//
-
-#define EventEnabledFieldTransparencyComputationEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for FieldTransparencyComputationEnd
-//
-#define FireEtwFieldTransparencyComputationEnd(Field, Module, AppDomainID, IsCritical, IsTreatAsSafe, ClrInstanceID)\
- EventEnabledFieldTransparencyComputationEnd() ?\
- CoTemplate_zzqtth(Microsoft_Windows_DotNETRuntimePrivateHandle, &FieldTransparencyComputationEnd, Field, Module, AppDomainID, IsCritical, IsTreatAsSafe, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for TokenTransparencyComputationStart
-//
-
-#define EventEnabledTokenTransparencyComputationStart() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for TokenTransparencyComputationStart
-//
-#define FireEtwTokenTransparencyComputationStart(Token, Module, AppDomainID, ClrInstanceID)\
- EventEnabledTokenTransparencyComputationStart() ?\
- CoTemplate_qzqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &TokenTransparencyComputationStart, Token, Module, AppDomainID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for TokenTransparencyComputationEnd
-//
-
-#define EventEnabledTokenTransparencyComputationEnd() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000040) != 0)
-
-//
-// Event Macro for TokenTransparencyComputationEnd
-//
-#define FireEtwTokenTransparencyComputationEnd(Token, Module, AppDomainID, IsCritical, IsTreatAsSafe, ClrInstanceID)\
- EventEnabledTokenTransparencyComputationEnd() ?\
- CoTemplate_qzqtth(Microsoft_Windows_DotNETRuntimePrivateHandle, &TokenTransparencyComputationEnd, Token, Module, AppDomainID, IsCritical, IsTreatAsSafe, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for NgenBindEvent
-//
-
-#define EventEnabledNgenBindEvent() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000080) != 0)
-
-//
-// Event Macro for NgenBindEvent
-//
-#define FireEtwNgenBindEvent(ClrInstanceID, BindingID, ReasonCode, AssemblyName)\
- EventEnabledNgenBindEvent() ?\
- CoTemplate_hxqz(Microsoft_Windows_DotNETRuntimePrivateHandle, &NgenBindEvent, ClrInstanceID, BindingID, ReasonCode, AssemblyName)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FailFast
-//
-
-#define EventEnabledFailFast() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000100) != 0)
-
-//
-// Event Macro for FailFast
-//
-#define FireEtwFailFast(FailFastUserMessage, FailedEIP, OSExitCode, ClrExitCode, ClrInstanceID)\
- EventEnabledFailFast() ?\
- CoTemplate_zpqqh(Microsoft_Windows_DotNETRuntimePrivateHandle, &FailFast, FailFastUserMessage, FailedEIP, OSExitCode, ClrExitCode, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrvFinalizeObject
-//
-
-#define EventEnabledPrvFinalizeObject() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for PrvFinalizeObject
-//
-#define FireEtwPrvFinalizeObject(TypeID, ObjectID, ClrInstanceID, TypeName)\
- EventEnabledPrvFinalizeObject() ?\
- CoTemplate_pphz(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrvFinalizeObject, TypeID, ObjectID, ClrInstanceID, TypeName)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for CCWRefCountChange
-//
-
-#define EventEnabledCCWRefCountChange() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000200) != 0)
-
-//
-// Event Macro for CCWRefCountChange
-//
-#define FireEtwCCWRefCountChange(HandleID, ObjectID, COMInterfacePointer, NewRefCount, AppDomainID, ClassName, NameSpace, Operation, ClrInstanceID)\
- EventEnabledCCWRefCountChange() ?\
- CoTemplate_pppqxsszh(Microsoft_Windows_DotNETRuntimePrivateHandle, &CCWRefCountChange, HandleID, ObjectID, COMInterfacePointer, NewRefCount, AppDomainID, ClassName, NameSpace, Operation, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrvSetGCHandle
-//
-
-#define EventEnabledPrvSetGCHandle() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000400) != 0)
-
-//
-// Event Macro for PrvSetGCHandle
-//
-#define FireEtwPrvSetGCHandle(HandleID, ObjectID, Kind, Generation, AppDomainID, ClrInstanceID)\
- EventEnabledPrvSetGCHandle() ?\
- CoTemplate_ppqqxh(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrvSetGCHandle, HandleID, ObjectID, Kind, Generation, AppDomainID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PrvDestroyGCHandle
-//
-
-#define EventEnabledPrvDestroyGCHandle() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000400) != 0)
-
-//
-// Event Macro for PrvDestroyGCHandle
-//
-#define FireEtwPrvDestroyGCHandle(HandleID, ClrInstanceID)\
- EventEnabledPrvDestroyGCHandle() ?\
- CoTemplate_ph(Microsoft_Windows_DotNETRuntimePrivateHandle, &PrvDestroyGCHandle, HandleID, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionMessageEvent
-//
-
-#define EventEnabledFusionMessageEvent() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for FusionMessageEvent
-//
-#define FireEtwFusionMessageEvent(ClrInstanceID, Prepend, Message)\
- EventEnabledFusionMessageEvent() ?\
- CoTemplate_htz(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionMessageEvent, ClrInstanceID, Prepend, Message)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for FusionErrorCodeEvent
-//
-
-#define EventEnabledFusionErrorCodeEvent() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000020) != 0)
-
-//
-// Event Macro for FusionErrorCodeEvent
-//
-#define FireEtwFusionErrorCodeEvent(ClrInstanceID, Category, ErrorCode)\
- EventEnabledFusionErrorCodeEvent() ?\
- CoTemplate_hqq(Microsoft_Windows_DotNETRuntimePrivateHandle, &FusionErrorCodeEvent, ClrInstanceID, Category, ErrorCode)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for PinPlugAtGCTime
-//
-
-#define EventEnabledPinPlugAtGCTime() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000002) != 0)
-
-//
-// Event Macro for PinPlugAtGCTime
-//
-#define FireEtwPinPlugAtGCTime(PlugStart, PlugEnd, GapBeforeSize, ClrInstanceID)\
- EventEnabledPinPlugAtGCTime() ?\
- CoTemplate_ppph(Microsoft_Windows_DotNETRuntimePrivateHandle, &PinPlugAtGCTime, PlugStart, PlugEnd, GapBeforeSize, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for AllocRequest
-//
-
-#define EventEnabledAllocRequest() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00000800) != 0)
-
-//
-// Event Macro for AllocRequest
-//
-#define FireEtwAllocRequest(LoaderHeapPtr, MemoryAddress, RequestSize, Unused1, Unused2, ClrInstanceID)\
- EventEnabledAllocRequest() ?\
- CoTemplate_ppqqxh(Microsoft_Windows_DotNETRuntimePrivateHandle, &AllocRequest, LoaderHeapPtr, MemoryAddress, RequestSize, Unused1, Unused2, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MulticoreJit
-//
-
-#define EventEnabledMulticoreJit() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00001000) != 0)
-
-//
-// Event Macro for MulticoreJit
-//
-#define FireEtwMulticoreJit(ClrInstanceID, String1, String2, Int1, Int2, Int3)\
- EventEnabledMulticoreJit() ?\
- CoTemplate_hzzddd(Microsoft_Windows_DotNETRuntimePrivateHandle, &MulticoreJit, ClrInstanceID, String1, String2, Int1, Int2, Int3)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for MulticoreJitMethodCodeReturned
-//
-
-#define EventEnabledMulticoreJitMethodCodeReturned() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00001000) != 0)
-
-//
-// Event Macro for MulticoreJitMethodCodeReturned
-//
-#define FireEtwMulticoreJitMethodCodeReturned(ClrInstanceID, ModuleID, MethodID)\
- EventEnabledMulticoreJitMethodCodeReturned() ?\
- CoTemplate_hxx(Microsoft_Windows_DotNETRuntimePrivateHandle, &MulticoreJitMethodCodeReturned, ClrInstanceID, ModuleID, MethodID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for IInspectableRuntimeClassName
-//
-
-#define EventEnabledIInspectableRuntimeClassName() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for IInspectableRuntimeClassName
-//
-#define FireEtwIInspectableRuntimeClassName(TypeName, ClrInstanceID)\
- EventEnabledIInspectableRuntimeClassName() ?\
- CoTemplate_zh(Microsoft_Windows_DotNETRuntimePrivateHandle, &IInspectableRuntimeClassName, TypeName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for WinRTUnbox
-//
-
-#define EventEnabledWinRTUnbox() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for WinRTUnbox
-//
-#define FireEtwWinRTUnbox(TypeName, SecondTypeName, ClrInstanceID)\
- EventEnabledWinRTUnbox() ?\
- CoTemplate_zzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &WinRTUnbox, TypeName, SecondTypeName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for CreateRCW
-//
-
-#define EventEnabledCreateRCW() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for CreateRCW
-//
-#define FireEtwCreateRCW(TypeName, ClrInstanceID)\
- EventEnabledCreateRCW() ?\
- CoTemplate_zh(Microsoft_Windows_DotNETRuntimePrivateHandle, &CreateRCW, TypeName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for RCWVariance
-//
-
-#define EventEnabledRCWVariance() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for RCWVariance
-//
-#define FireEtwRCWVariance(TypeName, InterfaceTypeName, VariantInterfaceTypeName, ClrInstanceID)\
- EventEnabledRCWVariance() ?\
- CoTemplate_zzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &RCWVariance, TypeName, InterfaceTypeName, VariantInterfaceTypeName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for RCWIEnumerableCasting
-//
-
-#define EventEnabledRCWIEnumerableCasting() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for RCWIEnumerableCasting
-//
-#define FireEtwRCWIEnumerableCasting(TypeName, SecondTypeName, ClrInstanceID)\
- EventEnabledRCWIEnumerableCasting() ?\
- CoTemplate_zzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &RCWIEnumerableCasting, TypeName, SecondTypeName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for CreateCCW
-//
-
-#define EventEnabledCreateCCW() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for CreateCCW
-//
-#define FireEtwCreateCCW(TypeName, ClrInstanceID)\
- EventEnabledCreateCCW() ?\
- CoTemplate_zh(Microsoft_Windows_DotNETRuntimePrivateHandle, &CreateCCW, TypeName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for CCWVariance
-//
-
-#define EventEnabledCCWVariance() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for CCWVariance
-//
-#define FireEtwCCWVariance(TypeName, InterfaceTypeName, VariantInterfaceTypeName, ClrInstanceID)\
- EventEnabledCCWVariance() ?\
- CoTemplate_zzzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &CCWVariance, TypeName, InterfaceTypeName, VariantInterfaceTypeName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ObjectVariantMarshallingToNative
-//
-
-#define EventEnabledObjectVariantMarshallingToNative() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for ObjectVariantMarshallingToNative
-//
-#define FireEtwObjectVariantMarshallingToNative(TypeName, Int1, ClrInstanceID)\
- EventEnabledObjectVariantMarshallingToNative() ?\
- CoTemplate_zdh(Microsoft_Windows_DotNETRuntimePrivateHandle, &ObjectVariantMarshallingToNative, TypeName, Int1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GetTypeFromGUID
-//
-
-#define EventEnabledGetTypeFromGUID() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for GetTypeFromGUID
-//
-#define FireEtwGetTypeFromGUID(TypeName, SecondTypeName, ClrInstanceID)\
- EventEnabledGetTypeFromGUID() ?\
- CoTemplate_zzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &GetTypeFromGUID, TypeName, SecondTypeName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for GetTypeFromProgID
-//
-
-#define EventEnabledGetTypeFromProgID() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for GetTypeFromProgID
-//
-#define FireEtwGetTypeFromProgID(TypeName, SecondTypeName, ClrInstanceID)\
- EventEnabledGetTypeFromProgID() ?\
- CoTemplate_zzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &GetTypeFromProgID, TypeName, SecondTypeName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ConvertToCallbackEtw
-//
-
-#define EventEnabledConvertToCallbackEtw() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for ConvertToCallbackEtw
-//
-#define FireEtwConvertToCallbackEtw(TypeName, SecondTypeName, ClrInstanceID)\
- EventEnabledConvertToCallbackEtw() ?\
- CoTemplate_zzh(Microsoft_Windows_DotNETRuntimePrivateHandle, &ConvertToCallbackEtw, TypeName, SecondTypeName, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for BeginCreateManagedReference
-//
-
-#define EventEnabledBeginCreateManagedReference() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for BeginCreateManagedReference
-//
-#define FireEtwBeginCreateManagedReference(ClrInstanceID)\
- EventEnabledBeginCreateManagedReference() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &BeginCreateManagedReference, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for EndCreateManagedReference
-//
-
-#define EventEnabledEndCreateManagedReference() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for EndCreateManagedReference
-//
-#define FireEtwEndCreateManagedReference(ClrInstanceID)\
- EventEnabledEndCreateManagedReference() ?\
- CoTemplate_h(Microsoft_Windows_DotNETRuntimePrivateHandle, &EndCreateManagedReference, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-//
-// Enablement check macro for ObjectVariantMarshallingToManaged
-//
-
-#define EventEnabledObjectVariantMarshallingToManaged() ((Microsoft_Windows_DotNETRuntimePrivateEnableBits[0] & 0x00002000) != 0)
-
-//
-// Event Macro for ObjectVariantMarshallingToManaged
-//
-#define FireEtwObjectVariantMarshallingToManaged(TypeName, Int1, ClrInstanceID)\
- EventEnabledObjectVariantMarshallingToManaged() ?\
- CoTemplate_zdh(Microsoft_Windows_DotNETRuntimePrivateHandle, &ObjectVariantMarshallingToManaged, TypeName, Int1, ClrInstanceID)\
- : ERROR_SUCCESS\
-
-#endif // MCGEN_DISABLE_PROVIDER_CODE_GENERATION
-
-
-//
-// Allow Diasabling of code generation
-//
-#ifndef MCGEN_DISABLE_PROVIDER_CODE_GENERATION
-
-//
-// Template Functions
-//
-//
-//Template from manifest : GCStart
-//
-#ifndef CoTemplate_qq_def
-#define CoTemplate_qq_def
-ETW_INLINE
-ULONG
-CoTemplate_qq(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1
- )
-{
-#define ARGUMENT_COUNT_qq 2
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qq];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qq, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qq,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCStart_V1
-//
-#ifndef CoTemplate_qqqqh_def
-#define CoTemplate_qqqqh_def
-ETW_INLINE
-ULONG
-CoTemplate_qqqqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned short _Arg4
- )
-{
-#define ARGUMENT_COUNT_qqqqh 5
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqqqh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqqqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qqqqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCStart_V2
-//
-#ifndef CoTemplate_qqqqhx_def
-#define CoTemplate_qqqqhx_def
-ETW_INLINE
-ULONG
-CoTemplate_qqqqhx(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned short _Arg4,
- _In_ unsigned __int64 _Arg5
- )
-{
-#define ARGUMENT_COUNT_qqqqhx 6
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqqqhx];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(unsigned __int64) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqqqhx, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qqqqhx,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCEnd
-//
-#ifndef CoTemplate_qh_def
-#define CoTemplate_qh_def
-ETW_INLINE
-ULONG
-CoTemplate_qh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned short _Arg1
- )
-{
-#define ARGUMENT_COUNT_qh 2
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCEnd_V1
-//
-#ifndef CoTemplate_qqh_def
-#define CoTemplate_qqh_def
-ETW_INLINE
-ULONG
-CoTemplate_qqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned short _Arg2
- )
-{
-#define ARGUMENT_COUNT_qqh 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : (null)
-//
-#ifndef CoTemplateEventDescriptor_def
-#define CoTemplateEventDescriptor_def
-
-
-ETW_INLINE
-ULONG
-CoTemplateEventDescriptor(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor
- )
-{
- ULONG Error = ERROR_SUCCESS;
-
- Error = EventWrite(RegHandle, Descriptor, 0, NULL);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- 0,
- NULL);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCNoUserData
-//
-#ifndef CoTemplate_h_def
-#define CoTemplate_h_def
-ETW_INLINE
-ULONG
-CoTemplate_h(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0
- )
-{
-#define ARGUMENT_COUNT_h 1
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_h];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_h, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_h,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCHeapStats
-//
-#ifndef CoTemplate_xxxxxxxxxxqqq_def
-#define CoTemplate_xxxxxxxxxxqqq_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxxxxxxxxqqq(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ unsigned __int64 _Arg3,
- _In_ unsigned __int64 _Arg4,
- _In_ unsigned __int64 _Arg5,
- _In_ unsigned __int64 _Arg6,
- _In_ unsigned __int64 _Arg7,
- _In_ unsigned __int64 _Arg8,
- _In_ unsigned __int64 _Arg9,
- _In_ const unsigned int _Arg10,
- _In_ const unsigned int _Arg11,
- _In_ const unsigned int _Arg12
- )
-{
-#define ARGUMENT_COUNT_xxxxxxxxxxqqq 13
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxxxxxxxxqqq];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[7], &_Arg7, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[8], &_Arg8, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[9], &_Arg9, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[11], &_Arg11, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[12], &_Arg12, sizeof(const unsigned int) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxxxxxxxxqqq, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxxxxxxxxqqq,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCHeapStats_V1
-//
-#ifndef CoTemplate_xxxxxxxxxxqqqh_def
-#define CoTemplate_xxxxxxxxxxqqqh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxxxxxxxxqqqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ unsigned __int64 _Arg3,
- _In_ unsigned __int64 _Arg4,
- _In_ unsigned __int64 _Arg5,
- _In_ unsigned __int64 _Arg6,
- _In_ unsigned __int64 _Arg7,
- _In_ unsigned __int64 _Arg8,
- _In_ unsigned __int64 _Arg9,
- _In_ const unsigned int _Arg10,
- _In_ const unsigned int _Arg11,
- _In_ const unsigned int _Arg12,
- _In_ const unsigned short _Arg13
- )
-{
-#define ARGUMENT_COUNT_xxxxxxxxxxqqqh 14
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxxxxxxxxqqqh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[7], &_Arg7, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[8], &_Arg8, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[9], &_Arg9, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[11], &_Arg11, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[12], &_Arg12, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[13], &_Arg13, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxxxxxxxxqqqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxxxxxxxxqqqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCCreateSegment
-//
-#ifndef CoTemplate_xxq_def
-#define CoTemplate_xxq_def
-ETW_INLINE
-ULONG
-CoTemplate_xxq(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned int _Arg2
- )
-{
-#define ARGUMENT_COUNT_xxq 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxq];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxq, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxq,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCCreateSegment_V1
-//
-#ifndef CoTemplate_xxqh_def
-#define CoTemplate_xxqh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_xxqh 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxqh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCFreeSegment
-//
-#ifndef CoTemplate_x_def
-#define CoTemplate_x_def
-ETW_INLINE
-ULONG
-CoTemplate_x(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0
- )
-{
-#define ARGUMENT_COUNT_x 1
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_x];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_x, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_x,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCFreeSegment_V1
-//
-#ifndef CoTemplate_xh_def
-#define CoTemplate_xh_def
-ETW_INLINE
-ULONG
-CoTemplate_xh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ const unsigned short _Arg1
- )
-{
-#define ARGUMENT_COUNT_xh 2
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCAllocationTick_V2
-//
-#ifndef CoTemplate_qqhxpzq_def
-#define CoTemplate_qqhxpzq_def
-ETW_INLINE
-ULONG
-CoTemplate_qqhxpzq(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned short _Arg2,
- _In_ unsigned __int64 _Arg3,
- _In_opt_ const void * _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_ const unsigned int _Arg6
- )
-{
-#define ARGUMENT_COUNT_qqhxpzq 7
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqhxpzq];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned int) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqhxpzq, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qqhxpzq,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCAllocationTick_V3
-//
-#ifndef CoTemplate_qqhxpzqp_def
-#define CoTemplate_qqhxpzqp_def
-ETW_INLINE
-ULONG
-CoTemplate_qqhxpzqp(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned short _Arg2,
- _In_ unsigned __int64 _Arg3,
- _In_opt_ const void * _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_ const unsigned int _Arg6,
- _In_opt_ const void * _Arg7
- )
-{
-#define ARGUMENT_COUNT_qqhxpzqp 8
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqhxpzqp];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[7], &_Arg7, sizeof(PVOID) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqhxpzqp, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qqhxpzqp,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCFinalizersEnd
-//
-#ifndef CoTemplate_q_def
-#define CoTemplate_q_def
-ETW_INLINE
-ULONG
-CoTemplate_q(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0
- )
-{
-#define ARGUMENT_COUNT_q 1
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_q];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_q, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_q,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : BulkType
-//
-#ifndef CoTemplate_qhNR0_def
-#define CoTemplate_qhNR0_def
-ETW_INLINE
-ULONG
-CoTemplate_qhNR0(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned short _Arg1,
- _In_ ULONG _Arg2_Len_,
- _In_ const PVOID _Arg2
- )
-{
-#define ARGUMENT_COUNT_qhNR0 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qhNR0];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[2], _Arg2, _Arg0 * _Arg2_Len_);
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qhNR0, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qhNR0,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCBulkRootEdge
-//
-#ifndef CoTemplate_qqhNR1_def
-#define CoTemplate_qqhNR1_def
-ETW_INLINE
-ULONG
-CoTemplate_qqhNR1(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned short _Arg2,
- _In_ ULONG _Arg3_Len_,
- _In_ const PVOID _Arg3
- )
-{
-#define ARGUMENT_COUNT_qqhNR1 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqhNR1];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[3], _Arg3, _Arg1 * _Arg3_Len_);
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqhNR1, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qqhNR1,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCSampledObjectAllocation
-//
-#ifndef CoTemplate_ppqxh_def
-#define CoTemplate_ppqxh_def
-ETW_INLINE
-ULONG
-CoTemplate_ppqxh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ const void * _Arg0,
- _In_opt_ const void * _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ unsigned __int64 _Arg3,
- _In_ const unsigned short _Arg4
- )
-{
-#define ARGUMENT_COUNT_ppqxh 5
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_ppqxh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_ppqxh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_ppqxh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCGenerationRange
-//
-#ifndef CoTemplate_cpxxh_def
-#define CoTemplate_cpxxh_def
-ETW_INLINE
-ULONG
-CoTemplate_cpxxh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const UCHAR _Arg0,
- _In_opt_ const void * _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ unsigned __int64 _Arg3,
- _In_ const unsigned short _Arg4
- )
-{
-#define ARGUMENT_COUNT_cpxxh 5
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_cpxxh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const UCHAR) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_cpxxh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_cpxxh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : FinalizeObject
-//
-#ifndef CoTemplate_pph_def
-#define CoTemplate_pph_def
-ETW_INLINE
-ULONG
-CoTemplate_pph(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ const void * _Arg0,
- _In_opt_ const void * _Arg1,
- _In_ const unsigned short _Arg2
- )
-{
-#define ARGUMENT_COUNT_pph 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_pph];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_pph, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_pph,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : SetGCHandle
-//
-#ifndef CoTemplate_ppqqxh_def
-#define CoTemplate_ppqqxh_def
-ETW_INLINE
-ULONG
-CoTemplate_ppqqxh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ const void * _Arg0,
- _In_opt_ const void * _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ unsigned __int64 _Arg4,
- _In_ const unsigned short _Arg5
- )
-{
-#define ARGUMENT_COUNT_ppqqxh 6
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_ppqqxh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_ppqqxh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_ppqqxh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : DestroyGCHandle
-//
-#ifndef CoTemplate_ph_def
-#define CoTemplate_ph_def
-ETW_INLINE
-ULONG
-CoTemplate_ph(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ const void * _Arg0,
- _In_ const unsigned short _Arg1
- )
-{
-#define ARGUMENT_COUNT_ph 2
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_ph];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_ph, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_ph,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : PinObjectAtGCTime
-//
-#ifndef CoTemplate_ppxzh_def
-#define CoTemplate_ppxzh_def
-ETW_INLINE
-ULONG
-CoTemplate_ppxzh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ const void * _Arg0,
- _In_opt_ const void * _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_opt_ PCWSTR _Arg3,
- _In_ const unsigned short _Arg4
- )
-{
-#define ARGUMENT_COUNT_ppxzh 5
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_ppxzh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3],
- (_Arg3 != NULL) ? _Arg3 : L"NULL",
- (_Arg3 != NULL) ? (ULONG)((wcslen(_Arg3) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_ppxzh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_ppxzh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCBulkRootStaticVar
-//
-#ifndef CoTemplate_qxhNR0_def
-#define CoTemplate_qxhNR0_def
-ETW_INLINE
-ULONG
-CoTemplate_qxhNR0(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned short _Arg2,
- _In_ ULONG _Arg3_Len_,
- _In_ const PVOID _Arg3
- )
-{
-#define ARGUMENT_COUNT_qxhNR0 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qxhNR0];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[3], _Arg3, _Arg0 * _Arg3_Len_);
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qxhNR0, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qxhNR0,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ThreadPoolWorkerThreadAdjustmentSample
-//
-#ifndef CoTemplate_gh_def
-#define CoTemplate_gh_def
-ETW_INLINE
-ULONG
-CoTemplate_gh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const double _Arg0,
- _In_ const unsigned short _Arg1
- )
-{
-#define ARGUMENT_COUNT_gh 2
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_gh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const double) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_gh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_gh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ThreadPoolWorkerThreadAdjustmentAdjustment
-//
-#ifndef CoTemplate_gqqh_def
-#define CoTemplate_gqqh_def
-ETW_INLINE
-ULONG
-CoTemplate_gqqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const double _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_gqqh 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_gqqh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const double) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_gqqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_gqqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ThreadPoolWorkerThreadAdjustmentStats
-//
-#ifndef CoTemplate_ggggggggghh_def
-#define CoTemplate_ggggggggghh_def
-ETW_INLINE
-ULONG
-CoTemplate_ggggggggghh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const double _Arg0,
- _In_ const double _Arg1,
- _In_ const double _Arg2,
- _In_ const double _Arg3,
- _In_ const double _Arg4,
- _In_ const double _Arg5,
- _In_ const double _Arg6,
- _In_ const double _Arg7,
- _In_ const double _Arg8,
- _In_ const unsigned short _Arg9,
- _In_ const unsigned short _Arg10
- )
-{
-#define ARGUMENT_COUNT_ggggggggghh 11
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_ggggggggghh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const double) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const double) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const double) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const double) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const double) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const double) );
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const double) );
-
- EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const double) );
-
- EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const double) );
-
- EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_ggggggggghh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_ggggggggghh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ThreadPoolIOWorkEnqueue
-//
-#ifndef CoTemplate_ppth_def
-#define CoTemplate_ppth_def
-ETW_INLINE
-ULONG
-CoTemplate_ppth(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ const void * _Arg0,
- _In_opt_ const void * _Arg1,
- _In_ const BOOL _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_ppth 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_ppth];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_ppth, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_ppth,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : Exception
-//
-#ifndef CoTemplate_zzpqhh_def
-#define CoTemplate_zzpqhh_def
-ETW_INLINE
-ULONG
-CoTemplate_zzpqhh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_opt_ const void * _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned short _Arg4,
- _In_ const unsigned short _Arg5
- )
-{
-#define ARGUMENT_COUNT_zzpqhh 6
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zzpqhh];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zzpqhh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zzpqhh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ExceptionHandling
-//
-#ifndef CoTemplate_xxzh_def
-#define CoTemplate_xxzh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxzh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_opt_ PCWSTR _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_xxzh 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxzh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : L"NULL",
- (_Arg2 != NULL) ? (ULONG)((wcslen(_Arg2) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxzh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxzh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : Contention
-//
-#ifndef CoTemplate_ch_def
-#define CoTemplate_ch_def
-ETW_INLINE
-ULONG
-CoTemplate_ch(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const UCHAR _Arg0,
- _In_ const unsigned short _Arg1
- )
-{
-#define ARGUMENT_COUNT_ch 2
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_ch];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const UCHAR) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_ch, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_ch,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ClrStackWalk
-//
-#ifndef CoTemplate_hccqP2_def
-#define CoTemplate_hccqP2_def
-ETW_INLINE
-ULONG
-CoTemplate_hccqP2(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0,
- _In_ const UCHAR _Arg1,
- _In_ const UCHAR _Arg2,
- _In_ const unsigned int _Arg3,
- _In_reads_(2) const void * *_Arg4
- )
-{
-#define ARGUMENT_COUNT_hccqP2 5
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_hccqP2];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const UCHAR) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const UCHAR) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], _Arg4, sizeof(PVOID)*2);
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_hccqP2, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_hccqP2,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : AppDomainMemAllocated
-//
-#ifndef CoTemplate_xxh_def
-#define CoTemplate_xxh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned short _Arg2
- )
-{
-#define ARGUMENT_COUNT_xxh 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : AppDomainMemSurvived
-//
-#ifndef CoTemplate_xxxh_def
-#define CoTemplate_xxxh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_xxxh 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ThreadCreated
-//
-#ifndef CoTemplate_xxqqqh_def
-#define CoTemplate_xxqqqh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxqqqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_ const unsigned short _Arg5
- )
-{
-#define ARGUMENT_COUNT_xxqqqh 6
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxqqqh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxqqqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxqqqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ILStubGenerated
-//
-#ifndef CoTemplate_hxxqqzzzzzz_def
-#define CoTemplate_hxxqqzzzzzz_def
-ETW_INLINE
-ULONG
-CoTemplate_hxxqqzzzzzz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_opt_ PCWSTR _Arg6,
- _In_opt_ PCWSTR _Arg7,
- _In_opt_ PCWSTR _Arg8,
- _In_opt_ PCWSTR _Arg9,
- _In_opt_ PCWSTR _Arg10
- )
-{
-#define ARGUMENT_COUNT_hxxqqzzzzzz 11
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_hxxqqzzzzzz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : L"NULL",
- (_Arg6 != NULL) ? (ULONG)((wcslen(_Arg6) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[7],
- (_Arg7 != NULL) ? _Arg7 : L"NULL",
- (_Arg7 != NULL) ? (ULONG)((wcslen(_Arg7) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[8],
- (_Arg8 != NULL) ? _Arg8 : L"NULL",
- (_Arg8 != NULL) ? (ULONG)((wcslen(_Arg8) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[9],
- (_Arg9 != NULL) ? _Arg9 : L"NULL",
- (_Arg9 != NULL) ? (ULONG)((wcslen(_Arg9) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[10],
- (_Arg10 != NULL) ? _Arg10 : L"NULL",
- (_Arg10 != NULL) ? (ULONG)((wcslen(_Arg10) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_hxxqqzzzzzz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_hxxqqzzzzzz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ILStubCacheHit
-//
-#ifndef CoTemplate_hxxqzzz_def
-#define CoTemplate_hxxqzzz_def
-ETW_INLINE
-ULONG
-CoTemplate_hxxqzzz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned int _Arg3,
- _In_opt_ PCWSTR _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_opt_ PCWSTR _Arg6
- )
-{
-#define ARGUMENT_COUNT_hxxqzzz 7
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_hxxqzzz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4],
- (_Arg4 != NULL) ? _Arg4 : L"NULL",
- (_Arg4 != NULL) ? (ULONG)((wcslen(_Arg4) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : L"NULL",
- (_Arg6 != NULL) ? (ULONG)((wcslen(_Arg6) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_hxxqzzz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_hxxqzzz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodLoadUnload
-//
-#ifndef CoTemplate_xxxqqq_def
-#define CoTemplate_xxxqqq_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxqqq(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_ const unsigned int _Arg5
- )
-{
-#define ARGUMENT_COUNT_xxxqqq 6
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxqqq];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxqqq, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxqqq,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodLoadUnloadVerbose
-//
-#ifndef CoTemplate_xxxqqqzzz_def
-#define CoTemplate_xxxqqqzzz_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxqqqzzz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_ const unsigned int _Arg5,
- _In_opt_ PCWSTR _Arg6,
- _In_opt_ PCWSTR _Arg7,
- _In_opt_ PCWSTR _Arg8
- )
-{
-#define ARGUMENT_COUNT_xxxqqqzzz 9
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxqqqzzz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : L"NULL",
- (_Arg6 != NULL) ? (ULONG)((wcslen(_Arg6) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[7],
- (_Arg7 != NULL) ? _Arg7 : L"NULL",
- (_Arg7 != NULL) ? (ULONG)((wcslen(_Arg7) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[8],
- (_Arg8 != NULL) ? _Arg8 : L"NULL",
- (_Arg8 != NULL) ? (ULONG)((wcslen(_Arg8) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxqqqzzz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxqqqzzz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodLoadUnload_V1
-//
-#ifndef CoTemplate_xxxqqqh_def
-#define CoTemplate_xxxqqqh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxqqqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_ const unsigned int _Arg5,
- _In_ const unsigned short _Arg6
- )
-{
-#define ARGUMENT_COUNT_xxxqqqh 7
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxqqqh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxqqqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxqqqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodLoadUnload_V2
-//
-#ifndef CoTemplate_xxxqqqhx_def
-#define CoTemplate_xxxqqqhx_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxqqqhx(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_ const unsigned int _Arg5,
- _In_ const unsigned short _Arg6,
- _In_ unsigned __int64 _Arg7
- )
-{
-#define ARGUMENT_COUNT_xxxqqqhx 8
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxqqqhx];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[7], &_Arg7, sizeof(unsigned __int64) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxqqqhx, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxqqqhx,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodLoadUnloadVerbose_V1
-//
-#ifndef CoTemplate_xxxqqqzzzh_def
-#define CoTemplate_xxxqqqzzzh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxqqqzzzh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_ const unsigned int _Arg5,
- _In_opt_ PCWSTR _Arg6,
- _In_opt_ PCWSTR _Arg7,
- _In_opt_ PCWSTR _Arg8,
- _In_ const unsigned short _Arg9
- )
-{
-#define ARGUMENT_COUNT_xxxqqqzzzh 10
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxqqqzzzh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : L"NULL",
- (_Arg6 != NULL) ? (ULONG)((wcslen(_Arg6) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[7],
- (_Arg7 != NULL) ? _Arg7 : L"NULL",
- (_Arg7 != NULL) ? (ULONG)((wcslen(_Arg7) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[8],
- (_Arg8 != NULL) ? _Arg8 : L"NULL",
- (_Arg8 != NULL) ? (ULONG)((wcslen(_Arg8) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxqqqzzzh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxqqqzzzh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodLoadUnloadVerbose_V2
-//
-#ifndef CoTemplate_xxxqqqzzzhx_def
-#define CoTemplate_xxxqqqzzzhx_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxqqqzzzhx(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_ const unsigned int _Arg5,
- _In_opt_ PCWSTR _Arg6,
- _In_opt_ PCWSTR _Arg7,
- _In_opt_ PCWSTR _Arg8,
- _In_ const unsigned short _Arg9,
- _In_ unsigned __int64 _Arg10
- )
-{
-#define ARGUMENT_COUNT_xxxqqqzzzhx 11
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxqqqzzzhx];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : L"NULL",
- (_Arg6 != NULL) ? (ULONG)((wcslen(_Arg6) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[7],
- (_Arg7 != NULL) ? _Arg7 : L"NULL",
- (_Arg7 != NULL) ? (ULONG)((wcslen(_Arg7) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[8],
- (_Arg8 != NULL) ? _Arg8 : L"NULL",
- (_Arg8 != NULL) ? (ULONG)((wcslen(_Arg8) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[10], &_Arg10, sizeof(unsigned __int64) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxqqqzzzhx, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxqqqzzzhx,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodJittingStarted
-//
-#ifndef CoTemplate_xxqqzzz_def
-#define CoTemplate_xxqqzzz_def
-ETW_INLINE
-ULONG
-CoTemplate_xxqqzzz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_opt_ PCWSTR _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_opt_ PCWSTR _Arg6
- )
-{
-#define ARGUMENT_COUNT_xxqqzzz 7
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxqqzzz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4],
- (_Arg4 != NULL) ? _Arg4 : L"NULL",
- (_Arg4 != NULL) ? (ULONG)((wcslen(_Arg4) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : L"NULL",
- (_Arg6 != NULL) ? (ULONG)((wcslen(_Arg6) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxqqzzz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxqqzzz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodJittingStarted_V1
-//
-#ifndef CoTemplate_xxqqzzzh_def
-#define CoTemplate_xxqqzzzh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxqqzzzh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_opt_ PCWSTR _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_opt_ PCWSTR _Arg6,
- _In_ const unsigned short _Arg7
- )
-{
-#define ARGUMENT_COUNT_xxqqzzzh 8
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxqqzzzh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4],
- (_Arg4 != NULL) ? _Arg4 : L"NULL",
- (_Arg4 != NULL) ? (ULONG)((wcslen(_Arg4) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : L"NULL",
- (_Arg6 != NULL) ? (ULONG)((wcslen(_Arg6) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxqqzzzh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxqqzzzh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodJitInliningSucceeded
-//
-#ifndef CoTemplate_zzzzzzzzzh_def
-#define CoTemplate_zzzzzzzzzh_def
-ETW_INLINE
-ULONG
-CoTemplate_zzzzzzzzzh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_opt_ PCWSTR _Arg2,
- _In_opt_ PCWSTR _Arg3,
- _In_opt_ PCWSTR _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_opt_ PCWSTR _Arg6,
- _In_opt_ PCWSTR _Arg7,
- _In_opt_ PCWSTR _Arg8,
- _In_ const unsigned short _Arg9
- )
-{
-#define ARGUMENT_COUNT_zzzzzzzzzh 10
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zzzzzzzzzh];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : L"NULL",
- (_Arg2 != NULL) ? (ULONG)((wcslen(_Arg2) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[3],
- (_Arg3 != NULL) ? _Arg3 : L"NULL",
- (_Arg3 != NULL) ? (ULONG)((wcslen(_Arg3) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[4],
- (_Arg4 != NULL) ? _Arg4 : L"NULL",
- (_Arg4 != NULL) ? (ULONG)((wcslen(_Arg4) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : L"NULL",
- (_Arg6 != NULL) ? (ULONG)((wcslen(_Arg6) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[7],
- (_Arg7 != NULL) ? _Arg7 : L"NULL",
- (_Arg7 != NULL) ? (ULONG)((wcslen(_Arg7) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[8],
- (_Arg8 != NULL) ? _Arg8 : L"NULL",
- (_Arg8 != NULL) ? (ULONG)((wcslen(_Arg8) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zzzzzzzzzh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zzzzzzzzzh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodJitInliningFailed
-//
-#ifndef CoTemplate_zzzzzzzzztsh_def
-#define CoTemplate_zzzzzzzzztsh_def
-ETW_INLINE
-ULONG
-CoTemplate_zzzzzzzzztsh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_opt_ PCWSTR _Arg2,
- _In_opt_ PCWSTR _Arg3,
- _In_opt_ PCWSTR _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_opt_ PCWSTR _Arg6,
- _In_opt_ PCWSTR _Arg7,
- _In_opt_ PCWSTR _Arg8,
- _In_ const BOOL _Arg9,
- _In_opt_ LPCSTR _Arg10,
- _In_ const unsigned short _Arg11
- )
-{
-#define ARGUMENT_COUNT_zzzzzzzzztsh 12
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zzzzzzzzztsh];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : L"NULL",
- (_Arg2 != NULL) ? (ULONG)((wcslen(_Arg2) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[3],
- (_Arg3 != NULL) ? _Arg3 : L"NULL",
- (_Arg3 != NULL) ? (ULONG)((wcslen(_Arg3) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[4],
- (_Arg4 != NULL) ? _Arg4 : L"NULL",
- (_Arg4 != NULL) ? (ULONG)((wcslen(_Arg4) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : L"NULL",
- (_Arg6 != NULL) ? (ULONG)((wcslen(_Arg6) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[7],
- (_Arg7 != NULL) ? _Arg7 : L"NULL",
- (_Arg7 != NULL) ? (ULONG)((wcslen(_Arg7) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[8],
- (_Arg8 != NULL) ? _Arg8 : L"NULL",
- (_Arg8 != NULL) ? (ULONG)((wcslen(_Arg8) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[10],
- (_Arg10 != NULL) ? _Arg10 : "NULL",
- (_Arg10 != NULL) ? (ULONG)((strlen(_Arg10) + 1) * sizeof(CHAR)) : (ULONG)sizeof("NULL"));
-
- EventDataDescCreate(&EventData[11], &_Arg11, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zzzzzzzzztsh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zzzzzzzzztsh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodJitTailCallSucceeded
-//
-#ifndef CoTemplate_zzzzzzzzztqh_def
-#define CoTemplate_zzzzzzzzztqh_def
-ETW_INLINE
-ULONG
-CoTemplate_zzzzzzzzztqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_opt_ PCWSTR _Arg2,
- _In_opt_ PCWSTR _Arg3,
- _In_opt_ PCWSTR _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_opt_ PCWSTR _Arg6,
- _In_opt_ PCWSTR _Arg7,
- _In_opt_ PCWSTR _Arg8,
- _In_ const BOOL _Arg9,
- _In_ const unsigned int _Arg10,
- _In_ const unsigned short _Arg11
- )
-{
-#define ARGUMENT_COUNT_zzzzzzzzztqh 12
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zzzzzzzzztqh];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : L"NULL",
- (_Arg2 != NULL) ? (ULONG)((wcslen(_Arg2) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[3],
- (_Arg3 != NULL) ? _Arg3 : L"NULL",
- (_Arg3 != NULL) ? (ULONG)((wcslen(_Arg3) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[4],
- (_Arg4 != NULL) ? _Arg4 : L"NULL",
- (_Arg4 != NULL) ? (ULONG)((wcslen(_Arg4) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : L"NULL",
- (_Arg6 != NULL) ? (ULONG)((wcslen(_Arg6) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[7],
- (_Arg7 != NULL) ? _Arg7 : L"NULL",
- (_Arg7 != NULL) ? (ULONG)((wcslen(_Arg7) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[8],
- (_Arg8 != NULL) ? _Arg8 : L"NULL",
- (_Arg8 != NULL) ? (ULONG)((wcslen(_Arg8) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[11], &_Arg11, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zzzzzzzzztqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zzzzzzzzztqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodILToNativeMap
-//
-#ifndef CoTemplate_xxchQR3QR3h_def
-#define CoTemplate_xxchQR3QR3h_def
-ETW_INLINE
-ULONG
-CoTemplate_xxchQR3QR3h(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const UCHAR _Arg2,
- _In_ const unsigned short _Arg3,
- _In_reads_(_Arg3) const unsigned int *_Arg4,
- _In_reads_(_Arg3) const unsigned int *_Arg5,
- _In_ const unsigned short _Arg6
- )
-{
-#define ARGUMENT_COUNT_xxchQR3QR3h 7
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxchQR3QR3h];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const UCHAR) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[4], _Arg4, sizeof(const unsigned int)*_Arg3);
-
- EventDataDescCreate(&EventData[5], _Arg5, sizeof(const unsigned int)*_Arg3);
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxchQR3QR3h, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxchQR3QR3h,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ModuleLoadUnload
-//
-#ifndef CoTemplate_xxqqzz_def
-#define CoTemplate_xxqqzz_def
-ETW_INLINE
-ULONG
-CoTemplate_xxqqzz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_opt_ PCWSTR _Arg4,
- _In_opt_ PCWSTR _Arg5
- )
-{
-#define ARGUMENT_COUNT_xxqqzz 6
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxqqzz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4],
- (_Arg4 != NULL) ? _Arg4 : L"NULL",
- (_Arg4 != NULL) ? (ULONG)((wcslen(_Arg4) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxqqzz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxqqzz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : DomainModuleLoadUnload
-//
-#ifndef CoTemplate_xxxqqzz_def
-#define CoTemplate_xxxqqzz_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxqqzz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_opt_ PCWSTR _Arg6
- )
-{
-#define ARGUMENT_COUNT_xxxqqzz 7
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxqqzz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : L"NULL",
- (_Arg6 != NULL) ? (ULONG)((wcslen(_Arg6) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxqqzz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxqqzz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : DomainModuleLoadUnload_V1
-//
-#ifndef CoTemplate_xxxqqzzh_def
-#define CoTemplate_xxxqqzzh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxqqzzh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_opt_ PCWSTR _Arg6,
- _In_ const unsigned short _Arg7
- )
-{
-#define ARGUMENT_COUNT_xxxqqzzh 8
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxqqzzh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : L"NULL",
- (_Arg6 != NULL) ? (ULONG)((wcslen(_Arg6) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxqqzzh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxqqzzh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ModuleLoadUnload_V1
-//
-#ifndef CoTemplate_xxqqzzh_def
-#define CoTemplate_xxqqzzh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxqqzzh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_opt_ PCWSTR _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_ const unsigned short _Arg6
- )
-{
-#define ARGUMENT_COUNT_xxqqzzh 7
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxqqzzh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4],
- (_Arg4 != NULL) ? _Arg4 : L"NULL",
- (_Arg4 != NULL) ? (ULONG)((wcslen(_Arg4) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxqqzzh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxqqzzh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ModuleLoadUnload_V2
-//
-#ifndef CoTemplate_xxqqzzhjqzjqz_def
-#define CoTemplate_xxqqzzhjqzjqz_def
-ETW_INLINE
-ULONG
-CoTemplate_xxqqzzhjqzjqz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_opt_ PCWSTR _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_ const unsigned short _Arg6,
- _In_ LPCGUID _Arg7,
- _In_ const unsigned int _Arg8,
- _In_opt_ PCWSTR _Arg9,
- _In_ LPCGUID _Arg10,
- _In_ const unsigned int _Arg11,
- _In_opt_ PCWSTR _Arg12
- )
-{
-#define ARGUMENT_COUNT_xxqqzzhjqzjqz 13
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxqqzzhjqzjqz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4],
- (_Arg4 != NULL) ? _Arg4 : L"NULL",
- (_Arg4 != NULL) ? (ULONG)((wcslen(_Arg4) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[7], _Arg7, sizeof(GUID) );
-
- EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[9],
- (_Arg9 != NULL) ? _Arg9 : L"NULL",
- (_Arg9 != NULL) ? (ULONG)((wcslen(_Arg9) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[10], _Arg10, sizeof(GUID) );
-
- EventDataDescCreate(&EventData[11], &_Arg11, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[12],
- (_Arg12 != NULL) ? _Arg12 : L"NULL",
- (_Arg12 != NULL) ? (ULONG)((wcslen(_Arg12) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxqqzzhjqzjqz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxqqzzhjqzjqz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : AssemblyLoadUnload
-//
-#ifndef CoTemplate_xxqz_def
-#define CoTemplate_xxqz_def
-ETW_INLINE
-ULONG
-CoTemplate_xxqz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned int _Arg2,
- _In_opt_ PCWSTR _Arg3
- )
-{
-#define ARGUMENT_COUNT_xxqz 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxqz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3],
- (_Arg3 != NULL) ? _Arg3 : L"NULL",
- (_Arg3 != NULL) ? (ULONG)((wcslen(_Arg3) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxqz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxqz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : AssemblyLoadUnload_V1
-//
-#ifndef CoTemplate_xxxqzh_def
-#define CoTemplate_xxxqzh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxqzh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned int _Arg3,
- _In_opt_ PCWSTR _Arg4,
- _In_ const unsigned short _Arg5
- )
-{
-#define ARGUMENT_COUNT_xxxqzh 6
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxqzh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4],
- (_Arg4 != NULL) ? _Arg4 : L"NULL",
- (_Arg4 != NULL) ? (ULONG)((wcslen(_Arg4) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxqzh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxqzh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : AppDomainLoadUnload
-//
-#ifndef CoTemplate_xqz_def
-#define CoTemplate_xqz_def
-ETW_INLINE
-ULONG
-CoTemplate_xqz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ const unsigned int _Arg1,
- _In_opt_ PCWSTR _Arg2
- )
-{
-#define ARGUMENT_COUNT_xqz 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xqz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : L"NULL",
- (_Arg2 != NULL) ? (ULONG)((wcslen(_Arg2) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xqz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xqz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : AppDomainLoadUnload_V1
-//
-#ifndef CoTemplate_xqzqh_def
-#define CoTemplate_xqzqh_def
-ETW_INLINE
-ULONG
-CoTemplate_xqzqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ const unsigned int _Arg1,
- _In_opt_ PCWSTR _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned short _Arg4
- )
-{
-#define ARGUMENT_COUNT_xqzqh 5
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xqzqh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : L"NULL",
- (_Arg2 != NULL) ? (ULONG)((wcslen(_Arg2) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xqzqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xqzqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ModuleRange
-//
-#ifndef CoTemplate_hxqqc_def
-#define CoTemplate_hxqqc_def
-ETW_INLINE
-ULONG
-CoTemplate_hxqqc(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const UCHAR _Arg4
- )
-{
-#define ARGUMENT_COUNT_hxqqc 5
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_hxqqc];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const UCHAR) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_hxqqc, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_hxqqc,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : StrongNameVerification
-//
-#ifndef CoTemplate_qqz_def
-#define CoTemplate_qqz_def
-ETW_INLINE
-ULONG
-CoTemplate_qqz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1,
- _In_opt_ PCWSTR _Arg2
- )
-{
-#define ARGUMENT_COUNT_qqz 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : L"NULL",
- (_Arg2 != NULL) ? (ULONG)((wcslen(_Arg2) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qqz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : StrongNameVerification_V1
-//
-#ifndef CoTemplate_qqzh_def
-#define CoTemplate_qqzh_def
-ETW_INLINE
-ULONG
-CoTemplate_qqzh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1,
- _In_opt_ PCWSTR _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_qqzh 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqzh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : L"NULL",
- (_Arg2 != NULL) ? (ULONG)((wcslen(_Arg2) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqzh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qqzh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : RuntimeInformation
-//
-#ifndef CoTemplate_hhhhhhhhhhqczjz_def
-#define CoTemplate_hhhhhhhhhhqczjz_def
-ETW_INLINE
-ULONG
-CoTemplate_hhhhhhhhhhqczjz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0,
- _In_ const unsigned short _Arg1,
- _In_ const unsigned short _Arg2,
- _In_ const unsigned short _Arg3,
- _In_ const unsigned short _Arg4,
- _In_ const unsigned short _Arg5,
- _In_ const unsigned short _Arg6,
- _In_ const unsigned short _Arg7,
- _In_ const unsigned short _Arg8,
- _In_ const unsigned short _Arg9,
- _In_ const unsigned int _Arg10,
- _In_ const UCHAR _Arg11,
- _In_opt_ PCWSTR _Arg12,
- _In_ LPCGUID _Arg13,
- _In_opt_ PCWSTR _Arg14
- )
-{
-#define ARGUMENT_COUNT_hhhhhhhhhhqczjz 15
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_hhhhhhhhhhqczjz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[11], &_Arg11, sizeof(const UCHAR) );
-
- EventDataDescCreate(&EventData[12],
- (_Arg12 != NULL) ? _Arg12 : L"NULL",
- (_Arg12 != NULL) ? (ULONG)((wcslen(_Arg12) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[13], _Arg13, sizeof(GUID) );
-
- EventDataDescCreate(&EventData[14],
- (_Arg14 != NULL) ? _Arg14 : L"NULL",
- (_Arg14 != NULL) ? (ULONG)((wcslen(_Arg14) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_hhhhhhhhhhqczjz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_hhhhhhhhhhqczjz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCMarkWithType
-//
-#ifndef CoTemplate_qhqx_def
-#define CoTemplate_qhqx_def
-ETW_INLINE
-ULONG
-CoTemplate_qhqx(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned short _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ unsigned __int64 _Arg3
- )
-{
-#define ARGUMENT_COUNT_qhqx 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qhqx];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(unsigned __int64) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qhqx, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qhqx,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCJoin_V2
-//
-#ifndef CoTemplate_qqqhq_def
-#define CoTemplate_qqqhq_def
-ETW_INLINE
-ULONG
-CoTemplate_qqqhq(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned short _Arg3,
- _In_ const unsigned int _Arg4
- )
-{
-#define ARGUMENT_COUNT_qqqhq 5
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqqhq];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqqhq, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qqqhq,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCPerHeapHistory_V3
-//
-#ifndef CoTemplate_hppppppqqqqqqpqNR14_def
-#define CoTemplate_hppppppqqqqqqpqNR14_def
-ETW_INLINE
-ULONG
-CoTemplate_hppppppqqqqqqpqNR14(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0,
- _In_opt_ const void * _Arg1,
- _In_opt_ const void * _Arg2,
- _In_opt_ const void * _Arg3,
- _In_opt_ const void * _Arg4,
- _In_opt_ const void * _Arg5,
- _In_opt_ const void * _Arg6,
- _In_ const unsigned int _Arg7,
- _In_ const unsigned int _Arg8,
- _In_ const unsigned int _Arg9,
- _In_ const unsigned int _Arg10,
- _In_ const unsigned int _Arg11,
- _In_ const unsigned int _Arg12,
- _In_opt_ const void * _Arg13,
- _In_ const unsigned int _Arg14,
- _In_ ULONG _Arg15_Len_,
- _In_ const PVOID _Arg15
- )
-{
-#define ARGUMENT_COUNT_hppppppqqqqqqpqNR14 16
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_hppppppqqqqqqpqNR14];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[11], &_Arg11, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[12], &_Arg12, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[13], &_Arg13, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[14], &_Arg14, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[15], _Arg15, _Arg14 * _Arg15_Len_);
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_hppppppqqqqqqpqNR14, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_hppppppqqqqqqpqNR14,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCGlobalHeap_V2
-//
-#ifndef CoTemplate_xdqqqqhqq_def
-#define CoTemplate_xdqqqqhqq_def
-ETW_INLINE
-ULONG
-CoTemplate_xdqqqqhqq(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ const signed int _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_ const unsigned int _Arg5,
- _In_ const unsigned short _Arg6,
- _In_ const unsigned int _Arg7,
- _In_ const unsigned int _Arg8
- )
-{
-#define ARGUMENT_COUNT_xdqqqqhqq 9
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xdqqqqhqq];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const signed int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const unsigned int) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xdqqqqhqq, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xdqqqqhqq,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : CodeSymbols
-//
-#ifndef CoTemplate_xhhqbh_def
-#define CoTemplate_xhhqbh_def
-ETW_INLINE
-ULONG
-CoTemplate_xhhqbh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ const unsigned short _Arg1,
- _In_ const unsigned short _Arg2,
- _In_ const unsigned int _Arg3,
- _In_reads_(_Arg3) const BYTE* _Arg4,
- _In_ const unsigned short _Arg5
- )
-{
-#define ARGUMENT_COUNT_xhhqbh 6
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xhhqbh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], _Arg4, (ULONG)sizeof(char)*_Arg3);
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xhhqbh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xhhqbh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : EventSource
-//
-#ifndef CoTemplate_dzzz_def
-#define CoTemplate_dzzz_def
-ETW_INLINE
-ULONG
-CoTemplate_dzzz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const signed int _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_opt_ PCWSTR _Arg2,
- _In_opt_ PCWSTR _Arg3
- )
-{
-#define ARGUMENT_COUNT_dzzz 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_dzzz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const signed int) );
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : L"NULL",
- (_Arg2 != NULL) ? (ULONG)((wcslen(_Arg2) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[3],
- (_Arg3 != NULL) ? _Arg3 : L"NULL",
- (_Arg3 != NULL) ? (ULONG)((wcslen(_Arg3) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_dzzz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_dzzz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : StressLog
-//
-#ifndef CoTemplate_qcs_def
-#define CoTemplate_qcs_def
-ETW_INLINE
-ULONG
-CoTemplate_qcs(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const UCHAR _Arg1,
- _In_opt_ LPCSTR _Arg2
- )
-{
-#define ARGUMENT_COUNT_qcs 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qcs];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const UCHAR) );
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : "NULL",
- (_Arg2 != NULL) ? (ULONG)((strlen(_Arg2) + 1) * sizeof(CHAR)) : (ULONG)sizeof("NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qcs, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qcs,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : StressLog_V1
-//
-#ifndef CoTemplate_qcsh_def
-#define CoTemplate_qcsh_def
-ETW_INLINE
-ULONG
-CoTemplate_qcsh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const UCHAR _Arg1,
- _In_opt_ LPCSTR _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_qcsh 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qcsh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const UCHAR) );
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : "NULL",
- (_Arg2 != NULL) ? (ULONG)((strlen(_Arg2) + 1) * sizeof(CHAR)) : (ULONG)sizeof("NULL"));
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qcsh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qcsh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCDecision
-//
-#ifndef CoTemplate_t_def
-#define CoTemplate_t_def
-ETW_INLINE
-ULONG
-CoTemplate_t(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const BOOL _Arg0
- )
-{
-#define ARGUMENT_COUNT_t 1
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_t];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const BOOL) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_t, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_t,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCDecision_V1
-//
-#ifndef CoTemplate_th_def
-#define CoTemplate_th_def
-ETW_INLINE
-ULONG
-CoTemplate_th(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const BOOL _Arg0,
- _In_ const unsigned short _Arg1
- )
-{
-#define ARGUMENT_COUNT_th 2
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_th];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_th, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_th,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCSettings
-//
-#ifndef CoTemplate_xxt_def
-#define CoTemplate_xxt_def
-ETW_INLINE
-ULONG
-CoTemplate_xxt(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const BOOL _Arg2
- )
-{
-#define ARGUMENT_COUNT_xxt 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxt];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const BOOL) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxt, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxt,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCSettings_V1
-//
-#ifndef CoTemplate_xxth_def
-#define CoTemplate_xxth_def
-ETW_INLINE
-ULONG
-CoTemplate_xxth(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const BOOL _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_xxth 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxth];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxth, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxth,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCGlobalHeap
-//
-#ifndef CoTemplate_xdqqqq_def
-#define CoTemplate_xdqqqq_def
-ETW_INLINE
-ULONG
-CoTemplate_xdqqqq(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ const signed int _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_ const unsigned int _Arg5
- )
-{
-#define ARGUMENT_COUNT_xdqqqq 6
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xdqqqq];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const signed int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xdqqqq, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xdqqqq,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCGlobalHeap_V1
-//
-#ifndef CoTemplate_xdqqqqh_def
-#define CoTemplate_xdqqqqh_def
-ETW_INLINE
-ULONG
-CoTemplate_xdqqqqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ const signed int _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned int _Arg4,
- _In_ const unsigned int _Arg5,
- _In_ const unsigned short _Arg6
- )
-{
-#define ARGUMENT_COUNT_xdqqqqh 7
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xdqqqqh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const signed int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xdqqqqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xdqqqqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCJoin
-//
-#ifndef CoTemplate_qqq_def
-#define CoTemplate_qqq_def
-ETW_INLINE
-ULONG
-CoTemplate_qqq(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned int _Arg2
- )
-{
-#define ARGUMENT_COUNT_qqq 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqq];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqq, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qqq,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : GCJoin_V1
-//
-#ifndef CoTemplate_qqqh_def
-#define CoTemplate_qqqh_def
-ETW_INLINE
-ULONG
-CoTemplate_qqqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_qqqh 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqqh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qqqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : BGCOverflow
-//
-#ifndef CoTemplate_xxxqh_def
-#define CoTemplate_xxxqh_def
-ETW_INLINE
-ULONG
-CoTemplate_xxxqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ unsigned __int64 _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned short _Arg4
- )
-{
-#define ARGUMENT_COUNT_xxxqh 5
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxxqh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxxqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_xxxqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ModuleRangePrivate
-//
-#ifndef CoTemplate_hxqqcch_def
-#define CoTemplate_hxqqcch_def
-ETW_INLINE
-ULONG
-CoTemplate_hxqqcch(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const UCHAR _Arg4,
- _In_ const UCHAR _Arg5,
- _In_ const unsigned short _Arg6
- )
-{
-#define ARGUMENT_COUNT_hxqqcch 7
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_hxqqcch];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const UCHAR) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const UCHAR) );
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_hxqqcch, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_hxqqcch,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : Binding
-//
-#ifndef CoTemplate_qqqqzzh_def
-#define CoTemplate_qqqqzzh_def
-ETW_INLINE
-ULONG
-CoTemplate_qqqqzzh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_opt_ PCWSTR _Arg4,
- _In_opt_ PCWSTR _Arg5,
- _In_ const unsigned short _Arg6
- )
-{
-#define ARGUMENT_COUNT_qqqqzzh 7
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqqqzzh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4],
- (_Arg4 != NULL) ? _Arg4 : L"NULL",
- (_Arg4 != NULL) ? (ULONG)((wcslen(_Arg4) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : L"NULL",
- (_Arg5 != NULL) ? (ULONG)((wcslen(_Arg5) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqqqzzh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qqqqzzh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ModuleTransparencyCalculation
-//
-#ifndef CoTemplate_zqh_def
-#define CoTemplate_zqh_def
-ETW_INLINE
-ULONG
-CoTemplate_zqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned short _Arg2
- )
-{
-#define ARGUMENT_COUNT_zqh 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zqh];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : ModuleTransparencyCalculationResult
-//
-#ifndef CoTemplate_zqttttqh_def
-#define CoTemplate_zqttttqh_def
-ETW_INLINE
-ULONG
-CoTemplate_zqttttqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const BOOL _Arg2,
- _In_ const BOOL _Arg3,
- _In_ const BOOL _Arg4,
- _In_ const BOOL _Arg5,
- _In_ const unsigned int _Arg6,
- _In_ const unsigned short _Arg7
- )
-{
-#define ARGUMENT_COUNT_zqttttqh 8
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zqttttqh];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zqttttqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zqttttqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : TypeTransparencyCalculation
-//
-#ifndef CoTemplate_zzqh_def
-#define CoTemplate_zzqh_def
-ETW_INLINE
-ULONG
-CoTemplate_zzqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_zzqh 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zzqh];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zzqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zzqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : TypeTransparencyCalculationResult
-//
-#ifndef CoTemplate_zzqtttth_def
-#define CoTemplate_zzqtttth_def
-ETW_INLINE
-ULONG
-CoTemplate_zzqtttth(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const BOOL _Arg3,
- _In_ const BOOL _Arg4,
- _In_ const BOOL _Arg5,
- _In_ const BOOL _Arg6,
- _In_ const unsigned short _Arg7
- )
-{
-#define ARGUMENT_COUNT_zzqtttth 8
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zzqtttth];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zzqtttth, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zzqtttth,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MethodTransparencyCalculationResult
-//
-#ifndef CoTemplate_zzqtth_def
-#define CoTemplate_zzqtth_def
-ETW_INLINE
-ULONG
-CoTemplate_zzqtth(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const BOOL _Arg3,
- _In_ const BOOL _Arg4,
- _In_ const unsigned short _Arg5
- )
-{
-#define ARGUMENT_COUNT_zzqtth 6
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zzqtth];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zzqtth, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zzqtth,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : TokenTransparencyCalculation
-//
-#ifndef CoTemplate_qzqh_def
-#define CoTemplate_qzqh_def
-ETW_INLINE
-ULONG
-CoTemplate_qzqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_qzqh 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qzqh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qzqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qzqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : TokenTransparencyCalculationResult
-//
-#ifndef CoTemplate_qzqtth_def
-#define CoTemplate_qzqtth_def
-ETW_INLINE
-ULONG
-CoTemplate_qzqtth(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned int _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const BOOL _Arg3,
- _In_ const BOOL _Arg4,
- _In_ const unsigned short _Arg5
- )
-{
-#define ARGUMENT_COUNT_qzqtth 6
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qzqtth];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qzqtth, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_qzqtth,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : NgenBindEvent
-//
-#ifndef CoTemplate_hxqz_def
-#define CoTemplate_hxqz_def
-ETW_INLINE
-ULONG
-CoTemplate_hxqz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ const unsigned int _Arg2,
- _In_opt_ PCWSTR _Arg3
- )
-{
-#define ARGUMENT_COUNT_hxqz 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_hxqz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3],
- (_Arg3 != NULL) ? _Arg3 : L"NULL",
- (_Arg3 != NULL) ? (ULONG)((wcslen(_Arg3) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_hxqz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_hxqz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : FailFast
-//
-#ifndef CoTemplate_zpqqh_def
-#define CoTemplate_zpqqh_def
-ETW_INLINE
-ULONG
-CoTemplate_zpqqh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_opt_ const void * _Arg1,
- _In_ const unsigned int _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ const unsigned short _Arg4
- )
-{
-#define ARGUMENT_COUNT_zpqqh 5
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zpqqh];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zpqqh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zpqqh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : PrvFinalizeObject
-//
-#ifndef CoTemplate_pphz_def
-#define CoTemplate_pphz_def
-ETW_INLINE
-ULONG
-CoTemplate_pphz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ const void * _Arg0,
- _In_opt_ const void * _Arg1,
- _In_ const unsigned short _Arg2,
- _In_opt_ PCWSTR _Arg3
- )
-{
-#define ARGUMENT_COUNT_pphz 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_pphz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[3],
- (_Arg3 != NULL) ? _Arg3 : L"NULL",
- (_Arg3 != NULL) ? (ULONG)((wcslen(_Arg3) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_pphz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_pphz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : CCWRefCountChange
-//
-#ifndef CoTemplate_pppqxsszh_def
-#define CoTemplate_pppqxsszh_def
-ETW_INLINE
-ULONG
-CoTemplate_pppqxsszh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ const void * _Arg0,
- _In_opt_ const void * _Arg1,
- _In_opt_ const void * _Arg2,
- _In_ const unsigned int _Arg3,
- _In_ unsigned __int64 _Arg4,
- _In_opt_ LPCSTR _Arg5,
- _In_opt_ LPCSTR _Arg6,
- _In_opt_ PCWSTR _Arg7,
- _In_ const unsigned short _Arg8
- )
-{
-#define ARGUMENT_COUNT_pppqxsszh 9
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_pppqxsszh];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[5],
- (_Arg5 != NULL) ? _Arg5 : "NULL",
- (_Arg5 != NULL) ? (ULONG)((strlen(_Arg5) + 1) * sizeof(CHAR)) : (ULONG)sizeof("NULL"));
-
- EventDataDescCreate(&EventData[6],
- (_Arg6 != NULL) ? _Arg6 : "NULL",
- (_Arg6 != NULL) ? (ULONG)((strlen(_Arg6) + 1) * sizeof(CHAR)) : (ULONG)sizeof("NULL"));
-
- EventDataDescCreate(&EventData[7],
- (_Arg7 != NULL) ? _Arg7 : L"NULL",
- (_Arg7 != NULL) ? (ULONG)((wcslen(_Arg7) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_pppqxsszh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_pppqxsszh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : FusionMessage
-//
-#ifndef CoTemplate_htz_def
-#define CoTemplate_htz_def
-ETW_INLINE
-ULONG
-CoTemplate_htz(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0,
- _In_ const BOOL _Arg1,
- _In_opt_ PCWSTR _Arg2
- )
-{
-#define ARGUMENT_COUNT_htz 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_htz];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const BOOL) );
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : L"NULL",
- (_Arg2 != NULL) ? (ULONG)((wcslen(_Arg2) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_htz, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_htz,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : FusionErrorCode
-//
-#ifndef CoTemplate_hqq_def
-#define CoTemplate_hqq_def
-ETW_INLINE
-ULONG
-CoTemplate_hqq(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0,
- _In_ const unsigned int _Arg1,
- _In_ const unsigned int _Arg2
- )
-{
-#define ARGUMENT_COUNT_hqq 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_hqq];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_hqq, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_hqq,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : PinPlugAtGCTime
-//
-#ifndef CoTemplate_ppph_def
-#define CoTemplate_ppph_def
-ETW_INLINE
-ULONG
-CoTemplate_ppph(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ const void * _Arg0,
- _In_opt_ const void * _Arg1,
- _In_opt_ const void * _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_ppph 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_ppph];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(PVOID) );
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_ppph, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_ppph,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MulticoreJitPrivate
-//
-#ifndef CoTemplate_hzzddd_def
-#define CoTemplate_hzzddd_def
-ETW_INLINE
-ULONG
-CoTemplate_hzzddd(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_opt_ PCWSTR _Arg2,
- _In_ const signed int _Arg3,
- _In_ const signed int _Arg4,
- _In_ const signed int _Arg5
- )
-{
-#define ARGUMENT_COUNT_hzzddd 6
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_hzzddd];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : L"NULL",
- (_Arg2 != NULL) ? (ULONG)((wcslen(_Arg2) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const signed int) );
-
- EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const signed int) );
-
- EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const signed int) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_hzzddd, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_hzzddd,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : MulticoreJitMethodCodeReturnedPrivate
-//
-#ifndef CoTemplate_hxx_def
-#define CoTemplate_hxx_def
-ETW_INLINE
-ULONG
-CoTemplate_hxx(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_ const unsigned short _Arg0,
- _In_ unsigned __int64 _Arg1,
- _In_ unsigned __int64 _Arg2
- )
-{
-#define ARGUMENT_COUNT_hxx 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_hxx];
-
- EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned short) );
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_hxx, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_hxx,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : DynamicTypeUsePrivate
-//
-#ifndef CoTemplate_zh_def
-#define CoTemplate_zh_def
-ETW_INLINE
-ULONG
-CoTemplate_zh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_ const unsigned short _Arg1
- )
-{
-#define ARGUMENT_COUNT_zh 2
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zh];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : DynamicTypeUseTwoParametersPrivate
-//
-#ifndef CoTemplate_zzh_def
-#define CoTemplate_zzh_def
-ETW_INLINE
-ULONG
-CoTemplate_zzh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_ const unsigned short _Arg2
- )
-{
-#define ARGUMENT_COUNT_zzh 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zzh];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zzh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zzh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : DynamicTypeUsePrivateVariance
-//
-#ifndef CoTemplate_zzzh_def
-#define CoTemplate_zzzh_def
-ETW_INLINE
-ULONG
-CoTemplate_zzzh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_opt_ PCWSTR _Arg1,
- _In_opt_ PCWSTR _Arg2,
- _In_ const unsigned short _Arg3
- )
-{
-#define ARGUMENT_COUNT_zzzh 4
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zzzh];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1],
- (_Arg1 != NULL) ? _Arg1 : L"NULL",
- (_Arg1 != NULL) ? (ULONG)((wcslen(_Arg1) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[2],
- (_Arg2 != NULL) ? _Arg2 : L"NULL",
- (_Arg2 != NULL) ? (ULONG)((wcslen(_Arg2) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zzzh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zzzh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-//
-//Template from manifest : DynamicTypeUseStringAndIntPrivate
-//
-#ifndef CoTemplate_zdh_def
-#define CoTemplate_zdh_def
-ETW_INLINE
-ULONG
-CoTemplate_zdh(
- _In_ REGHANDLE RegHandle,
- _In_ PCEVENT_DESCRIPTOR Descriptor,
- _In_opt_ PCWSTR _Arg0,
- _In_ const signed int _Arg1,
- _In_ const unsigned short _Arg2
- )
-{
-#define ARGUMENT_COUNT_zdh 3
- ULONG Error = ERROR_SUCCESS;
-
- EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zdh];
-
- EventDataDescCreate(&EventData[0],
- (_Arg0 != NULL) ? _Arg0 : L"NULL",
- (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL"));
-
- EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const signed int) );
-
- EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) );
-
- Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zdh, EventData);
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
- Descriptor,
- ARGUMENT_COUNT_zdh,
- EventData);
-#endif
-
- return Error;
-}
-#endif
-
-#endif // MCGEN_DISABLE_PROVIDER_CODE_GENERATION
-
-#if defined(__cplusplus)
-};
-#endif
-
-#define MSG_RuntimePublisher_GCKeywordMessage 0x10000001L
-#define MSG_RuntimePublisher_GCHandleKeywordMessage 0x10000002L
-#define MSG_RuntimePublisher_FusionKeywordMessage 0x10000003L
-#define MSG_RuntimePublisher_LoaderKeywordMessage 0x10000004L
-#define MSG_RuntimePublisher_JitKeywordMessage 0x10000005L
-#define MSG_RuntimePublisher_NGenKeywordMessage 0x10000006L
-#define MSG_RuntimePublisher_StartEnumerationKeywordMessage 0x10000007L
-#define MSG_RuntimePublisher_EndEnumerationKeywordMessage 0x10000008L
-#define MSG_RuntimePublisher_SecurityKeywordMessage 0x1000000BL
-#define MSG_RuntimePublisher_AppDomainResourceManagementKeywordMessage 0x1000000CL
-#define MSG_RuntimePublisher_JitTracingKeywordMessage 0x1000000DL
-#define MSG_RuntimePublisher_InteropKeywordMessage 0x1000000EL
-#define MSG_RuntimePublisher_ContentionKeywordMessage 0x1000000FL
-#define MSG_RuntimePublisher_ExceptionKeywordMessage 0x10000010L
-#define MSG_RuntimePublisher_ThreadingKeywordMessage 0x10000011L
-#define MSG_RuntimePublisher_JittedMethodILToNativeMapKeywordMessage 0x10000012L
-#define MSG_RuntimePublisher_OverrideAndSuppressNGenEventsKeywordMessage 0x10000013L
-#define MSG_RuntimePublisher_TypeKeywordMessage 0x10000014L
-#define MSG_RuntimePublisher_GCHeapDumpKeywordMessage 0x10000015L
-#define MSG_RuntimePublisher_GCSampledObjectAllocationHighKeywordMessage 0x10000016L
-#define MSG_RuntimePublisher_GCHeapSurvivalAndMovementKeywordMessage 0x10000017L
-#define MSG_RuntimePublisher_GCHeapCollectKeyword 0x10000018L
-#define MSG_RuntimePublisher_GCHeapAndTypeNamesKeyword 0x10000019L
-#define MSG_RuntimePublisher_GCSampledObjectAllocationLowKeywordMessage 0x1000001AL
-#define MSG_RuntimePublisher_PerfTrackKeywordMessage 0x1000001EL
-#define MSG_RuntimePublisher_StackKeywordMessage 0x1000001FL
-#define MSG_RuntimePublisher_ThreadTransferKeywordMessage 0x10000020L
-#define MSG_RuntimePublisher_DebuggerKeywordMessage 0x10000021L
-#define MSG_RuntimePublisher_MonitoringKeywordMessage 0x10000022L
-#define MSG_RuntimePublisher_CodeSymbolsKeywordMessage 0x10000023L
-#define MSG_RundownPublisher_LoaderKeywordMessage 0x11000004L
-#define MSG_RundownPublisher_JitKeywordMessage 0x11000005L
-#define MSG_RundownPublisher_NGenKeywordMessage 0x11000006L
-#define MSG_RundownPublisher_StartRundownKeywordMessage 0x11000007L
-#define MSG_RundownPublisher_EndRundownKeywordMessage 0x11000009L
-#define MSG_RuntimePublisher_AppDomainResourceManagementRundownKeywordMessage 0x1100000CL
-#define MSG_RundownPublisher_ThreadingKeywordMessage 0x11000011L
-#define MSG_RundownPublisher_JittedMethodILToNativeMapRundownKeywordMessage 0x11000012L
-#define MSG_RundownPublisher_OverrideAndSuppressNGenEventsRundownKeywordMessage 0x11000013L
-#define MSG_RundownPublisher_PerfTrackRundownKeywordMessage 0x1100001EL
-#define MSG_RundownPublisher_StackKeywordMessage 0x1100001FL
-#define MSG_StressPublisher_StackKeywordMessage 0x1200001FL
-#define MSG_PrivatePublisher_GCPrivateKeywordMessage 0x13000001L
-#define MSG_PrivatePublisher_BindingKeywordMessage 0x13000002L
-#define MSG_PrivatePublisher_NGenForceRestoreKeywordMessage 0x13000003L
-#define MSG_PrivatePublisher_PrivateFusionKeywordMessage 0x13000004L
-#define MSG_PrivatePublisher_LoaderHeapPrivateKeywordMessage 0x13000005L
-#define MSG_PrivatePublisher_DynamicTypeUsageMessage 0x13000006L
-#define MSG_PrivatePublisher_SecurityPrivateKeywordMessage 0x1300000BL
-#define MSG_PrivatePublisher_InteropPrivateKeywordMessage 0x1300000EL
-#define MSG_PrivatePublisher_GCHandlePrivateKeywordMessage 0x1300000FL
-#define MSG_PrivatePublisher_MulticoreJitPrivateKeywordMessage 0x13000012L
-#define MSG_PrivatePublisher_PerfTrackKeywordMessage 0x1300001EL
-#define MSG_PrivatePublisher_StackKeywordMessage 0x1300001FL
-#define MSG_PrivatePublisher_StartupKeywordMessage 0x13000020L
-#define MSG_RuntimePublisher_GCSuspendEEBeginOpcodeMessage 0x3001000AL
-#define MSG_RuntimePublisher_GCAllocationTickOpcodeMessage 0x3001000BL
-#define MSG_RuntimePublisher_GCCreateConcurrentThreadOpcodeMessage 0x3001000CL
-#define MSG_RuntimePublisher_GCTerminateConcurrentThreadOpcodeMessage 0x3001000DL
-#define MSG_RuntimePublisher_GCFinalizersEndOpcodeMessage 0x3001000FL
-#define MSG_RuntimePublisher_GCFinalizersBeginOpcodeMessage 0x30010013L
-#define MSG_RuntimePublisher_GCBulkRootEdgeOpcodeMessage 0x30010014L
-#define MSG_RuntimePublisher_GCBulkRootConditionalWeakTableElementEdgeOpcodeMessage 0x30010015L
-#define MSG_RuntimePublisher_GCBulkNodeOpcodeMessage 0x30010016L
-#define MSG_RuntimePublisher_GCBulkEdgeOpcodeMessage 0x30010017L
-#define MSG_RuntimePublisher_GCSampledObjectAllocationOpcodeMessage 0x30010018L
-#define MSG_RuntimePublisher_GCBulkSurvivingObjectRangesOpcodeMessage 0x30010019L
-#define MSG_RuntimePublisher_GCBulkMovedObjectRangesOpcodeMessage 0x3001001AL
-#define MSG_RuntimePublisher_GCGenerationRangeOpcodeMessage 0x3001001BL
-#define MSG_RuntimePublisher_GCMarkStackRootsOpcodeMessage 0x3001001CL
-#define MSG_RuntimePublisher_GCMarkFinalizeQueueRootsOpcodeMessage 0x3001001DL
-#define MSG_RuntimePublisher_GCMarkHandlesOpcodeMessage 0x3001001EL
-#define MSG_RuntimePublisher_GCMarkOlderGenerationRootsOpcodeMessage 0x3001001FL
-#define MSG_RuntimePublisher_FinalizeObjectOpcodeMessage 0x30010020L
-#define MSG_RuntimePublisher_SetGCHandleOpcodeMessage 0x30010021L
-#define MSG_RuntimePublisher_DestroyGCHandleOpcodeMessage 0x30010022L
-#define MSG_RuntimePublisher_TriggeredOpcodeMessage 0x30010023L
-#define MSG_RuntimePublisher_PinObjectAtGCTimeOpcodeMessage 0x30010024L
-#define MSG_RuntimePublisher_GCBulkRootCCWOpcodeMessage 0x30010026L
-#define MSG_RuntimePublisher_GCBulkRCWOpcodeMessage 0x30010027L
-#define MSG_RuntimePublisher_GCBulkRootStaticVarOpcodeMessage 0x30010028L
-#define MSG_RuntimePublisher_GCRestartEEEndOpcodeMessage 0x30010084L
-#define MSG_RuntimePublisher_GCHeapStatsOpcodeMessage 0x30010085L
-#define MSG_RuntimePublisher_GCCreateSegmentOpcodeMessage 0x30010086L
-#define MSG_RuntimePublisher_GCFreeSegmentOpcodeMessage 0x30010087L
-#define MSG_RuntimePublisher_GCRestartEEBeginOpcodeMessage 0x30010088L
-#define MSG_RuntimePublisher_GCSuspendEEEndOpcodeMessage 0x30010089L
-#define MSG_RuntimePublisher_IncreaseMemoryPressureOpcodeMessage 0x300100C8L
-#define MSG_RuntimePublisher_DecreaseMemoryPressureOpcodeMessage 0x300100C9L
-#define MSG_RuntimePublisher_GCMarkOpcodeMessage 0x300100CAL
-#define MSG_RuntimePublisher_GCJoinOpcodeMessage 0x300100CBL
-#define MSG_RuntimePublisher_GCPerHeapHistoryOpcodeMessage 0x300100CCL
-#define MSG_RuntimePublisher_GCGlobalHeapHistoryOpcodeMessage 0x300100CDL
-#define MSG_RuntimePublisher_DCStartCompleteOpcodeMessage 0x3009000EL
-#define MSG_RuntimePublisher_DCEndCompleteOpcodeMessage 0x3009000FL
-#define MSG_RuntimePublisher_MethodLoadOpcodeMessage 0x30090021L
-#define MSG_RuntimePublisher_MethodUnloadOpcodeMessage 0x30090022L
-#define MSG_RuntimePublisher_MethodDCStartOpcodeMessage 0x30090023L
-#define MSG_RuntimePublisher_MethodDCEndOpcodeMessage 0x30090024L
-#define MSG_RuntimePublisher_MethodLoadVerboseOpcodeMessage 0x30090025L
-#define MSG_RuntimePublisher_MethodUnloadVerboseOpcodeMessage 0x30090026L
-#define MSG_RuntimePublisher_MethodDCStartVerboseOpcodeMessage 0x30090027L
-#define MSG_RuntimePublisher_MethodDCEndVerboseOpcodeMessage 0x30090028L
-#define MSG_RuntimePublisher_MethodJittingStartedOpcodeMessage 0x3009002AL
-#define MSG_RuntimePublisher_JitInliningSucceededOpcodeMessage 0x30090053L
-#define MSG_RuntimePublisher_JitInliningFailedOpcodeMessage 0x30090054L
-#define MSG_RuntimePublisher_JitTailCallSucceededOpcodeMessage 0x30090055L
-#define MSG_RuntimePublisher_JitTailCallFailedOpcodeMessage 0x30090056L
-#define MSG_RuntimePublisher_MethodILToNativeMapOpcodeMessage 0x30090057L
-#define MSG_RuntimePublisher_ModuleLoadOpcodeMessage 0x300A0021L
-#define MSG_RuntimePublisher_ModuleUnloadOpcodeMessage 0x300A0022L
-#define MSG_RuntimePublisher_ModuleDCStartOpcodeMessage 0x300A0023L
-#define MSG_RuntimePublisher_ModuleDCEndOpcodeMessage 0x300A0024L
-#define MSG_RuntimePublisher_AssemblyLoadOpcodeMessage 0x300A0025L
-#define MSG_RuntimePublisher_AssemblyUnloadOpcodeMessage 0x300A0026L
-#define MSG_RuntimePublisher_AppDomainLoadOpcodeMessage 0x300A0029L
-#define MSG_RuntimePublisher_AppDomainUnloadOpcodeMessage 0x300A002AL
-#define MSG_RuntimePublisher_DomainModuleLoadOpcodeMessage 0x300A002DL
-#define MSG_RuntimePublisher_CLRStackWalkOpcodeMessage 0x300B0052L
-#define MSG_RuntimePublisher_AppDomainMemAllocatedOpcodeMessage 0x300E0030L
-#define MSG_RuntimePublisher_AppDomainMemSurvivedOpcodeMessage 0x300E0031L
-#define MSG_RuntimePublisher_ThreadCreatedOpcodeMessage 0x300E0032L
-#define MSG_RuntimePublisher_ThreadTerminatedOpcodeMessage 0x300E0033L
-#define MSG_RuntimePublisher_ThreadDomainEnterOpcodeMessage 0x300E0034L
-#define MSG_RuntimePublisher_ILStubGeneratedOpcodeMessage 0x300F0058L
-#define MSG_RuntimePublisher_ILStubCacheHitOpcodeMessage 0x300F0059L
-#define MSG_RuntimePublisher_WaitOpcodeMessage 0x3010005AL
-#define MSG_RuntimePublisher_SampleOpcodeMessage 0x30120064L
-#define MSG_RuntimePublisher_AdjustmentOpcodeMessage 0x30120065L
-#define MSG_RuntimePublisher_StatsOpcodeMessage 0x30120066L
-#define MSG_RuntimePublisher_ModuleRangeLoadOpcodeMessage 0x3014000AL
-#define MSG_RuntimePublisher_BulkTypeOpcodeMessage 0x3015000AL
-#define MSG_RuntimePublisher_EnqueueOpcodeMessage 0x3017000BL
-#define MSG_RuntimePublisher_DequeueOpcodeMessage 0x3017000CL
-#define MSG_RuntimePublisher_IOEnqueueOpcodeMessage 0x3017000DL
-#define MSG_RuntimePublisher_IODequeueOpcodeMessage 0x3017000EL
-#define MSG_RuntimePublisher_IOPackOpcodeMessage 0x3017000FL
-#define MSG_RuntimePublisher_ThreadCreatingOpcodeMessage 0x3018000BL
-#define MSG_RuntimePublisher_ThreadRunningOpcodeMessage 0x3018000CL
-#define MSG_RundownPublisher_DCStartCompleteOpcodeMessage 0x3101000EL
-#define MSG_RundownPublisher_DCEndCompleteOpcodeMessage 0x3101000FL
-#define MSG_RundownPublisher_DCStartInitOpcodeMessage 0x31010010L
-#define MSG_RundownPublisher_DCEndInitOpcodeMessage 0x31010011L
-#define MSG_RundownPublisher_MethodDCStartOpcodeMessage 0x31010023L
-#define MSG_RundownPublisher_MethodDCEndOpcodeMessage 0x31010024L
-#define MSG_RundownPublisher_MethodDCStartVerboseOpcodeMessage 0x31010027L
-#define MSG_RundownPublisher_MethodDCEndVerboseOpcodeMessage 0x31010028L
-#define MSG_RundownPublisher_MethodDCStartILToNativeMapOpcodeMessage 0x31010029L
-#define MSG_RundownPublisher_MethodDCEndILToNativeMapOpcodeMessage 0x3101002AL
-#define MSG_RundownPublisher_ModuleDCStartOpcodeMessage 0x31020023L
-#define MSG_RundownPublisher_ModuleDCEndOpcodeMessage 0x31020024L
-#define MSG_RundownPublisher_AssemblyDCStartOpcodeMessage 0x31020027L
-#define MSG_RundownPublisher_AssemblyDCEndOpcodeMessage 0x31020028L
-#define MSG_RundownPublisher_AppDomainDCStartOpcodeMessage 0x3102002BL
-#define MSG_RundownPublisher_AppDomainDCEndOpcodeMessage 0x3102002CL
-#define MSG_RundownPublisher_DomainModuleDCStartOpcodeMessage 0x3102002EL
-#define MSG_RundownPublisher_DomainModuleDCEndOpcodeMessage 0x3102002FL
-#define MSG_RundownPublisher_ThreadDCOpcodeMessage 0x31020030L
-#define MSG_RundownPublisher_CLRStackWalkOpcodeMessage 0x310B0052L
-#define MSG_RundownPublisher_ModuleRangeDCStartOpcodeMessage 0x3114000AL
-#define MSG_RundownPublisher_ModuleRangeDCEndOpcodeMessage 0x3114000BL
-#define MSG_StressPublisher_CLRStackWalkOpcodeMessage 0x320B0052L
-#define MSG_PrivatePublisher_GCSettingsOpcodeMessage 0x3301000EL
-#define MSG_PrivatePublisher_GCOptimizedOpcodeMessage 0x33010010L
-#define MSG_PrivatePublisher_GCPerHeapHistoryOpcodeMessage 0x33010011L
-#define MSG_PrivatePublisher_GCGlobalHeapHistoryOpcodeMessage 0x33010012L
-#define MSG_PrivatePublisher_GCFullNotifyOpcodeMessage 0x33010013L
-#define MSG_PrivatePublisher_GCJoinOpcodeMessage 0x33010014L
-#define MSG_PrivatePublisher_GCMarkStackRootsOpcodeMessage 0x33010015L
-#define MSG_PrivatePublisher_GCMarkFinalizeQueueRootsOpcodeMessage 0x33010016L
-#define MSG_PrivatePublisher_GCMarkHandlesOpcodeMessage 0x33010017L
-#define MSG_PrivatePublisher_GCMarkCardsOpcodeMessage 0x33010018L
-#define MSG_PrivatePublisher_BGCBeginOpcodeMessage 0x33010019L
-#define MSG_PrivatePublisher_BGC1stNonCondEndOpcodeMessage 0x3301001AL
-#define MSG_PrivatePublisher_BGC1stConEndOpcodeMessage 0x3301001BL
-#define MSG_PrivatePublisher_BGC2ndNonConBeginOpcodeMessage 0x3301001CL
-#define MSG_PrivatePublisher_BGC2ndNonConEndOpcodeMessage 0x3301001DL
-#define MSG_PrivatePublisher_BGC2ndConBeginOpcodeMessage 0x3301001EL
-#define MSG_PrivatePublisher_BGC2ndConEndOpcodeMessage 0x3301001FL
-#define MSG_PrivatePublisher_BGCPlanEndOpcodeMessage 0x33010020L
-#define MSG_PrivatePublisher_BGCSweepEndOpcodeMessage 0x33010021L
-#define MSG_PrivatePublisher_BGCDrainMarkOpcodeMessage 0x33010022L
-#define MSG_PrivatePublisher_BGCRevisitOpcodeMessage 0x33010023L
-#define MSG_PrivatePublisher_BGCOverflowOpcodeMessage 0x33010024L
-#define MSG_PrivatePublisher_BGCAllocWaitBeginOpcodeMessage 0x33010025L
-#define MSG_PrivatePublisher_BGCAllocWaitEndOpcodeMessage 0x33010026L
-#define MSG_PrivatePublisher_FinalizeObjectOpcodeMessage 0x33010027L
-#define MSG_PrivatePublisher_CCWRefCountChangeOpcodeMessage 0x33010028L
-#define MSG_PrivatePublisher_SetGCHandleOpcodeMessage 0x3301002AL
-#define MSG_PrivatePublisher_DestroyGCHandleOpcodeMessage 0x3301002BL
-#define MSG_PrivatePublisher_PinPlugAtGCTimeOpcodeMessage 0x3301002CL
-#define MSG_PrivatePublisher_GCDecisionOpcodeMessage 0x33010084L
-#define MSG_PrivatePublisher_FailFastOpcodeMessage 0x33020034L
-#define MSG_PrivatePublisher_ApplyPolicyStartOpcodeMessage 0x3309000AL
-#define MSG_PrivatePublisher_ApplyPolicyEndOpcodeMessage 0x3309000BL
-#define MSG_PrivatePublisher_LdLibShFolderOpcodeMessage 0x3309000CL
-#define MSG_PrivatePublisher_LdLibShFolderEndOpcodeMessage 0x3309000DL
-#define MSG_PrivatePublisher_PrestubWorkerOpcodeMessage 0x3309000EL
-#define MSG_PrivatePublisher_PrestubWorkerEndOpcodeMessage 0x3309000FL
-#define MSG_PrivatePublisher_GetInstallationStartOpcodeMessage 0x33090010L
-#define MSG_PrivatePublisher_GetInstallationEndOpcodeMessage 0x33090011L
-#define MSG_PrivatePublisher_OpenHModuleOpcodeMessage 0x33090012L
-#define MSG_PrivatePublisher_OpenHModuleEndOpcodeMessage 0x33090013L
-#define MSG_PrivatePublisher_ExplicitBindStartOpcodeMessage 0x33090014L
-#define MSG_PrivatePublisher_ExplicitBindEndOpcodeMessage 0x33090015L
-#define MSG_PrivatePublisher_ParseXmlOpcodeMessage 0x33090016L
-#define MSG_PrivatePublisher_ParseXmlEndOpcodeMessage 0x33090017L
-#define MSG_PrivatePublisher_InitDefaultDomainOpcodeMessage 0x33090018L
-#define MSG_PrivatePublisher_InitDefaultDomainEndOpcodeMessage 0x33090019L
-#define MSG_PrivatePublisher_InitSecurityOpcodeMessage 0x3309001AL
-#define MSG_PrivatePublisher_InitSecurityEndOpcodeMessage 0x3309001BL
-#define MSG_PrivatePublisher_AllowBindingRedirsOpcodeMessage 0x3309001CL
-#define MSG_PrivatePublisher_AllowBindingRedirsEndOpcodeMessage 0x3309001DL
-#define MSG_PrivatePublisher_EEConfigSyncOpcodeMessage 0x3309001EL
-#define MSG_PrivatePublisher_EEConfigSyncEndOpcodeMessage 0x3309001FL
-#define MSG_PrivatePublisher_FusionBindingOpcodeMessage 0x33090020L
-#define MSG_PrivatePublisher_FusionBindingEndOpcodeMessage 0x33090021L
-#define MSG_PrivatePublisher_LoaderCatchCallOpcodeMessage 0x33090022L
-#define MSG_PrivatePublisher_LoaderCatchCallEndOpcodeMessage 0x33090023L
-#define MSG_PrivatePublisher_FusionInitOpcodeMessage 0x33090024L
-#define MSG_PrivatePublisher_FusionInitEndOpcodeMessage 0x33090025L
-#define MSG_PrivatePublisher_FusionAppCtxOpcodeMessage 0x33090026L
-#define MSG_PrivatePublisher_FusionAppCtxEndOpcodeMessage 0x33090027L
-#define MSG_PrivatePublisher_Fusion2EEOpcodeMessage 0x33090028L
-#define MSG_PrivatePublisher_Fusion2EEEndOpcodeMessage 0x33090029L
-#define MSG_PrivatePublisher_SecurityCatchCallOpcodeMessage 0x3309002AL
-#define MSG_PrivatePublisher_SecurityCatchCallEndOpcodeMessage 0x3309002BL
-#define MSG_PrivatePublisher_EEStartupStartOpcodeMessage 0x33090080L
-#define MSG_PrivatePublisher_EEStartupEndOpcodeMessage 0x33090081L
-#define MSG_PrivatePublisher_EEConfigSetupOpcodeMessage 0x33090082L
-#define MSG_PrivatePublisher_EEConfigSetupEndOpcodeMessage 0x33090083L
-#define MSG_PrivatePublisher_LoadSystemBasesOpcodeMessage 0x33090084L
-#define MSG_PrivatePublisher_LoadSystemBasesEndOpcodeMessage 0x33090085L
-#define MSG_PrivatePublisher_ExecExeOpcodeMessage 0x33090086L
-#define MSG_PrivatePublisher_ExecExeEndOpcodeMessage 0x33090087L
-#define MSG_PrivatePublisher_MainOpcodeMessage 0x33090088L
-#define MSG_PrivatePublisher_MainEndOpcodeMessage 0x33090089L
-#define MSG_PrivatePublisher_BindingPolicyPhaseStartOpcodeMessage 0x330A0033L
-#define MSG_PrivatePublisher_BindingPolicyPhaseEndOpcodeMessage 0x330A0034L
-#define MSG_PrivatePublisher_BindingNgenPhaseStartOpcodeMessage 0x330A0035L
-#define MSG_PrivatePublisher_BindingNgenPhaseEndOpcodeMessage 0x330A0036L
-#define MSG_PrivatePublisher_BindingLoopupAndProbingPhaseStartOpcodeMessage 0x330A0037L
-#define MSG_PrivatePublisher_BindingLookupAndProbingPhaseEndOpcodeMessage 0x330A0038L
-#define MSG_PrivatePublisher_LoaderPhaseStartOpcodeMessage 0x330A0039L
-#define MSG_PrivatePublisher_LoaderPhaseEndOpcodeMessage 0x330A003AL
-#define MSG_PrivatePublisher_BindingPhaseStartOpcodeMessage 0x330A003BL
-#define MSG_PrivatePublisher_BindingPhaseEndOpcodeMessage 0x330A003CL
-#define MSG_PrivatePublisher_BindingDownloadPhaseStartOpcodeMessage 0x330A003DL
-#define MSG_PrivatePublisher_BindingDownloadPhaseEndOpcodeMessage 0x330A003EL
-#define MSG_PrivatePublisher_LoaderAssemblyInitPhaseStartOpcodeMessage 0x330A003FL
-#define MSG_PrivatePublisher_LoaderAssemblyInitPhaseEndOpcodeMessage 0x330A0040L
-#define MSG_PrivatePublisher_LoaderMappingPhaseStartOpcodeMessage 0x330A0041L
-#define MSG_PrivatePublisher_LoaderMappingPhaseEndOpcodeMessage 0x330A0042L
-#define MSG_PrivatePublisher_LoaderDeliverEventPhaseStartOpcodeMessage 0x330A0043L
-#define MSG_PrivatePublisher_LoaderDeliverEventsPhaseEndOpcodeMessage 0x330A0044L
-#define MSG_PrivatePublisher_FusionMessageOpcodeMessage 0x330A0046L
-#define MSG_PrivatePublisher_FusionErrorCodeOpcodeMessage 0x330A0047L
-#define MSG_PrivatePublisher_CLRStackWalkOpcodeMessage 0x330B0052L
-#define MSG_PrivatePublisher_EvidenceGeneratedMessage 0x330C000AL
-#define MSG_PrivatePublisher_NgenBindOpcodeMessage 0x330D0045L
-#define MSG_PrivatePublisher_ModuleTransparencyComputationStartMessage 0x330E0053L
-#define MSG_PrivatePublisher_ModuleTransparencyComputationEndMessage 0x330E0054L
-#define MSG_PrivatePublisher_TypeTransparencyComputationStartMessage 0x330E0055L
-#define MSG_PrivatePublisher_TypeTransparencyComputationEndMessage 0x330E0056L
-#define MSG_PrivatePublisher_MethodTransparencyComputationStartMessage 0x330E0057L
-#define MSG_PrivatePublisher_MethodTransparencyComputationEndMessage 0x330E0058L
-#define MSG_PrivatePublisher_FieldTransparencyComputationStartMessage 0x330E0059L
-#define MSG_PrivatePublisher_FieldTransparencyComputationEndMessage 0x330E005AL
-#define MSG_PrivatePublisher_TokenTransparencyComputationStartMessage 0x330E005BL
-#define MSG_PrivatePublisher_TokenTransparencyComputationEndMessage 0x330E005CL
-#define MSG_PrivatePublisher_LoaderHeapPrivateAllocRequestMessage 0x33100061L
-#define MSG_PrivatePublisher_MulticoreJitOpcodeMessage 0x3311000AL
-#define MSG_PrivatePublisher_MulticoreJitOpcodeMethodCodeReturnedMessage 0x3311000BL
-#define MSG_PrivatePublisher_ModuleRangeLoadOpcodeMessage 0x3314000AL
-#define MSG_PrivatePublisher_IInspectableRuntimeClassNameOpcodeMessage 0x3316000BL
-#define MSG_PrivatePublisher_WinRTUnboxOpcodeMessage 0x3316000CL
-#define MSG_PrivatePublisher_CreateRCWOpcodeMessage 0x3316000DL
-#define MSG_PrivatePublisher_RCWVarianceOpcodeMessage 0x3316000EL
-#define MSG_PrivatePublisher_RCWIEnumerableCastingOpcodeMessage 0x3316000FL
-#define MSG_PrivatePublisher_CreateCCWOpcodeMessage 0x33160010L
-#define MSG_PrivatePublisher_CCWVarianceOpcodeMessage 0x33160011L
-#define MSG_PrivatePublisher_ObjectVariantMarshallingToNativeOpcodeMessage 0x33160012L
-#define MSG_PrivatePublisher_GetTypeFromGUIDOpcodeMessage 0x33160013L
-#define MSG_PrivatePublisher_GetTypeFromProgIDOpcodeMessage 0x33160014L
-#define MSG_PrivatePublisher_ConvertToCallbackEtwOpcodeMessage 0x33160015L
-#define MSG_PrivatePublisher_BeginCreateManagedReferenceOpcodeMessage 0x33160016L
-#define MSG_PrivatePublisher_EndCreateManagedReferenceOpcodeMessage 0x33160017L
-#define MSG_PrivatePublisher_ObjectVariantMarshallingToManagedOpcodeMessage 0x33160018L
-#define MSG_RuntimePublisher_GarbageCollectionTaskMessage 0x70000001L
-#define MSG_RuntimePublisher_WorkerThreadCreationTaskMessage 0x70000002L
-#define MSG_RuntimePublisher_IOThreadCreationTaskMessage 0x70000003L
-#define MSG_RuntimePublisher_WorkerThreadRetirementTaskMessage 0x70000004L
-#define MSG_RuntimePublisher_IOThreadRetirementTaskMessage 0x70000005L
-#define MSG_RuntimePublisher_ThreadpoolSuspensionTaskMessage 0x70000006L
-#define MSG_RuntimePublisher_ExceptionTaskMessage 0x70000007L
-#define MSG_RuntimePublisher_ContentionTaskMessage 0x70000008L
-#define MSG_RuntimePublisher_MethodTaskMessage 0x70000009L
-#define MSG_RuntimePublisher_LoaderTaskMessage 0x7000000AL
-#define MSG_RuntimePublisher_StackTaskMessage 0x7000000BL
-#define MSG_RuntimePublisher_StrongNameVerificationTaskMessage 0x7000000CL
-#define MSG_RuntimePublisher_AuthenticodeVerificationTaskMessage 0x7000000DL
-#define MSG_RuntimePublisher_AppDomainResourceManagementTaskMessage 0x7000000EL
-#define MSG_RuntimePublisher_ILStubTaskMessage 0x7000000FL
-#define MSG_RuntimePublisher_ThreadPoolWorkerThreadTaskMessage 0x70000010L
-#define MSG_RuntimePublisher_ThreadPoolWorkerThreadRetirementTaskMessage 0x70000011L
-#define MSG_RuntimePublisher_ThreadPoolWorkerThreadAdjustmentTaskMessage 0x70000012L
-#define MSG_RuntimePublisher_EEStartupTaskMessage 0x70000013L
-#define MSG_RuntimePublisher_PerfTrackTaskMessage 0x70000014L
-#define MSG_RuntimePublisher_TypeTaskMessage 0x70000015L
-#define MSG_RuntimePublisher_ThreadPoolWorkingThreadCountTaskMessage 0x70000016L
-#define MSG_RuntimePublisher_ThreadPoolTaskMessage 0x70000017L
-#define MSG_RuntimePublisher_ThreadTaskMessage 0x70000018L
-#define MSG_RuntimePublisher_DebugIPCEventTaskMessage 0x70000019L
-#define MSG_RuntimePublisher_DebugExceptionProcessingTaskMessage 0x7000001AL
-#define MSG_RuntimePublisher_ExceptionCatchTaskMessage 0x7000001BL
-#define MSG_RuntimePublisher_ExceptionFinallyTaskMessage 0x7000001CL
-#define MSG_RuntimePublisher_ExceptionFilterTaskMessage 0x7000001DL
-#define MSG_RuntimePublisher_CodeSymbolsTaskMessage 0x7000001EL
-#define MSG_RundownPublisher_MethodTaskMessage 0x71000001L
-#define MSG_RundownPublisher_LoaderTaskMessage 0x71000002L
-#define MSG_RundownPublisher_StackTaskMessage 0x7100000BL
-#define MSG_RundownPublisher_EEStartupTaskMessage 0x71000013L
-#define MSG_RundownPublisher_PerfTrackTaskMessage 0x71000014L
-#define MSG_StressPublisher_StressTaskMessage 0x72000001L
-#define MSG_StressPublisher_StackTaskMessage 0x7200000BL
-#define MSG_PrivatePublisher_GarbageCollectionTaskMessage 0x73000001L
-#define MSG_PrivatePublisher_FailFastTaskMessage 0x73000002L
-#define MSG_PrivatePublisher_StartupTaskMessage 0x73000009L
-#define MSG_PrivatePublisher_BindingTaskMessage 0x7300000AL
-#define MSG_PrivatePublisher_StackTaskMessage 0x7300000BL
-#define MSG_PrivatePublisher_EvidenceGeneratedTaskMessage 0x7300000CL
-#define MSG_PrivatePublisher_NgenBinderTaskMessage 0x7300000DL
-#define MSG_PrivatePublisher_TransparencyComputationMessage 0x7300000EL
-#define MSG_PrivatePublisher_LoaderHeapAllocationPrivateTaskMessage 0x73000010L
-#define MSG_PrivatePublisher_MulticoreJitTaskMessage 0x73000011L
-#define MSG_PrivatePublisher_PerfTrackTaskMessage 0x73000014L
-#define MSG_PrivatePublisher_DynamicTypeUsageTaskMessage 0x73000016L
-#define MSG_RuntimePublisher_GCStartEventMessage 0xB0000001L
-#define MSG_RuntimePublisher_GCEndEventMessage 0xB0000002L
-#define MSG_RuntimePublisher_GCRestartEEEndEventMessage 0xB0000003L
-#define MSG_RuntimePublisher_GCHeapStatsEventMessage 0xB0000004L
-#define MSG_RuntimePublisher_GCCreateSegmentEventMessage 0xB0000005L
-#define MSG_RuntimePublisher_GCFreeSegmentEventMessage 0xB0000006L
-#define MSG_RuntimePublisher_GCRestartEEBeginEventMessage 0xB0000007L
-#define MSG_RuntimePublisher_GCSuspendEEEndEventMessage 0xB0000008L
-#define MSG_RuntimePublisher_GCSuspendEEEventMessage 0xB0000009L
-#define MSG_RuntimePublisher_GCAllocationTickEventMessage 0xB000000AL
-#define MSG_RuntimePublisher_GCCreateConcurrentThreadEventMessage 0xB000000BL
-#define MSG_RuntimePublisher_GCTerminateConcurrentThreadEventMessage 0xB000000CL
-#define MSG_RuntimePublisher_GCFinalizersEndEventMessage 0xB000000DL
-#define MSG_RuntimePublisher_GCFinalizersBeginEventMessage 0xB000000EL
-#define MSG_RuntimePublisher_BulkTypeEventMessage 0xB000000FL
-#define MSG_RuntimePublisher_GCBulkRootEdgeEventMessage 0xB0000010L
-#define MSG_RuntimePublisher_GCBulkRootConditionalWeakTableElementEdgeEventMessage 0xB0000011L
-#define MSG_RuntimePublisher_GCBulkNodeEventMessage 0xB0000012L
-#define MSG_RuntimePublisher_GCBulkEdgeEventMessage 0xB0000013L
-#define MSG_RuntimePublisher_GCSampledObjectAllocationHighEventMessage 0xB0000014L
-#define MSG_RuntimePublisher_GCBulkSurvivingObjectRangesEventMessage 0xB0000015L
-#define MSG_RuntimePublisher_GCBulkMovedObjectRangesEventMessage 0xB0000016L
-#define MSG_RuntimePublisher_GCGenerationRangeEventMessage 0xB0000017L
-#define MSG_RuntimePublisher_GCMarkStackRootsEventMessage 0xB0000019L
-#define MSG_RuntimePublisher_GCMarkFinalizeQueueRootsEventMessage 0xB000001AL
-#define MSG_RuntimePublisher_GCMarkHandlesEventMessage 0xB000001BL
-#define MSG_RuntimePublisher_GCMarkOlderGenerationRootsEventMessage 0xB000001CL
-#define MSG_RuntimePublisher_FinalizeObjectEventMessage 0xB000001DL
-#define MSG_RuntimePublisher_SetGCHandleEventMessage 0xB000001EL
-#define MSG_RuntimePublisher_DestroyGCHandleEventMessage 0xB000001FL
-#define MSG_RuntimePublisher_GCSampledObjectAllocationLowEventMessage 0xB0000020L
-#define MSG_RuntimePublisher_PinObjectAtGCTimeEventMessage 0xB0000021L
-#define MSG_RuntimePublisher_GCTriggeredEventMessage 0xB0000023L
-#define MSG_RuntimePublisher_GCBulkRootCCWEventMessage 0xB0000024L
-#define MSG_RuntimePublisher_GCBulkRCWEventMessage 0xB0000025L
-#define MSG_RuntimePublisher_GCBulkRootStaticVarEventMessage 0xB0000026L
-#define MSG_RuntimePublisher_WorkerThreadCreateEventMessage 0xB0000028L
-#define MSG_RuntimePublisher_WorkerThreadTerminateEventMessage 0xB0000029L
-#define MSG_RuntimePublisher_WorkerThreadRetirementRetireThreadEventMessage 0xB000002AL
-#define MSG_RuntimePublisher_WorkerThreadRetirementUnretireThreadEventMessage 0xB000002BL
-#define MSG_RuntimePublisher_IOThreadCreateEventMessage 0xB000002CL
-#define MSG_RuntimePublisher_IOThreadTerminateEventMessage 0xB000002DL
-#define MSG_RuntimePublisher_IOThreadRetirementRetireThreadEventMessage 0xB000002EL
-#define MSG_RuntimePublisher_IOThreadRetirementUnretireThreadEventMessage 0xB000002FL
-#define MSG_RuntimePublisher_ThreadPoolSuspendSuspendThreadEventMessage 0xB0000030L
-#define MSG_RuntimePublisher_ThreadPoolSuspendResumeThreadEventMessage 0xB0000031L
-#define MSG_RuntimePublisher_ThreadPoolWorkerThreadEventMessage 0xB0000032L
-#define MSG_RuntimePublisher_ThreadPoolWorkerThreadAdjustmentSampleEventMessage 0xB0000036L
-#define MSG_RuntimePublisher_ThreadPoolWorkerThreadAdjustmentAdjustmentEventMessage 0xB0000037L
-#define MSG_RuntimePublisher_ThreadPoolWorkerThreadAdjustmentStatsEventMessage 0xB0000038L
-#define MSG_RuntimePublisher_ThreadPoolWorkingThreadCountEventMessage 0xB000003CL
-#define MSG_RuntimePublisher_ThreadPoolEnqueueEventMessage 0xB000003DL
-#define MSG_RuntimePublisher_ThreadPoolDequeueEventMessage 0xB000003EL
-#define MSG_RuntimePublisher_ThreadPoolIOEnqueueEventMessage 0xB000003FL
-#define MSG_RuntimePublisher_ThreadPoolIODequeueEventMessage 0xB0000040L
-#define MSG_RuntimePublisher_ThreadPoolIOPackEventMessage 0xB0000041L
-#define MSG_RuntimePublisher_ThreadCreatingEventMessage 0xB0000046L
-#define MSG_RuntimePublisher_ThreadRunningEventMessage 0xB0000047L
-#define MSG_RuntimePublisher_ExceptionExceptionThrownEventMessage 0xB0000050L
-#define MSG_RuntimePublisher_ContentionStartEventMessage 0xB0000051L
-#define MSG_RuntimePublisher_StackEventMessage 0xB0000052L
-#define MSG_RuntimePublisher_AppDomainMemAllocatedEventMessage 0xB0000053L
-#define MSG_RuntimePublisher_AppDomainMemSurvivedEventMessage 0xB0000054L
-#define MSG_RuntimePublisher_ThreadCreatedEventMessage 0xB0000055L
-#define MSG_RuntimePublisher_ThreadTerminatedEventMessage 0xB0000056L
-#define MSG_RuntimePublisher_ThreadDomainEnterEventMessage 0xB0000057L
-#define MSG_RuntimePublisher_ILStubGeneratedEventMessage 0xB0000058L
-#define MSG_RuntimePublisher_ILStubCacheHitEventMessage 0xB0000059L
-#define MSG_RuntimePublisher_ContentionStopEventMessage 0xB000005BL
-#define MSG_RuntimePublisher_DCStartCompleteEventMessage 0xB0000087L
-#define MSG_RuntimePublisher_DCEndCompleteEventMessage 0xB0000088L
-#define MSG_RuntimePublisher_MethodDCStartEventMessage 0xB0000089L
-#define MSG_RuntimePublisher_MethodDCEndEventMessage 0xB000008AL
-#define MSG_RuntimePublisher_MethodDCEndVerboseEventMessage 0xB000008CL
-#define MSG_RuntimePublisher_MethodLoadEventMessage 0xB000008DL
-#define MSG_RuntimePublisher_MethodUnloadEventMessage 0xB000008EL
-#define MSG_RuntimePublisher_MethodLoadVerboseEventMessage 0xB000008FL
-#define MSG_RuntimePublisher_MethodUnloadVerboseEventMessage 0xB0000090L
-#define MSG_RuntimePublisher_MethodJittingStartedEventMessage 0xB0000091L
-#define MSG_RuntimePublisher_ModuleDCStartEventMessage 0xB0000095L
-#define MSG_RuntimePublisher_ModuleDCEndEventMessage 0xB0000096L
-#define MSG_RuntimePublisher_DomainModuleLoadEventMessage 0xB0000097L
-#define MSG_RuntimePublisher_ModuleLoadEventMessage 0xB0000098L
-#define MSG_RuntimePublisher_ModuleUnloadEventMessage 0xB0000099L
-#define MSG_RuntimePublisher_AssemblyLoadEventMessage 0xB000009AL
-#define MSG_RuntimePublisher_AssemblyUnloadEventMessage 0xB000009BL
-#define MSG_RuntimePublisher_AppDomainLoadEventMessage 0xB000009CL
-#define MSG_RuntimePublisher_AppDomainUnloadEventMessage 0xB000009DL
-#define MSG_RuntimePublisher_ModuleRangeLoadEventMessage 0xB000009EL
-#define MSG_RuntimePublisher_StrongNameVerificationStartEventMessage 0xB00000B5L
-#define MSG_RuntimePublisher_StrongNameVerificationEndEventMessage 0xB00000B6L
-#define MSG_RuntimePublisher_AuthenticodeVerificationStartEventMessage 0xB00000B7L
-#define MSG_RuntimePublisher_AuthenticodeVerificationEndEventMessage 0xB00000B8L
-#define MSG_RuntimePublisher_MethodJitInliningSucceededEventMessage 0xB00000B9L
-#define MSG_RuntimePublisher_MethodJitInliningFailedEventMessage 0xB00000BAL
-#define MSG_RuntimePublisher_RuntimeInformationEventMessage 0xB00000BBL
-#define MSG_RuntimePublisher_MethodJitTailCallSucceededEventMessage 0xB00000BCL
-#define MSG_RuntimePublisher_MethodJitTailCallFailedEventMessage 0xB00000BDL
-#define MSG_RuntimePublisher_MethodILToNativeMapEventMessage 0xB00000BEL
-#define MSG_RuntimePublisher_IncreaseMemoryPressureEventMessage 0xB00000C8L
-#define MSG_RuntimePublisher_DecreaseMemoryPressureEventMessage 0xB00000C9L
-#define MSG_RuntimePublisher_GCMarkWithTypeEventMessage 0xB00000CAL
-#define MSG_RuntimePublisher_ExceptionExceptionHandlingEventMessage 0xB00000FAL
-#define MSG_RuntimePublisher_ExceptionExceptionHandlingNoneEventMessage 0xB00000FBL
-#define MSG_RuntimePublisher_CodeSymbolsEventMessage 0xB0000104L
-#define MSG_RuntimePublisher_GCStart_V1EventMessage 0xB0010001L
-#define MSG_RuntimePublisher_GCEnd_V1EventMessage 0xB0010002L
-#define MSG_RuntimePublisher_GCRestartEEEnd_V1EventMessage 0xB0010003L
-#define MSG_RuntimePublisher_GCHeapStats_V1EventMessage 0xB0010004L
-#define MSG_RuntimePublisher_GCCreateSegment_V1EventMessage 0xB0010005L
-#define MSG_RuntimePublisher_GCFreeSegment_V1EventMessage 0xB0010006L
-#define MSG_RuntimePublisher_GCRestartEEBegin_V1EventMessage 0xB0010007L
-#define MSG_RuntimePublisher_GCSuspendEEEnd_V1EventMessage 0xB0010008L
-#define MSG_RuntimePublisher_GCSuspendEE_V1EventMessage 0xB0010009L
-#define MSG_RuntimePublisher_GCAllocationTick_V1EventMessage 0xB001000AL
-#define MSG_RuntimePublisher_GCCreateConcurrentThread_V1EventMessage 0xB001000BL
-#define MSG_RuntimePublisher_GCTerminateConcurrentThread_V1EventMessage 0xB001000CL
-#define MSG_RuntimePublisher_GCFinalizersEnd_V1EventMessage 0xB001000DL
-#define MSG_RuntimePublisher_GCFinalizersBegin_V1EventMessage 0xB001000EL
-#define MSG_RuntimePublisher_IOThreadCreate_V1EventMessage 0xB001002CL
-#define MSG_RuntimePublisher_IOThreadTerminate_V1EventMessage 0xB001002DL
-#define MSG_RuntimePublisher_IOThreadRetirementRetireThread_V1EventMessage 0xB001002EL
-#define MSG_RuntimePublisher_IOThreadRetirementUnretireThread_V1EventMessage 0xB001002FL
-#define MSG_RuntimePublisher_ExceptionExceptionThrown_V1EventMessage 0xB0010050L
-#define MSG_RuntimePublisher_ContentionStart_V1EventMessage 0xB0010051L
-#define MSG_RuntimePublisher_MethodLoad_V1EventMessage 0xB001008DL
-#define MSG_RuntimePublisher_MethodUnload_V1EventMessage 0xB001008EL
-#define MSG_RuntimePublisher_MethodLoadVerbose_V1EventMessage 0xB001008FL
-#define MSG_RuntimePublisher_MethodUnloadVerbose_V1EventMessage 0xB0010090L
-#define MSG_RuntimePublisher_MethodJittingStarted_V1EventMessage 0xB0010091L
-#define MSG_RuntimePublisher_DomainModuleLoad_V1EventMessage 0xB0010097L
-#define MSG_RuntimePublisher_ModuleLoad_V1EventMessage 0xB0010098L
-#define MSG_RuntimePublisher_ModuleUnload_V1EventMessage 0xB0010099L
-#define MSG_RuntimePublisher_AssemblyLoad_V1EventMessage 0xB001009AL
-#define MSG_RuntimePublisher_AssemblyUnload_V1EventMessage 0xB001009BL
-#define MSG_RuntimePublisher_AppDomainLoad_V1EventMessage 0xB001009CL
-#define MSG_RuntimePublisher_AppDomainUnload_V1EventMessage 0xB001009DL
-#define MSG_RuntimePublisher_StrongNameVerificationStart_V1EventMessage 0xB00100B5L
-#define MSG_RuntimePublisher_StrongNameVerificationEnd_V1EventMessage 0xB00100B6L
-#define MSG_RuntimePublisher_AuthenticodeVerificationStart_V1EventMessage 0xB00100B7L
-#define MSG_RuntimePublisher_AuthenticodeVerificationEnd_V1EventMessage 0xB00100B8L
-#define MSG_RuntimePublisher_GCStart_V2EventMessage 0xB0020001L
-#define MSG_RuntimePublisher_GCAllocationTick_V2EventMessage 0xB002000AL
-#define MSG_RuntimePublisher_MethodLoad_V2EventMessage 0xB002008DL
-#define MSG_RuntimePublisher_MethodUnload_V2EventMessage 0xB002008EL
-#define MSG_RuntimePublisher_MethodLoadVerbose_V2EventMessage 0xB002008FL
-#define MSG_RuntimePublisher_MethodUnloadVerbose_V2EventMessage 0xB0020090L
-#define MSG_RuntimePublisher_ModuleLoad_V2EventMessage 0xB0020098L
-#define MSG_RuntimePublisher_ModuleUnload_V2EventMessage 0xB0020099L
-#define MSG_RuntimePublisher_GCJoin_V2EventMessage 0xB00200CBL
-#define MSG_RuntimePublisher_GCGlobalHeap_V2EventMessage 0xB00200CDL
-#define MSG_RuntimePublisher_GCAllocationTick_V3EventMessage 0xB003000AL
-#define MSG_RuntimePublisher_GCPerHeapHistory_V3EventMessage 0xB00300CCL
-#define MSG_RundownPublisher_StackEventMessage 0xB1000000L
-#define MSG_RundownPublisher_MethodDCStartEventMessage 0xB100008DL
-#define MSG_RundownPublisher_MethodDCEndEventMessage 0xB100008EL
-#define MSG_RundownPublisher_MethodDCStartVerboseEventMessage 0xB100008FL
-#define MSG_RundownPublisher_MethodDCEndVerboseEventMessage 0xB1000090L
-#define MSG_RundownPublisher_MethodDCStartILToNativeMapEventMessage 0xB1000095L
-#define MSG_RundownPublisher_MethodDCEndILToNativeMapEventMessage 0xB1000096L
-#define MSG_RundownPublisher_DomainModuleDCStartEventMessage 0xB1000097L
-#define MSG_RundownPublisher_DomainModuleDCEndEventMessage 0xB1000098L
-#define MSG_RundownPublisher_ModuleDCStartEventMessage 0xB1000099L
-#define MSG_RundownPublisher_ModuleDCEndEventMessage 0xB100009AL
-#define MSG_RundownPublisher_AssemblyDCStartEventMessage 0xB100009BL
-#define MSG_RundownPublisher_AssemblyDCEndEventMessage 0xB100009CL
-#define MSG_RundownPublisher_AppDomainDCStartEventMessage 0xB100009DL
-#define MSG_RundownPublisher_AppDomainDCEndEventMessage 0xB100009EL
-#define MSG_RundownPublisher_ThreadCreatedEventMessage 0xB100009FL
-#define MSG_RundownPublisher_ModuleRangeDCStartEventMessage 0xB10000A0L
-#define MSG_RundownPublisher_ModuleRangeDCEndEventMessage 0xB10000A1L
-#define MSG_RundownPublisher_RuntimeInformationEventMessage 0xB10000BBL
-#define MSG_RundownPublisher_MethodDCStart_V1EventMessage 0xB101008DL
-#define MSG_RundownPublisher_MethodDCEnd_V1EventMessage 0xB101008EL
-#define MSG_RundownPublisher_MethodDCStartVerbose_V1EventMessage 0xB101008FL
-#define MSG_RundownPublisher_MethodDCEndVerbose_V1EventMessage 0xB1010090L
-#define MSG_RundownPublisher_DCStartCompleteEventMessage 0xB1010091L
-#define MSG_RundownPublisher_DCEndCompleteEventMessage 0xB1010092L
-#define MSG_RundownPublisher_DCStartInitEventMessage 0xB1010093L
-#define MSG_RundownPublisher_DCEndInitEventMessage 0xB1010094L
-#define MSG_RundownPublisher_DomainModuleDCStart_V1EventMessage 0xB1010097L
-#define MSG_RundownPublisher_DomainModuleDCEnd_V1EventMessage 0xB1010098L
-#define MSG_RundownPublisher_ModuleDCStart_V1EventMessage 0xB1010099L
-#define MSG_RundownPublisher_ModuleDCEnd_V1EventMessage 0xB101009AL
-#define MSG_RundownPublisher_AssemblyDCStart_V1EventMessage 0xB101009BL
-#define MSG_RundownPublisher_AssemblyDCEnd_V1EventMessage 0xB101009CL
-#define MSG_RundownPublisher_AppDomainDCStart_V1EventMessage 0xB101009DL
-#define MSG_RundownPublisher_AppDomainDCEnd_V1EventMessage 0xB101009EL
-#define MSG_RundownPublisher_MethodDCStart_V2EventMessage 0xB102008DL
-#define MSG_RundownPublisher_MethodDCEnd_V2EventMessage 0xB102008EL
-#define MSG_RundownPublisher_MethodDCStartVerbose_V2EventMessage 0xB102008FL
-#define MSG_RundownPublisher_MethodDCEndVerbose_V2EventMessage 0xB1020090L
-#define MSG_RundownPublisher_ModuleDCStart_V2EventMessage 0xB1020099L
-#define MSG_RundownPublisher_ModuleDCEnd_V2EventMessage 0xB102009AL
-#define MSG_StressPublisher_StressLogEventMessage 0xB2000000L
-#define MSG_StressPublisher_StackEventMessage 0xB2000001L
-#define MSG_StressPublisher_StressLog_V1EventMessage 0xB2010000L
-#define MSG_PrivatePublisher_GCDecisionEventMessage 0xB3000001L
-#define MSG_PrivatePublisher_GCSettingsEventMessage 0xB3000002L
-#define MSG_PrivatePublisher_GCOptimizedEventMessage 0xB3000003L
-#define MSG_PrivatePublisher_GCGlobalHeapEventMessage 0xB3000005L
-#define MSG_PrivatePublisher_GCJoinEventMessage 0xB3000006L
-#define MSG_PrivatePublisher_GCMarkStackRootsEventMessage 0xB3000007L
-#define MSG_PrivatePublisher_GCMarkFinalizeQueueRootsEventMessage 0xB3000008L
-#define MSG_PrivatePublisher_GCMarkHandlesEventMessage 0xB3000009L
-#define MSG_PrivatePublisher_GCMarkCardsEventMessage 0xB300000AL
-#define MSG_PrivatePublisher_BGCBeginEventMessage 0xB300000BL
-#define MSG_PrivatePublisher_BGC1stNonConEndEventMessage 0xB300000CL
-#define MSG_PrivatePublisher_BGC1stConEndEventMessage 0xB300000DL
-#define MSG_PrivatePublisher_BGC2ndNonConBeginEventMessage 0xB300000EL
-#define MSG_PrivatePublisher_BGC2ndNonConEndEventMessage 0xB300000FL
-#define MSG_PrivatePublisher_BGC2ndConBeginEventMessage 0xB3000010L
-#define MSG_PrivatePublisher_BGC2ndConEndEventMessage 0xB3000011L
-#define MSG_PrivatePublisher_BGCPlanEndEventMessage 0xB3000012L
-#define MSG_PrivatePublisher_BGCSweepEndEventMessage 0xB3000013L
-#define MSG_PrivatePublisher_BGCDrainMarkEventMessage 0xB3000014L
-#define MSG_PrivatePublisher_BGCRevisitEventMessage 0xB3000015L
-#define MSG_PrivatePublisher_BGCOverflowEventMessage 0xB3000016L
-#define MSG_PrivatePublisher_BGCAllocWaitEventMessage 0xB3000017L
-#define MSG_PrivatePublisher_GCFullNotifyEventMessage 0xB3000019L
-#define MSG_PrivatePublisher_StartupEventMessage 0xB3000050L
-#define MSG_PrivatePublisher_StackEventMessage 0xB3000097L
-#define MSG_PrivatePublisher_ModuleRangeLoadEventMessage 0xB300009EL
-#define MSG_PrivatePublisher_BindingEventMessage 0xB300009FL
-#define MSG_PrivatePublisher_EvidenceGeneratedEventMessage 0xB30000B1L
-#define MSG_PrivatePublisher_ModuleTransparencyComputationStartEventMessage 0xB30000B2L
-#define MSG_PrivatePublisher_ModuleTransparencyComputationEndEventMessage 0xB30000B3L
-#define MSG_PrivatePublisher_TypeTransparencyComputationStartEventMessage 0xB30000B4L
-#define MSG_PrivatePublisher_TypeTransparencyComputationEndEventMessage 0xB30000B5L
-#define MSG_PrivatePublisher_MethodTransparencyComputationStartEventMessage 0xB30000B6L
-#define MSG_PrivatePublisher_MethodTransparencyComputationEndEventMessage 0xB30000B7L
-#define MSG_PrivatePublisher_FieldTransparencyComputationStartEventMessage 0xB30000B8L
-#define MSG_PrivatePublisher_FieldTransparencyComputationEndEventMessage 0xB30000B9L
-#define MSG_PrivatePublisher_TokenTransparencyComputationStartEventMessage 0xB30000BAL
-#define MSG_PrivatePublisher_TokenTransparencyComputationEndEventMessage 0xB30000BBL
-#define MSG_PrivatePublisher_NgenBinderMessage 0xB30000BCL
-#define MSG_PrivatePublisher_FailFastEventMessage 0xB30000BFL
-#define MSG_PrivatePublisher_FinalizeObjectEventMessage 0xB30000C0L
-#define MSG_PrivatePublisher_CCWRefCountChangeEventMessage 0xB30000C1L
-#define MSG_PrivatePublisher_SetGCHandleEventMessage 0xB30000C2L
-#define MSG_PrivatePublisher_DestroyGCHandleEventMessage 0xB30000C3L
-#define MSG_PrivatePublisher_FusionMessageEventMessage 0xB30000C4L
-#define MSG_PrivatePublisher_FusionErrorCodeEventMessage 0xB30000C5L
-#define MSG_PrivatePublisher_PinPlugAtGCTimeEventMessage 0xB30000C7L
-#define MSG_PrivatePublisher_MulticoreJitCommonEventMessage 0xB30000C9L
-#define MSG_PrivatePublisher_MulticoreJitMethodCodeReturnedMessage 0xB30000CAL
-#define MSG_PrivatePublisher_AllocRequestEventMessage 0xB3000136L
-#define MSG_PrivatePublisher_IInspectableRuntimeClassNameMessage 0xB3000190L
-#define MSG_PrivatePublisher_WinRTUnboxMessage 0xB3000191L
-#define MSG_PrivatePublisher_CreateRcwMessage 0xB3000192L
-#define MSG_PrivatePublisher_RcwVarianceMessage 0xB3000193L
-#define MSG_PrivatePublisher_RCWIEnumerableCastingMessage 0xB3000194L
-#define MSG_PrivatePublisher_CreateCCWMessage 0xB3000195L
-#define MSG_PrivatePublisher_CCWVarianceMessage 0xB3000196L
-#define MSG_PrivatePublisher_ObjectVariantMarshallingMessage 0xB3000197L
-#define MSG_PrivatePublisher_GetTypeFromGUIDMessage 0xB3000198L
-#define MSG_PrivatePublisher_GetTypeFromProgIDMessage 0xB3000199L
-#define MSG_PrivatePublisher_ConvertToCallbackMessage 0xB300019AL
-#define MSG_PrivatePublisher_BeginCreateManagedReferenceMessage 0xB300019BL
-#define MSG_PrivatePublisher_EndCreateManagedReferenceMessage 0xB300019CL
-#define MSG_PrivatePublisher_GCDecision_V1EventMessage 0xB3010001L
-#define MSG_PrivatePublisher_GCSettings_V1EventMessage 0xB3010002L
-#define MSG_PrivatePublisher_GCOptimized_V1EventMessage 0xB3010003L
-#define MSG_PrivatePublisher_GCPerHeapHistory_V1EventMessage 0xB3010004L
-#define MSG_PrivatePublisher_GCGlobalHeap_V1EventMessage 0xB3010005L
-#define MSG_PrivatePublisher_GCJoin_V1EventMessage 0xB3010006L
-#define MSG_PrivatePublisher_GCMarkStackRoots_V1EventMessage 0xB3010007L
-#define MSG_PrivatePublisher_GCMarkFinalizeQueueRoots_V1EventMessage 0xB3010008L
-#define MSG_PrivatePublisher_GCMarkHandles_V1EventMessage 0xB3010009L
-#define MSG_PrivatePublisher_GCMarkCards_V1EventMessage 0xB301000AL
-#define MSG_PrivatePublisher_GCFullNotify_V1EventMessage 0xB3010019L
-#define MSG_PrivatePublisher_Startup_V1EventMessage 0xB3010050L
-#define MSG_PrivatePublisher_GCPerHeapHistoryEventMessage 0xB3020004L
-#define MSG_RuntimePublisher_GCSegment_SmallObjectHeapMapMessage 0xD0000001L
-#define MSG_RuntimePublisher_GCSegment_LargeObjectHeapMapMessage 0xD0000002L
-#define MSG_RuntimePublisher_GCSegment_ReadOnlyHeapMapMessage 0xD0000003L
-#define MSG_RuntimePublisher_GCAllocation_SmallMapMessage 0xD0000004L
-#define MSG_RuntimePublisher_GCAllocation_LargeMapMessage 0xD0000005L
-#define MSG_RuntimePublisher_GCType_NonConcurrentGCMapMessage 0xD0000006L
-#define MSG_RuntimePublisher_GCType_BackgroundGCMapMessage 0xD0000007L
-#define MSG_RuntimePublisher_GCType_ForegroundGCMapMessage 0xD0000008L
-#define MSG_RuntimePublisher_GCReason_AllocSmallMapMessage 0xD0000009L
-#define MSG_RuntimePublisher_GCReason_InducedMapMessage 0xD000000AL
-#define MSG_RuntimePublisher_GCReason_LowMemoryMapMessage 0xD000000BL
-#define MSG_RuntimePublisher_GCReason_EmptyMapMessage 0xD000000CL
-#define MSG_RuntimePublisher_GCReason_AllocLargeMapMessage 0xD000000DL
-#define MSG_RuntimePublisher_GCReason_OutOfSpaceSmallObjectHeapMapMessage 0xD000000EL
-#define MSG_RuntimePublisher_GCReason_OutOfSpaceLargeObjectHeapMapMessage 0xD000000FL
-#define MSG_RuntimePublisher_GCReason_InducedNoForceMapMessage 0xD0000010L
-#define MSG_RuntimePublisher_GCReason_StressMapMessage 0xD0000011L
-#define MSG_RuntimePublisher_GCReason_InducedLowMemoryMapMessage 0xD0000012L
-#define MSG_RuntimePublisher_GCSuspendEEReason_SuspendOtherMapMessage 0xD0000013L
-#define MSG_RuntimePublisher_GCSuspendEEReason_SuspendForGCMapMessage 0xD0000014L
-#define MSG_RuntimePublisher_GCSuspendEEReason_SuspendForAppDomainShutdownMapMessage 0xD0000015L
-#define MSG_RuntimePublisher_GCSuspendEEReason_SuspendForCodePitchingMapMessage 0xD0000016L
-#define MSG_RuntimePublisher_GCSuspendEEReason_SuspendForShutdownMapMessage 0xD0000017L
-#define MSG_RuntimePublisher_GCSuspendEEReason_SuspendForDebuggerMapMessage 0xD0000018L
-#define MSG_RuntimePublisher_GCSuspendEEReason_SuspendForGCPrepMapMessage 0xD0000019L
-#define MSG_RuntimePublisher_GCSuspendEEReason_SuspendForDebuggerSweepMapMessage 0xD000001AL
-#define MSG_RuntimePublisher_Contention_ManagedMapMessage 0xD000001BL
-#define MSG_RuntimePublisher_Contention_NativeMapMessage 0xD000001CL
-#define MSG_RuntimePublisher_TailCallType_OptimizedMapMessage 0xD000001DL
-#define MSG_RuntimePublisher_TailCallType_RecursiveMapMessage 0xD000001EL
-#define MSG_RuntimePublisher_TailCallType_HelperMapMessage 0xD000001FL
-#define MSG_RuntimePublisher_ThreadAdjustmentReason_WarmupMapMessage 0xD0000020L
-#define MSG_RuntimePublisher_ThreadAdjustmentReason_InitializingMapMessage 0xD0000021L
-#define MSG_RuntimePublisher_ThreadAdjustmentReason_RandomMoveMapMessage 0xD0000022L
-#define MSG_RuntimePublisher_ThreadAdjustmentReason_ClimbingMoveMapMessage 0xD0000023L
-#define MSG_RuntimePublisher_ThreadAdjustmentReason_ChangePointMapMessage 0xD0000024L
-#define MSG_RuntimePublisher_ThreadAdjustmentReason_StabilizingMapMessage 0xD0000025L
-#define MSG_RuntimePublisher_ThreadAdjustmentReason_StarvationMapMessage 0xD0000026L
-#define MSG_RuntimePublisher_ThreadAdjustmentReason_ThreadTimedOutMapMessage 0xD0000027L
-#define MSG_RuntimePublisher_GCRootKind_Stack 0xD0000028L
-#define MSG_RuntimePublisher_GCRootKind_Finalizer 0xD0000029L
-#define MSG_RuntimePublisher_GCRootKind_Handle 0xD000002AL
-#define MSG_RuntimePublisher_GCRootKind_Older 0xD000002BL
-#define MSG_RuntimePublisher_GCRootKind_SizedRef 0xD000002CL
-#define MSG_RuntimePublisher_GCRootKind_Overflow 0xD000002DL
-#define MSG_RuntimePublisher_GCHandleKind_WeakShortMessage 0xD000002EL
-#define MSG_RuntimePublisher_GCHandleKind_WeakLongMessage 0xD000002FL
-#define MSG_RuntimePublisher_GCHandleKind_StrongMessage 0xD0000030L
-#define MSG_RuntimePublisher_GCHandleKind_PinnedMessage 0xD0000031L
-#define MSG_RuntimePublisher_GCHandleKind_VariableMessage 0xD0000032L
-#define MSG_RuntimePublisher_GCHandleKind_RefCountedMessage 0xD0000033L
-#define MSG_RuntimePublisher_GCHandleKind_DependentMessage 0xD0000034L
-#define MSG_RuntimePublisher_GCHandleKind_AsyncPinnedMessage 0xD0000035L
-#define MSG_RuntimePublisher_GCHandleKind_SizedRefMessage 0xD0000036L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_ModuleSection 0xD3000001L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_EETableSection 0xD3000002L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_WriteDataSection 0xD3000003L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_WriteableDataSection 0xD3000004L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_DataSection 0xD3000005L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_RVAStaticsSection 0xD3000006L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_EEDataSection 0xD3000007L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_DelayLoadInfoTableEagerSection 0xD3000008L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_DelayLoadInfoTableSection 0xD3000009L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_EEReadonlyData 0xD300000AL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_ReadonlyData 0xD300000BL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_ClassSection 0xD300000CL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_CrossDomainInfoSection 0xD300000DL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_MethodDescSection 0xD300000EL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_MethodDescWriteableSection 0xD300000FL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_ExceptionSection 0xD3000010L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_InstrumentSection 0xD3000011L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_VirtualImportThunkSection 0xD3000012L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_ExternalMethodThunkSection 0xD3000013L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_HelperTableSection 0xD3000014L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_MethodPrecodeWriteableSection 0xD3000015L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_MethodPrecodeWriteSection 0xD3000016L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_MethodPrecodeSection 0xD3000017L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_Win32ResourcesSection 0xD3000018L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_HeaderSection 0xD3000019L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_MetadataSection 0xD300001AL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_DelayLoadInfoSection 0xD300001BL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_ImportTableSection 0xD300001CL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_CodeSection 0xD300001DL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_CodeHeaderSection 0xD300001EL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_CodeManagerSection 0xD300001FL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_UnwindDataSection 0xD3000020L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_RuntimeFunctionSection 0xD3000021L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_StubsSection 0xD3000022L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_StubDispatchDataSection 0xD3000023L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_ExternalMethodDataSection 0xD3000024L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_DelayLoadInfoDelayListSection 0xD3000025L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_ReadonlySharedSection 0xD3000026L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_ReadonlySection 0xD3000027L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_ILSection 0xD3000028L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_GCInfoSection 0xD3000029L
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_ILMetadataSection 0xD300002AL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_ResourcesSection 0xD300002BL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_CompressedMapsSection 0xD300002CL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_DebugSection 0xD300002DL
-#define MSG_PrivatePublisher_ModuleRangeSectionTypeMap_BaseRelocsSection 0xD300002EL
-#define MSG_PrivatePublisher_GCHandleKind_WeakShortMessage 0xD300002FL
-#define MSG_PrivatePublisher_GCHandleKind_WeakLongMessage 0xD3000030L
-#define MSG_PrivatePublisher_GCHandleKind_StrongMessage 0xD3000031L
-#define MSG_PrivatePublisher_GCHandleKind_PinnedMessage 0xD3000032L
-#define MSG_PrivatePublisher_GCHandleKind_VariableMessage 0xD3000033L
-#define MSG_PrivatePublisher_GCHandleKind_RefCountedMessage 0xD3000034L
-#define MSG_PrivatePublisher_GCHandleKind_DependentMessage 0xD3000035L
-#define MSG_PrivatePublisher_GCHandleKind_AsyncPinnedMessage 0xD3000036L
-#define MSG_PrivatePublisher_GCHandleKind_SizedRefMessage 0xD3000037L
-#define MSG_RuntimePublisher_ModuleRangeTypeMap_ColdRangeMessage 0xF0000001L
-#define MSG_RuntimePublisher_AppDomain_DefaultMapMessage 0xF0000002L
-#define MSG_RuntimePublisher_AppDomain_ExecutableMapMessage 0xF0000003L
-#define MSG_RuntimePublisher_AppDomain_SharedMapMessage 0xF0000004L
-#define MSG_RuntimePublisher_Assembly_DomainNeutralMapMessage 0xF0000005L
-#define MSG_RuntimePublisher_Assembly_DynamicMapMessage 0xF0000006L
-#define MSG_RuntimePublisher_Assembly_NativeMapMessage 0xF0000007L
-#define MSG_RuntimePublisher_Assembly_CollectibleMapMessage 0xF0000008L
-#define MSG_RuntimePublisher_Module_DomainNeutralMapMessage 0xF0000009L
-#define MSG_RuntimePublisher_Module_NativeMapMessage 0xF000000AL
-#define MSG_RuntimePublisher_Module_DynamicMapMessage 0xF000000BL
-#define MSG_RuntimePublisher_Module_ManifestMapMessage 0xF000000CL
-#define MSG_RuntimePublisher_Method_DynamicMapMessage 0xF000000DL
-#define MSG_RuntimePublisher_Method_GenericMapMessage 0xF000000EL
-#define MSG_RuntimePublisher_Method_HasSharedGenericCodeMapMessage 0xF000000FL
-#define MSG_RuntimePublisher_Method_JittedMapMessage 0xF0000010L
-#define MSG_RuntimePublisher_StartupMode_ManagedExeMapMessage 0xF0000011L
-#define MSG_RuntimePublisher_StartupMode_HostedCLRMapMessage 0xF0000012L
-#define MSG_RuntimePublisher_StartupMode_IjwDllMapMessage 0xF0000013L
-#define MSG_RuntimePublisher_StartupMode_ComActivatedMapMessage 0xF0000014L
-#define MSG_RuntimePublisher_StartupMode_OtherMapMessage 0xF0000015L
-#define MSG_RuntimePublisher_RuntimeSku_DesktopCLRMapMessage 0xF0000016L
-#define MSG_RuntimePublisher_RuntimeSku_CoreCLRMapMessage 0xF0000017L
-#define MSG_RuntimePublisher_ExceptionThrown_HasInnerExceptionMapMessage 0xF0000018L
-#define MSG_RuntimePublisher_ExceptionThrown_NestedMapMessage 0xF0000019L
-#define MSG_RuntimePublisher_ExceptionThrown_ReThrownMapMessage 0xF000001AL
-#define MSG_RuntimePublisher_ExceptionThrown_CorruptedStateMapMessage 0xF000001BL
-#define MSG_RuntimePublisher_ExceptionThrown_CLSCompliantMapMessage 0xF000001CL
-#define MSG_RuntimePublisher_ILStubGenerated_ReverseInteropMapMessage 0xF000001DL
-#define MSG_RuntimePublisher_ILStubGenerated_COMInteropMapMessage 0xF000001EL
-#define MSG_RuntimePublisher_ILStubGenerated_NGenedStubMapMessage 0xF000001FL
-#define MSG_RuntimePublisher_ILStubGenerated_DelegateMapMessage 0xF0000020L
-#define MSG_RuntimePublisher_ILStubGenerated_VarArgMapMessage 0xF0000021L
-#define MSG_RuntimePublisher_ILStubGenerated_UnmanagedCalleeMapMessage 0xF0000022L
-#define MSG_RuntimePublisher_Startup_CONCURRENT_GCMapMessage 0xF0000023L
-#define MSG_RuntimePublisher_Startup_LOADER_OPTIMIZATION_SINGLE_DOMAINMapMessage 0xF0000024L
-#define MSG_RuntimePublisher_Startup_LOADER_OPTIMIZATION_MULTI_DOMAINMapMessage 0xF0000025L
-#define MSG_RuntimePublisher_Startup_LOADER_SAFEMODEMapMessage 0xF0000026L
-#define MSG_RuntimePublisher_Startup_LOADER_SETPREFERENCEMapMessage 0xF0000027L
-#define MSG_RuntimePublisher_Startup_SERVER_GCMapMessage 0xF0000028L
-#define MSG_RuntimePublisher_Startup_HOARD_GC_VMMapMessage 0xF0000029L
-#define MSG_RuntimePublisher_Startup_SINGLE_VERSION_HOSTING_INTERFACEMapMessage 0xF000002AL
-#define MSG_RuntimePublisher_Startup_LEGACY_IMPERSONATIONMapMessage 0xF000002BL
-#define MSG_RuntimePublisher_Startup_DISABLE_COMMITTHREADSTACKMapMessage 0xF000002CL
-#define MSG_RuntimePublisher_Startup_ALWAYSFLOW_IMPERSONATIONMapMessage 0xF000002DL
-#define MSG_RuntimePublisher_Startup_TRIM_GC_COMMITMapMessage 0xF000002EL
-#define MSG_RuntimePublisher_Startup_ETWMapMessage 0xF000002FL
-#define MSG_RuntimePublisher_Startup_SERVER_BUILDMapMessage 0xF0000030L
-#define MSG_RuntimePublisher_Startup_ARMMapMessage 0xF0000031L
-#define MSG_RuntimePublisher_TypeFlags_Delegate 0xF0000032L
-#define MSG_RuntimePublisher_TypeFlags_Finalizable 0xF0000033L
-#define MSG_RuntimePublisher_TypeFlags_ExternallyImplementedCOMObject 0xF0000034L
-#define MSG_RuntimePublisher_TypeFlags_Array 0xF0000035L
-#define MSG_RuntimePublisher_GCRootFlags_Pinning 0xF0000036L
-#define MSG_RuntimePublisher_GCRootFlags_WeakRef 0xF0000037L
-#define MSG_RuntimePublisher_GCRootFlags_Interior 0xF0000038L
-#define MSG_RuntimePublisher_GCRootFlags_RefCounted 0xF0000039L
-#define MSG_RuntimePublisher_GCRootStaticVarFlags_ThreadLocal 0xF000003AL
-#define MSG_RuntimePublisher_GCRootCCWFlags_Strong 0xF000003BL
-#define MSG_RuntimePublisher_GCRootCCWFlags_Pegged 0xF000003CL
-#define MSG_RuntimePublisher_ThreadFlags_GCSpecial 0xF000003DL
-#define MSG_RuntimePublisher_ThreadFlags_Finalizer 0xF000003EL
-#define MSG_RuntimePublisher_ThreadFlags_ThreadPoolWorker 0xF000003FL
-#define MSG_RundownPublisher_ModuleRangeTypeMap_ColdRangeMessage 0xF1000001L
-#define MSG_RundownPublisher_AppDomain_DefaultMapMessage 0xF1000002L
-#define MSG_RundownPublisher_AppDomain_ExecutableMapMessage 0xF1000003L
-#define MSG_RundownPublisher_AppDomain_SharedMapMessage 0xF1000004L
-#define MSG_RundownPublisher_Assembly_DomainNeutralMapMessage 0xF1000005L
-#define MSG_RundownPublisher_Assembly_DynamicMapMessage 0xF1000006L
-#define MSG_RundownPublisher_Assembly_NativeMapMessage 0xF1000007L
-#define MSG_RundownPublisher_Assembly_CollectibleMapMessage 0xF1000008L
-#define MSG_RundownPublisher_Module_DomainNeutralMapMessage 0xF1000009L
-#define MSG_RundownPublisher_Module_NativeMapMessage 0xF100000AL
-#define MSG_RundownPublisher_Module_DynamicMapMessage 0xF100000BL
-#define MSG_RundownPublisher_Module_ManifestMapMessage 0xF100000CL
-#define MSG_RundownPublisher_Method_DynamicMapMessage 0xF100000DL
-#define MSG_RundownPublisher_Method_GenericMapMessage 0xF100000EL
-#define MSG_RundownPublisher_Method_HasSharedGenericCodeMapMessage 0xF100000FL
-#define MSG_RundownPublisher_Method_JittedMapMessage 0xF1000010L
-#define MSG_RundownPublisher_StartupMode_ManagedExeMapMessage 0xF1000011L
-#define MSG_RundownPublisher_StartupMode_HostedCLRMapMessage 0xF1000012L
-#define MSG_RundownPublisher_StartupMode_IjwDllMapMessage 0xF1000013L
-#define MSG_RundownPublisher_StartupMode_ComActivatedMapMessage 0xF1000014L
-#define MSG_RundownPublisher_StartupMode_OtherMapMessage 0xF1000015L
-#define MSG_RundownPublisher_RuntimeSku_DesktopCLRMapMessage 0xF1000016L
-#define MSG_RundownPublisher_RuntimeSku_CoreCLRMapMessage 0xF1000017L
-#define MSG_RundownPublisher_Startup_CONCURRENT_GCMapMessage 0xF1000018L
-#define MSG_RundownPublisher_Startup_LOADER_OPTIMIZATION_SINGLE_DOMAINMapMessage 0xF1000019L
-#define MSG_RundownPublisher_Startup_LOADER_OPTIMIZATION_MULTI_DOMAINMapMessage 0xF100001AL
-#define MSG_RundownPublisher_Startup_LOADER_SAFEMODEMapMessage 0xF100001BL
-#define MSG_RundownPublisher_Startup_LOADER_SETPREFERENCEMapMessage 0xF100001CL
-#define MSG_RundownPublisher_Startup_SERVER_GCMapMessage 0xF100001DL
-#define MSG_RundownPublisher_Startup_HOARD_GC_VMMapMessage 0xF100001EL
-#define MSG_RundownPublisher_Startup_SINGLE_VERSION_HOSTING_INTERFACEMapMessage 0xF100001FL
-#define MSG_RundownPublisher_Startup_LEGACY_IMPERSONATIONMapMessage 0xF1000020L
-#define MSG_RundownPublisher_Startup_DISABLE_COMMITTHREADSTACKMapMessage 0xF1000021L
-#define MSG_RundownPublisher_Startup_ALWAYSFLOW_IMPERSONATIONMapMessage 0xF1000022L
-#define MSG_RundownPublisher_Startup_TRIM_GC_COMMITMapMessage 0xF1000023L
-#define MSG_RundownPublisher_Startup_ETWMapMessage 0xF1000024L
-#define MSG_RundownPublisher_Startup_SERVER_BUILDMapMessage 0xF1000025L
-#define MSG_RundownPublisher_Startup_ARMMapMessage 0xF1000026L
-#define MSG_RundownPublisher_ThreadFlags_GCSpecial 0xF1000027L
-#define MSG_RundownPublisher_ThreadFlags_Finalizer 0xF1000028L
-#define MSG_RundownPublisher_ThreadFlags_ThreadPoolWorker 0xF1000029L
-#define MSG_PrivatePublisher_ModuleRangeIBCTypeMap_IBCUnprofiledSectionMessage 0xF3000001L
-#define MSG_PrivatePublisher_ModuleRangeIBCTypeMap_IBCProfiledSectionMessage 0xF3000002L
-#define MSG_PrivatePublisher_ModuleRangeTypeMap_HotRangeMessage 0xF3000003L
-#define MSG_PrivatePublisher_ModuleRangeTypeMap_WarmRangeMessage 0xF3000004L
-#define MSG_PrivatePublisher_ModuleRangeTypeMap_ColdRangeMessage 0xF3000005L
-#define MSG_PrivatePublisher_ModuleRangeTypeMap_HotColdRangeMessage 0xF3000006L
diff --git a/src/pal/prebuilt/inc/clretwallmain.h b/src/pal/prebuilt/inc/clretwallmain.h
deleted file mode 100644
index 7f9ff40806..0000000000
--- a/src/pal/prebuilt/inc/clretwallmain.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-#include "clretwall.h"
-
-#define NO_OF_ETW_PROVIDERS 4
-#define MAX_BYTES_PER_ETW_PROVIDER 64
-EXTERN_C __declspec(selectany) const BYTE etwStackSupportedEvents[NO_OF_ETW_PROVIDERS][MAX_BYTES_PER_ETW_PROVIDER] =
-{
- {0, 4, 16, 192, 9, 255, 3, 241, 195, 0, 251, 3, 0, 0, 0, 0, 128, 31, 226, 63, 0, 0, 64, 65, 0, 43, 0, 0, 0, 0, 15, 252, 17, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-};
diff --git a/src/pal/prebuilt/inc/clrxplatevents.h b/src/pal/prebuilt/inc/clrxplatevents.h
deleted file mode 100644
index 2e37485e49..0000000000
--- a/src/pal/prebuilt/inc/clrxplatevents.h
+++ /dev/null
@@ -1,2635 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatEtw.pl
-
-******************************************************************/
-
-extern "C" BOOL EventXplatEnabledGCStart();
-extern "C" ULONG FireEtXplatGCStart(
- const unsigned int Count,
- const unsigned int Reason
-);
-extern "C" BOOL EventXplatEnabledGCStart_V1();
-extern "C" ULONG FireEtXplatGCStart_V1(
- const unsigned int Count,
- const unsigned int Depth,
- const unsigned int Reason,
- const unsigned int Type,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCStart_V2();
-extern "C" ULONG FireEtXplatGCStart_V2(
- const unsigned int Count,
- const unsigned int Depth,
- const unsigned int Reason,
- const unsigned int Type,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ClientSequenceNumber
-);
-extern "C" BOOL EventXplatEnabledGCEnd();
-extern "C" ULONG FireEtXplatGCEnd(
- const unsigned int Count,
- const unsigned short Depth
-);
-extern "C" BOOL EventXplatEnabledGCEnd_V1();
-extern "C" ULONG FireEtXplatGCEnd_V1(
- const unsigned int Count,
- const unsigned int Depth,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCRestartEEEnd();
-extern "C" ULONG FireEtXplatGCRestartEEEnd(
-);
-extern "C" BOOL EventXplatEnabledGCRestartEEEnd_V1();
-extern "C" ULONG FireEtXplatGCRestartEEEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCHeapStats();
-extern "C" ULONG FireEtXplatGCHeapStats(
- const unsigned __int64 GenerationSize0,
- const unsigned __int64 TotalPromotedSize0,
- const unsigned __int64 GenerationSize1,
- const unsigned __int64 TotalPromotedSize1,
- const unsigned __int64 GenerationSize2,
- const unsigned __int64 TotalPromotedSize2,
- const unsigned __int64 GenerationSize3,
- const unsigned __int64 TotalPromotedSize3,
- const unsigned __int64 FinalizationPromotedSize,
- const unsigned __int64 FinalizationPromotedCount,
- const unsigned int PinnedObjectCount,
- const unsigned int SinkBlockCount,
- const unsigned int GCHandleCount
-);
-extern "C" BOOL EventXplatEnabledGCHeapStats_V1();
-extern "C" ULONG FireEtXplatGCHeapStats_V1(
- const unsigned __int64 GenerationSize0,
- const unsigned __int64 TotalPromotedSize0,
- const unsigned __int64 GenerationSize1,
- const unsigned __int64 TotalPromotedSize1,
- const unsigned __int64 GenerationSize2,
- const unsigned __int64 TotalPromotedSize2,
- const unsigned __int64 GenerationSize3,
- const unsigned __int64 TotalPromotedSize3,
- const unsigned __int64 FinalizationPromotedSize,
- const unsigned __int64 FinalizationPromotedCount,
- const unsigned int PinnedObjectCount,
- const unsigned int SinkBlockCount,
- const unsigned int GCHandleCount,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCCreateSegment();
-extern "C" ULONG FireEtXplatGCCreateSegment(
- const unsigned __int64 Address,
- const unsigned __int64 Size,
- const unsigned int Type
-);
-extern "C" BOOL EventXplatEnabledGCCreateSegment_V1();
-extern "C" ULONG FireEtXplatGCCreateSegment_V1(
- const unsigned __int64 Address,
- const unsigned __int64 Size,
- const unsigned int Type,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCFreeSegment();
-extern "C" ULONG FireEtXplatGCFreeSegment(
- const unsigned __int64 Address
-);
-extern "C" BOOL EventXplatEnabledGCFreeSegment_V1();
-extern "C" ULONG FireEtXplatGCFreeSegment_V1(
- const unsigned __int64 Address,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCRestartEEBegin();
-extern "C" ULONG FireEtXplatGCRestartEEBegin(
-);
-extern "C" BOOL EventXplatEnabledGCRestartEEBegin_V1();
-extern "C" ULONG FireEtXplatGCRestartEEBegin_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCSuspendEEEnd();
-extern "C" ULONG FireEtXplatGCSuspendEEEnd(
-);
-extern "C" BOOL EventXplatEnabledGCSuspendEEEnd_V1();
-extern "C" ULONG FireEtXplatGCSuspendEEEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCSuspendEEBegin();
-extern "C" ULONG FireEtXplatGCSuspendEEBegin(
- const unsigned short Reason
-);
-extern "C" BOOL EventXplatEnabledGCSuspendEEBegin_V1();
-extern "C" ULONG FireEtXplatGCSuspendEEBegin_V1(
- const unsigned int Reason,
- const unsigned int Count,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCAllocationTick();
-extern "C" ULONG FireEtXplatGCAllocationTick(
- const unsigned int AllocationAmount,
- const unsigned int AllocationKind
-);
-extern "C" BOOL EventXplatEnabledGCAllocationTick_V1();
-extern "C" ULONG FireEtXplatGCAllocationTick_V1(
- const unsigned int AllocationAmount,
- const unsigned int AllocationKind,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCAllocationTick_V2();
-extern "C" ULONG FireEtXplatGCAllocationTick_V2(
- const unsigned int AllocationAmount,
- const unsigned int AllocationKind,
- const unsigned short ClrInstanceID,
- const unsigned __int64 AllocationAmount64,
- const void* TypeID,
- PCWSTR TypeName,
- const unsigned int HeapIndex
-);
-extern "C" BOOL EventXplatEnabledGCAllocationTick_V3();
-extern "C" ULONG FireEtXplatGCAllocationTick_V3(
- const unsigned int AllocationAmount,
- const unsigned int AllocationKind,
- const unsigned short ClrInstanceID,
- const unsigned __int64 AllocationAmount64,
- const void* TypeID,
- PCWSTR TypeName,
- const unsigned int HeapIndex,
- const void* Address
-);
-extern "C" BOOL EventXplatEnabledGCCreateConcurrentThread();
-extern "C" ULONG FireEtXplatGCCreateConcurrentThread(
-);
-extern "C" BOOL EventXplatEnabledGCCreateConcurrentThread_V1();
-extern "C" ULONG FireEtXplatGCCreateConcurrentThread_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCTerminateConcurrentThread();
-extern "C" ULONG FireEtXplatGCTerminateConcurrentThread(
-);
-extern "C" BOOL EventXplatEnabledGCTerminateConcurrentThread_V1();
-extern "C" ULONG FireEtXplatGCTerminateConcurrentThread_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCFinalizersEnd();
-extern "C" ULONG FireEtXplatGCFinalizersEnd(
- const unsigned int Count
-);
-extern "C" BOOL EventXplatEnabledGCFinalizersEnd_V1();
-extern "C" ULONG FireEtXplatGCFinalizersEnd_V1(
- const unsigned int Count,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCFinalizersBegin();
-extern "C" ULONG FireEtXplatGCFinalizersBegin(
-);
-extern "C" BOOL EventXplatEnabledGCFinalizersBegin_V1();
-extern "C" ULONG FireEtXplatGCFinalizersBegin_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBulkType();
-extern "C" ULONG FireEtXplatBulkType(
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg2_Struct_Len_,
- const void* Arg2_Struct_Pointer_
-);
-extern "C" BOOL EventXplatEnabledGCBulkRootEdge();
-extern "C" ULONG FireEtXplatGCBulkRootEdge(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-);
-extern "C" BOOL EventXplatEnabledGCBulkRootConditionalWeakTableElementEdge();
-extern "C" ULONG FireEtXplatGCBulkRootConditionalWeakTableElementEdge(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-);
-extern "C" BOOL EventXplatEnabledGCBulkNode();
-extern "C" ULONG FireEtXplatGCBulkNode(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-);
-extern "C" BOOL EventXplatEnabledGCBulkEdge();
-extern "C" ULONG FireEtXplatGCBulkEdge(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-);
-extern "C" BOOL EventXplatEnabledGCSampledObjectAllocationHigh();
-extern "C" ULONG FireEtXplatGCSampledObjectAllocationHigh(
- const void* Address,
- const void* TypeID,
- const unsigned int ObjectCountForTypeSample,
- const unsigned __int64 TotalSizeForTypeSample,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCBulkSurvivingObjectRanges();
-extern "C" ULONG FireEtXplatGCBulkSurvivingObjectRanges(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-);
-extern "C" BOOL EventXplatEnabledGCBulkMovedObjectRanges();
-extern "C" ULONG FireEtXplatGCBulkMovedObjectRanges(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-);
-extern "C" BOOL EventXplatEnabledGCGenerationRange();
-extern "C" ULONG FireEtXplatGCGenerationRange(
- const unsigned char Generation,
- const void* RangeStart,
- const unsigned __int64 RangeUsedLength,
- const unsigned __int64 RangeReservedLength,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCMarkStackRoots();
-extern "C" ULONG FireEtXplatGCMarkStackRoots(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCMarkFinalizeQueueRoots();
-extern "C" ULONG FireEtXplatGCMarkFinalizeQueueRoots(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCMarkHandles();
-extern "C" ULONG FireEtXplatGCMarkHandles(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCMarkOlderGenerationRoots();
-extern "C" ULONG FireEtXplatGCMarkOlderGenerationRoots(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledFinalizeObject();
-extern "C" ULONG FireEtXplatFinalizeObject(
- const void* TypeID,
- const void* ObjectID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledSetGCHandle();
-extern "C" ULONG FireEtXplatSetGCHandle(
- const void* HandleID,
- const void* ObjectID,
- const unsigned int Kind,
- const unsigned int Generation,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledDestroyGCHandle();
-extern "C" ULONG FireEtXplatDestroyGCHandle(
- const void* HandleID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCSampledObjectAllocationLow();
-extern "C" ULONG FireEtXplatGCSampledObjectAllocationLow(
- const void* Address,
- const void* TypeID,
- const unsigned int ObjectCountForTypeSample,
- const unsigned __int64 TotalSizeForTypeSample,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledPinObjectAtGCTime();
-extern "C" ULONG FireEtXplatPinObjectAtGCTime(
- const void* HandleID,
- const void* ObjectID,
- const unsigned __int64 ObjectSize,
- PCWSTR TypeName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCTriggered();
-extern "C" ULONG FireEtXplatGCTriggered(
- const unsigned int Reason,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCBulkRootCCW();
-extern "C" ULONG FireEtXplatGCBulkRootCCW(
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg2_Struct_Len_,
- const void* Arg2_Struct_Pointer_
-);
-extern "C" BOOL EventXplatEnabledGCBulkRCW();
-extern "C" ULONG FireEtXplatGCBulkRCW(
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg2_Struct_Len_,
- const void* Arg2_Struct_Pointer_
-);
-extern "C" BOOL EventXplatEnabledGCBulkRootStaticVar();
-extern "C" ULONG FireEtXplatGCBulkRootStaticVar(
- const unsigned int Count,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-);
-extern "C" BOOL EventXplatEnabledWorkerThreadCreate();
-extern "C" ULONG FireEtXplatWorkerThreadCreate(
- const unsigned int WorkerThreadCount,
- const unsigned int RetiredWorkerThreads
-);
-extern "C" BOOL EventXplatEnabledWorkerThreadTerminate();
-extern "C" ULONG FireEtXplatWorkerThreadTerminate(
- const unsigned int WorkerThreadCount,
- const unsigned int RetiredWorkerThreads
-);
-extern "C" BOOL EventXplatEnabledWorkerThreadRetire();
-extern "C" ULONG FireEtXplatWorkerThreadRetire(
- const unsigned int WorkerThreadCount,
- const unsigned int RetiredWorkerThreads
-);
-extern "C" BOOL EventXplatEnabledWorkerThreadUnretire();
-extern "C" ULONG FireEtXplatWorkerThreadUnretire(
- const unsigned int WorkerThreadCount,
- const unsigned int RetiredWorkerThreads
-);
-extern "C" BOOL EventXplatEnabledIOThreadCreate();
-extern "C" ULONG FireEtXplatIOThreadCreate(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads
-);
-extern "C" BOOL EventXplatEnabledIOThreadCreate_V1();
-extern "C" ULONG FireEtXplatIOThreadCreate_V1(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledIOThreadTerminate();
-extern "C" ULONG FireEtXplatIOThreadTerminate(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads
-);
-extern "C" BOOL EventXplatEnabledIOThreadTerminate_V1();
-extern "C" ULONG FireEtXplatIOThreadTerminate_V1(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledIOThreadRetire();
-extern "C" ULONG FireEtXplatIOThreadRetire(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads
-);
-extern "C" BOOL EventXplatEnabledIOThreadRetire_V1();
-extern "C" ULONG FireEtXplatIOThreadRetire_V1(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledIOThreadUnretire();
-extern "C" ULONG FireEtXplatIOThreadUnretire(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads
-);
-extern "C" BOOL EventXplatEnabledIOThreadUnretire_V1();
-extern "C" ULONG FireEtXplatIOThreadUnretire_V1(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadpoolSuspensionSuspendThread();
-extern "C" ULONG FireEtXplatThreadpoolSuspensionSuspendThread(
- const unsigned int ClrThreadID,
- const unsigned int CpuUtilization
-);
-extern "C" BOOL EventXplatEnabledThreadpoolSuspensionResumeThread();
-extern "C" ULONG FireEtXplatThreadpoolSuspensionResumeThread(
- const unsigned int ClrThreadID,
- const unsigned int CpuUtilization
-);
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadStart();
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadStart(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadStop();
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadStop(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadRetirementStart();
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadRetirementStart(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadRetirementStop();
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadRetirementStop(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadAdjustmentSample();
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadAdjustmentSample(
- const double Throughput,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadAdjustmentAdjustment();
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadAdjustmentAdjustment(
- const double AverageThroughput,
- const unsigned int NewWorkerThreadCount,
- const unsigned int Reason,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadAdjustmentStats();
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadAdjustmentStats(
- const double Duration,
- const double Throughput,
- const double ThreadWave,
- const double ThroughputWave,
- const double ThroughputErrorEstimate,
- const double AverageThroughputErrorEstimate,
- const double ThroughputRatio,
- const double Confidence,
- const double NewControlSetting,
- const unsigned short NewThreadWaveMagnitude,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadWait();
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadWait(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolWorkingThreadCount();
-extern "C" ULONG FireEtXplatThreadPoolWorkingThreadCount(
- const unsigned int Count,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolEnqueue();
-extern "C" ULONG FireEtXplatThreadPoolEnqueue(
- const void* WorkID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolDequeue();
-extern "C" ULONG FireEtXplatThreadPoolDequeue(
- const void* WorkID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolIOEnqueue();
-extern "C" ULONG FireEtXplatThreadPoolIOEnqueue(
- const void* NativeOverlapped,
- const void* Overlapped,
- const BOOL MultiDequeues,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolIODequeue();
-extern "C" ULONG FireEtXplatThreadPoolIODequeue(
- const void* NativeOverlapped,
- const void* Overlapped,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadPoolIOPack();
-extern "C" ULONG FireEtXplatThreadPoolIOPack(
- const void* NativeOverlapped,
- const void* Overlapped,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadCreating();
-extern "C" ULONG FireEtXplatThreadCreating(
- const void* ID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadRunning();
-extern "C" ULONG FireEtXplatThreadRunning(
- const void* ID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledExceptionThrown();
-extern "C" ULONG FireEtXplatExceptionThrown(
-);
-extern "C" BOOL EventXplatEnabledExceptionThrown_V1();
-extern "C" ULONG FireEtXplatExceptionThrown_V1(
- PCWSTR ExceptionType,
- PCWSTR ExceptionMessage,
- const void* ExceptionEIP,
- const unsigned int ExceptionHRESULT,
- const unsigned short ExceptionFlags,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledExceptionCatchStart();
-extern "C" ULONG FireEtXplatExceptionCatchStart(
- const unsigned __int64 EntryEIP,
- const unsigned __int64 MethodID,
- PCWSTR MethodName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledExceptionCatchStop();
-extern "C" ULONG FireEtXplatExceptionCatchStop(
-);
-extern "C" BOOL EventXplatEnabledExceptionFinallyStart();
-extern "C" ULONG FireEtXplatExceptionFinallyStart(
- const unsigned __int64 EntryEIP,
- const unsigned __int64 MethodID,
- PCWSTR MethodName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledExceptionFinallyStop();
-extern "C" ULONG FireEtXplatExceptionFinallyStop(
-);
-extern "C" BOOL EventXplatEnabledExceptionFilterStart();
-extern "C" ULONG FireEtXplatExceptionFilterStart(
- const unsigned __int64 EntryEIP,
- const unsigned __int64 MethodID,
- PCWSTR MethodName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledExceptionFilterStop();
-extern "C" ULONG FireEtXplatExceptionFilterStop(
-);
-extern "C" BOOL EventXplatEnabledExceptionThrownStop();
-extern "C" ULONG FireEtXplatExceptionThrownStop(
-);
-extern "C" BOOL EventXplatEnabledContention();
-extern "C" ULONG FireEtXplatContention(
-);
-extern "C" BOOL EventXplatEnabledContentionStart_V1();
-extern "C" ULONG FireEtXplatContentionStart_V1(
- const unsigned char ContentionFlags,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledContentionStop();
-extern "C" ULONG FireEtXplatContentionStop(
- const unsigned char ContentionFlags,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledCLRStackWalk();
-extern "C" ULONG FireEtXplatCLRStackWalk(
- const unsigned short ClrInstanceID,
- const unsigned char Reserved1,
- const unsigned char Reserved2,
- const unsigned int FrameCount,
- const void** Stack
-);
-extern "C" BOOL EventXplatEnabledAppDomainMemAllocated();
-extern "C" ULONG FireEtXplatAppDomainMemAllocated(
- const unsigned __int64 AppDomainID,
- const unsigned __int64 Allocated,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledAppDomainMemSurvived();
-extern "C" ULONG FireEtXplatAppDomainMemSurvived(
- const unsigned __int64 AppDomainID,
- const unsigned __int64 Survived,
- const unsigned __int64 ProcessSurvived,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadCreated();
-extern "C" ULONG FireEtXplatThreadCreated(
- const unsigned __int64 ManagedThreadID,
- const unsigned __int64 AppDomainID,
- const unsigned int Flags,
- const unsigned int ManagedThreadIndex,
- const unsigned int OSThreadID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadTerminated();
-extern "C" ULONG FireEtXplatThreadTerminated(
- const unsigned __int64 ManagedThreadID,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadDomainEnter();
-extern "C" ULONG FireEtXplatThreadDomainEnter(
- const unsigned __int64 ManagedThreadID,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledILStubGenerated();
-extern "C" ULONG FireEtXplatILStubGenerated(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 StubMethodID,
- const unsigned int StubFlags,
- const unsigned int ManagedInteropMethodToken,
- PCWSTR ManagedInteropMethodNamespace,
- PCWSTR ManagedInteropMethodName,
- PCWSTR ManagedInteropMethodSignature,
- PCWSTR NativeMethodSignature,
- PCWSTR StubMethodSignature,
- PCWSTR StubMethodILCode
-);
-extern "C" BOOL EventXplatEnabledILStubCacheHit();
-extern "C" ULONG FireEtXplatILStubCacheHit(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 StubMethodID,
- const unsigned int ManagedInteropMethodToken,
- PCWSTR ManagedInteropMethodNamespace,
- PCWSTR ManagedInteropMethodName,
- PCWSTR ManagedInteropMethodSignature
-);
-extern "C" BOOL EventXplatEnabledDCStartCompleteV2();
-extern "C" ULONG FireEtXplatDCStartCompleteV2(
-);
-extern "C" BOOL EventXplatEnabledDCEndCompleteV2();
-extern "C" ULONG FireEtXplatDCEndCompleteV2(
-);
-extern "C" BOOL EventXplatEnabledMethodDCStartV2();
-extern "C" ULONG FireEtXplatMethodDCStartV2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-);
-extern "C" BOOL EventXplatEnabledMethodDCEndV2();
-extern "C" ULONG FireEtXplatMethodDCEndV2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-);
-extern "C" BOOL EventXplatEnabledMethodDCStartVerboseV2();
-extern "C" ULONG FireEtXplatMethodDCStartVerboseV2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-);
-extern "C" BOOL EventXplatEnabledMethodDCEndVerboseV2();
-extern "C" ULONG FireEtXplatMethodDCEndVerboseV2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-);
-extern "C" BOOL EventXplatEnabledMethodLoad();
-extern "C" ULONG FireEtXplatMethodLoad(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-);
-extern "C" BOOL EventXplatEnabledMethodLoad_V1();
-extern "C" ULONG FireEtXplatMethodLoad_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodLoad_V2();
-extern "C" ULONG FireEtXplatMethodLoad_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-);
-extern "C" BOOL EventXplatEnabledMethodUnload();
-extern "C" ULONG FireEtXplatMethodUnload(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-);
-extern "C" BOOL EventXplatEnabledMethodUnload_V1();
-extern "C" ULONG FireEtXplatMethodUnload_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodUnload_V2();
-extern "C" ULONG FireEtXplatMethodUnload_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-);
-extern "C" BOOL EventXplatEnabledMethodLoadVerbose();
-extern "C" ULONG FireEtXplatMethodLoadVerbose(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-);
-extern "C" BOOL EventXplatEnabledMethodLoadVerbose_V1();
-extern "C" ULONG FireEtXplatMethodLoadVerbose_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodLoadVerbose_V2();
-extern "C" ULONG FireEtXplatMethodLoadVerbose_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-);
-extern "C" BOOL EventXplatEnabledMethodUnloadVerbose();
-extern "C" ULONG FireEtXplatMethodUnloadVerbose(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-);
-extern "C" BOOL EventXplatEnabledMethodUnloadVerbose_V1();
-extern "C" ULONG FireEtXplatMethodUnloadVerbose_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodUnloadVerbose_V2();
-extern "C" ULONG FireEtXplatMethodUnloadVerbose_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-);
-extern "C" BOOL EventXplatEnabledMethodJittingStarted();
-extern "C" ULONG FireEtXplatMethodJittingStarted(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned int MethodToken,
- const unsigned int MethodILSize,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-);
-extern "C" BOOL EventXplatEnabledMethodJittingStarted_V1();
-extern "C" ULONG FireEtXplatMethodJittingStarted_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned int MethodToken,
- const unsigned int MethodILSize,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodJitInliningSucceeded();
-extern "C" ULONG FireEtXplatMethodJitInliningSucceeded(
- PCWSTR MethodBeingCompiledNamespace,
- PCWSTR MethodBeingCompiledName,
- PCWSTR MethodBeingCompiledNameSignature,
- PCWSTR InlinerNamespace,
- PCWSTR InlinerName,
- PCWSTR InlinerNameSignature,
- PCWSTR InlineeNamespace,
- PCWSTR InlineeName,
- PCWSTR InlineeNameSignature,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodJitInliningFailed();
-extern "C" ULONG FireEtXplatMethodJitInliningFailed(
- PCWSTR MethodBeingCompiledNamespace,
- PCWSTR MethodBeingCompiledName,
- PCWSTR MethodBeingCompiledNameSignature,
- PCWSTR InlinerNamespace,
- PCWSTR InlinerName,
- PCWSTR InlinerNameSignature,
- PCWSTR InlineeNamespace,
- PCWSTR InlineeName,
- PCWSTR InlineeNameSignature,
- const BOOL FailAlways,
- LPCSTR FailReason,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodJitTailCallSucceeded();
-extern "C" ULONG FireEtXplatMethodJitTailCallSucceeded(
- PCWSTR MethodBeingCompiledNamespace,
- PCWSTR MethodBeingCompiledName,
- PCWSTR MethodBeingCompiledNameSignature,
- PCWSTR CallerNamespace,
- PCWSTR CallerName,
- PCWSTR CallerNameSignature,
- PCWSTR CalleeNamespace,
- PCWSTR CalleeName,
- PCWSTR CalleeNameSignature,
- const BOOL TailPrefix,
- const unsigned int TailCallType,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodJitTailCallFailed();
-extern "C" ULONG FireEtXplatMethodJitTailCallFailed(
- PCWSTR MethodBeingCompiledNamespace,
- PCWSTR MethodBeingCompiledName,
- PCWSTR MethodBeingCompiledNameSignature,
- PCWSTR CallerNamespace,
- PCWSTR CallerName,
- PCWSTR CallerNameSignature,
- PCWSTR CalleeNamespace,
- PCWSTR CalleeName,
- PCWSTR CalleeNameSignature,
- const BOOL TailPrefix,
- LPCSTR FailReason,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodILToNativeMap();
-extern "C" ULONG FireEtXplatMethodILToNativeMap(
- const unsigned __int64 MethodID,
- const unsigned __int64 ReJITID,
- const unsigned char MethodExtent,
- const unsigned short CountOfMapEntries,
- const unsigned int* ILOffsets,
- const unsigned int* NativeOffsets,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledModuleDCStartV2();
-extern "C" ULONG FireEtXplatModuleDCStartV2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-);
-extern "C" BOOL EventXplatEnabledModuleDCEndV2();
-extern "C" ULONG FireEtXplatModuleDCEndV2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-);
-extern "C" BOOL EventXplatEnabledDomainModuleLoad();
-extern "C" ULONG FireEtXplatDomainModuleLoad(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-);
-extern "C" BOOL EventXplatEnabledDomainModuleLoad_V1();
-extern "C" ULONG FireEtXplatDomainModuleLoad_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledModuleLoad();
-extern "C" ULONG FireEtXplatModuleLoad(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-);
-extern "C" BOOL EventXplatEnabledModuleLoad_V1();
-extern "C" ULONG FireEtXplatModuleLoad_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledModuleLoad_V2();
-extern "C" ULONG FireEtXplatModuleLoad_V2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID,
- const GUID* ManagedPdbSignature,
- const unsigned int ManagedPdbAge,
- PCWSTR ManagedPdbBuildPath,
- const GUID* NativePdbSignature,
- const unsigned int NativePdbAge,
- PCWSTR NativePdbBuildPath
-);
-extern "C" BOOL EventXplatEnabledModuleUnload();
-extern "C" ULONG FireEtXplatModuleUnload(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-);
-extern "C" BOOL EventXplatEnabledModuleUnload_V1();
-extern "C" ULONG FireEtXplatModuleUnload_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledModuleUnload_V2();
-extern "C" ULONG FireEtXplatModuleUnload_V2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID,
- const GUID* ManagedPdbSignature,
- const unsigned int ManagedPdbAge,
- PCWSTR ManagedPdbBuildPath,
- const GUID* NativePdbSignature,
- const unsigned int NativePdbAge,
- PCWSTR NativePdbBuildPath
-);
-extern "C" BOOL EventXplatEnabledAssemblyLoad();
-extern "C" ULONG FireEtXplatAssemblyLoad(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName
-);
-extern "C" BOOL EventXplatEnabledAssemblyLoad_V1();
-extern "C" ULONG FireEtXplatAssemblyLoad_V1(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned __int64 BindingID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledAssemblyUnload();
-extern "C" ULONG FireEtXplatAssemblyUnload(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName
-);
-extern "C" BOOL EventXplatEnabledAssemblyUnload_V1();
-extern "C" ULONG FireEtXplatAssemblyUnload_V1(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned __int64 BindingID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledAppDomainLoad();
-extern "C" ULONG FireEtXplatAppDomainLoad(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName
-);
-extern "C" BOOL EventXplatEnabledAppDomainLoad_V1();
-extern "C" ULONG FireEtXplatAppDomainLoad_V1(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName,
- const unsigned int AppDomainIndex,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledAppDomainUnload();
-extern "C" ULONG FireEtXplatAppDomainUnload(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName
-);
-extern "C" BOOL EventXplatEnabledAppDomainUnload_V1();
-extern "C" ULONG FireEtXplatAppDomainUnload_V1(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName,
- const unsigned int AppDomainIndex,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledModuleRangeLoad();
-extern "C" ULONG FireEtXplatModuleRangeLoad(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned int RangeBegin,
- const unsigned int RangeSize,
- const unsigned char RangeType
-);
-extern "C" BOOL EventXplatEnabledStrongNameVerificationStart();
-extern "C" ULONG FireEtXplatStrongNameVerificationStart(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR FullyQualifiedAssemblyName
-);
-extern "C" BOOL EventXplatEnabledStrongNameVerificationStart_V1();
-extern "C" ULONG FireEtXplatStrongNameVerificationStart_V1(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledStrongNameVerificationStop();
-extern "C" ULONG FireEtXplatStrongNameVerificationStop(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR FullyQualifiedAssemblyName
-);
-extern "C" BOOL EventXplatEnabledStrongNameVerificationStop_V1();
-extern "C" ULONG FireEtXplatStrongNameVerificationStop_V1(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledAuthenticodeVerificationStart();
-extern "C" ULONG FireEtXplatAuthenticodeVerificationStart(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR ModulePath
-);
-extern "C" BOOL EventXplatEnabledAuthenticodeVerificationStart_V1();
-extern "C" ULONG FireEtXplatAuthenticodeVerificationStart_V1(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR ModulePath,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledAuthenticodeVerificationStop();
-extern "C" ULONG FireEtXplatAuthenticodeVerificationStop(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR ModulePath
-);
-extern "C" BOOL EventXplatEnabledAuthenticodeVerificationStop_V1();
-extern "C" ULONG FireEtXplatAuthenticodeVerificationStop_V1(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR ModulePath,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledRuntimeInformationStart();
-extern "C" ULONG FireEtXplatRuntimeInformationStart(
- const unsigned short ClrInstanceID,
- const unsigned short Sku,
- const unsigned short BclMajorVersion,
- const unsigned short BclMinorVersion,
- const unsigned short BclBuildNumber,
- const unsigned short BclQfeNumber,
- const unsigned short VMMajorVersion,
- const unsigned short VMMinorVersion,
- const unsigned short VMBuildNumber,
- const unsigned short VMQfeNumber,
- const unsigned int StartupFlags,
- const unsigned char StartupMode,
- PCWSTR CommandLine,
- const GUID* ComObjectGuid,
- PCWSTR RuntimeDllPath
-);
-extern "C" BOOL EventXplatEnabledIncreaseMemoryPressure();
-extern "C" ULONG FireEtXplatIncreaseMemoryPressure(
- const unsigned __int64 BytesAllocated,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledDecreaseMemoryPressure();
-extern "C" ULONG FireEtXplatDecreaseMemoryPressure(
- const unsigned __int64 BytesFreed,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCMarkWithType();
-extern "C" ULONG FireEtXplatGCMarkWithType(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID,
- const unsigned int Type,
- const unsigned __int64 Bytes
-);
-extern "C" BOOL EventXplatEnabledGCJoin_V2();
-extern "C" ULONG FireEtXplatGCJoin_V2(
- const unsigned int Heap,
- const unsigned int JoinTime,
- const unsigned int JoinType,
- const unsigned short ClrInstanceID,
- const unsigned int JoinID
-);
-extern "C" BOOL EventXplatEnabledGCPerHeapHistory_V3();
-extern "C" ULONG FireEtXplatGCPerHeapHistory_V3(
- const unsigned short ClrInstanceID,
- const void* FreeListAllocated,
- const void* FreeListRejected,
- const void* EndOfSegAllocated,
- const void* CondemnedAllocated,
- const void* PinnedAllocated,
- const void* PinnedAllocatedAdvance,
- const unsigned int RunningFreeListEfficiency,
- const unsigned int CondemnReasons0,
- const unsigned int CondemnReasons1,
- const unsigned int CompactMechanisms,
- const unsigned int ExpandMechanisms,
- const unsigned int HeapIndex,
- const void* ExtraGen0Commit,
- const unsigned int Count,
- const ULONG Arg15_Struct_Len_,
- const void* Arg15_Struct_Pointer_
-);
-extern "C" BOOL EventXplatEnabledGCGlobalHeapHistory_V2();
-extern "C" ULONG FireEtXplatGCGlobalHeapHistory_V2(
- const unsigned __int64 FinalYoungestDesired,
- const signed int NumHeaps,
- const unsigned int CondemnedGeneration,
- const unsigned int Gen0ReductionCount,
- const unsigned int Reason,
- const unsigned int GlobalMechanisms,
- const unsigned short ClrInstanceID,
- const unsigned int PauseMode,
- const unsigned int MemoryPressure
-);
-extern "C" BOOL EventXplatEnabledDebugIPCEventStart();
-extern "C" ULONG FireEtXplatDebugIPCEventStart(
-);
-extern "C" BOOL EventXplatEnabledDebugIPCEventEnd();
-extern "C" ULONG FireEtXplatDebugIPCEventEnd(
-);
-extern "C" BOOL EventXplatEnabledDebugExceptionProcessingStart();
-extern "C" ULONG FireEtXplatDebugExceptionProcessingStart(
-);
-extern "C" BOOL EventXplatEnabledDebugExceptionProcessingEnd();
-extern "C" ULONG FireEtXplatDebugExceptionProcessingEnd(
-);
-extern "C" BOOL EventXplatEnabledCodeSymbols();
-extern "C" ULONG FireEtXplatCodeSymbols(
- const unsigned __int64 ModuleId,
- const unsigned short TotalChunks,
- const unsigned short ChunkNumber,
- const unsigned int ChunkLength,
- const BYTE* Chunk,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledEventSource();
-extern "C" ULONG FireEtXplatEventSource(
- const signed int EventID,
- PCWSTR EventName,
- PCWSTR EventSourceName,
- PCWSTR Payload
-);
-extern "C" BOOL EventXplatEnabledCLRStackWalkDCStart();
-extern "C" ULONG FireEtXplatCLRStackWalkDCStart(
- const unsigned short ClrInstanceID,
- const unsigned char Reserved1,
- const unsigned char Reserved2,
- const unsigned int FrameCount,
- const void** Stack
-);
-extern "C" BOOL EventXplatEnabledMethodDCStart();
-extern "C" ULONG FireEtXplatMethodDCStart(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-);
-extern "C" BOOL EventXplatEnabledMethodDCStart_V1();
-extern "C" ULONG FireEtXplatMethodDCStart_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodDCStart_V2();
-extern "C" ULONG FireEtXplatMethodDCStart_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-);
-extern "C" BOOL EventXplatEnabledMethodDCEnd();
-extern "C" ULONG FireEtXplatMethodDCEnd(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-);
-extern "C" BOOL EventXplatEnabledMethodDCEnd_V1();
-extern "C" ULONG FireEtXplatMethodDCEnd_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodDCEnd_V2();
-extern "C" ULONG FireEtXplatMethodDCEnd_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-);
-extern "C" BOOL EventXplatEnabledMethodDCStartVerbose();
-extern "C" ULONG FireEtXplatMethodDCStartVerbose(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-);
-extern "C" BOOL EventXplatEnabledMethodDCStartVerbose_V1();
-extern "C" ULONG FireEtXplatMethodDCStartVerbose_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodDCStartVerbose_V2();
-extern "C" ULONG FireEtXplatMethodDCStartVerbose_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-);
-extern "C" BOOL EventXplatEnabledMethodDCEndVerbose();
-extern "C" ULONG FireEtXplatMethodDCEndVerbose(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-);
-extern "C" BOOL EventXplatEnabledMethodDCEndVerbose_V1();
-extern "C" ULONG FireEtXplatMethodDCEndVerbose_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodDCEndVerbose_V2();
-extern "C" ULONG FireEtXplatMethodDCEndVerbose_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-);
-extern "C" BOOL EventXplatEnabledDCStartComplete();
-extern "C" ULONG FireEtXplatDCStartComplete(
-);
-extern "C" BOOL EventXplatEnabledDCStartComplete_V1();
-extern "C" ULONG FireEtXplatDCStartComplete_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledDCEndComplete();
-extern "C" ULONG FireEtXplatDCEndComplete(
-);
-extern "C" BOOL EventXplatEnabledDCEndComplete_V1();
-extern "C" ULONG FireEtXplatDCEndComplete_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledDCStartInit();
-extern "C" ULONG FireEtXplatDCStartInit(
-);
-extern "C" BOOL EventXplatEnabledDCStartInit_V1();
-extern "C" ULONG FireEtXplatDCStartInit_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledDCEndInit();
-extern "C" ULONG FireEtXplatDCEndInit(
-);
-extern "C" BOOL EventXplatEnabledDCEndInit_V1();
-extern "C" ULONG FireEtXplatDCEndInit_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodDCStartILToNativeMap();
-extern "C" ULONG FireEtXplatMethodDCStartILToNativeMap(
- const unsigned __int64 MethodID,
- const unsigned __int64 ReJITID,
- const unsigned char MethodExtent,
- const unsigned short CountOfMapEntries,
- const unsigned int* ILOffsets,
- const unsigned int* NativeOffsets,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodDCEndILToNativeMap();
-extern "C" ULONG FireEtXplatMethodDCEndILToNativeMap(
- const unsigned __int64 MethodID,
- const unsigned __int64 ReJITID,
- const unsigned char MethodExtent,
- const unsigned short CountOfMapEntries,
- const unsigned int* ILOffsets,
- const unsigned int* NativeOffsets,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledDomainModuleDCStart();
-extern "C" ULONG FireEtXplatDomainModuleDCStart(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-);
-extern "C" BOOL EventXplatEnabledDomainModuleDCStart_V1();
-extern "C" ULONG FireEtXplatDomainModuleDCStart_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledDomainModuleDCEnd();
-extern "C" ULONG FireEtXplatDomainModuleDCEnd(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-);
-extern "C" BOOL EventXplatEnabledDomainModuleDCEnd_V1();
-extern "C" ULONG FireEtXplatDomainModuleDCEnd_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledModuleDCStart();
-extern "C" ULONG FireEtXplatModuleDCStart(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-);
-extern "C" BOOL EventXplatEnabledModuleDCStart_V1();
-extern "C" ULONG FireEtXplatModuleDCStart_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledModuleDCStart_V2();
-extern "C" ULONG FireEtXplatModuleDCStart_V2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID,
- const GUID* ManagedPdbSignature,
- const unsigned int ManagedPdbAge,
- PCWSTR ManagedPdbBuildPath,
- const GUID* NativePdbSignature,
- const unsigned int NativePdbAge,
- PCWSTR NativePdbBuildPath
-);
-extern "C" BOOL EventXplatEnabledModuleDCEnd();
-extern "C" ULONG FireEtXplatModuleDCEnd(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-);
-extern "C" BOOL EventXplatEnabledModuleDCEnd_V1();
-extern "C" ULONG FireEtXplatModuleDCEnd_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledModuleDCEnd_V2();
-extern "C" ULONG FireEtXplatModuleDCEnd_V2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID,
- const GUID* ManagedPdbSignature,
- const unsigned int ManagedPdbAge,
- PCWSTR ManagedPdbBuildPath,
- const GUID* NativePdbSignature,
- const unsigned int NativePdbAge,
- PCWSTR NativePdbBuildPath
-);
-extern "C" BOOL EventXplatEnabledAssemblyDCStart();
-extern "C" ULONG FireEtXplatAssemblyDCStart(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName
-);
-extern "C" BOOL EventXplatEnabledAssemblyDCStart_V1();
-extern "C" ULONG FireEtXplatAssemblyDCStart_V1(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned __int64 BindingID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledAssemblyDCEnd();
-extern "C" ULONG FireEtXplatAssemblyDCEnd(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName
-);
-extern "C" BOOL EventXplatEnabledAssemblyDCEnd_V1();
-extern "C" ULONG FireEtXplatAssemblyDCEnd_V1(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned __int64 BindingID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledAppDomainDCStart();
-extern "C" ULONG FireEtXplatAppDomainDCStart(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName
-);
-extern "C" BOOL EventXplatEnabledAppDomainDCStart_V1();
-extern "C" ULONG FireEtXplatAppDomainDCStart_V1(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName,
- const unsigned int AppDomainIndex,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledAppDomainDCEnd();
-extern "C" ULONG FireEtXplatAppDomainDCEnd(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName
-);
-extern "C" BOOL EventXplatEnabledAppDomainDCEnd_V1();
-extern "C" ULONG FireEtXplatAppDomainDCEnd_V1(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName,
- const unsigned int AppDomainIndex,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledThreadDC();
-extern "C" ULONG FireEtXplatThreadDC(
- const unsigned __int64 ManagedThreadID,
- const unsigned __int64 AppDomainID,
- const unsigned int Flags,
- const unsigned int ManagedThreadIndex,
- const unsigned int OSThreadID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledModuleRangeDCStart();
-extern "C" ULONG FireEtXplatModuleRangeDCStart(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned int RangeBegin,
- const unsigned int RangeSize,
- const unsigned char RangeType
-);
-extern "C" BOOL EventXplatEnabledModuleRangeDCEnd();
-extern "C" ULONG FireEtXplatModuleRangeDCEnd(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned int RangeBegin,
- const unsigned int RangeSize,
- const unsigned char RangeType
-);
-extern "C" BOOL EventXplatEnabledRuntimeInformationDCStart();
-extern "C" ULONG FireEtXplatRuntimeInformationDCStart(
- const unsigned short ClrInstanceID,
- const unsigned short Sku,
- const unsigned short BclMajorVersion,
- const unsigned short BclMinorVersion,
- const unsigned short BclBuildNumber,
- const unsigned short BclQfeNumber,
- const unsigned short VMMajorVersion,
- const unsigned short VMMinorVersion,
- const unsigned short VMBuildNumber,
- const unsigned short VMQfeNumber,
- const unsigned int StartupFlags,
- const unsigned char StartupMode,
- PCWSTR CommandLine,
- const GUID* ComObjectGuid,
- PCWSTR RuntimeDllPath
-);
-extern "C" BOOL EventXplatEnabledStressLogEvent();
-extern "C" ULONG FireEtXplatStressLogEvent(
- const unsigned int Facility,
- const unsigned char LogLevel,
- LPCSTR Message
-);
-extern "C" BOOL EventXplatEnabledStressLogEvent_V1();
-extern "C" ULONG FireEtXplatStressLogEvent_V1(
- const unsigned int Facility,
- const unsigned char LogLevel,
- LPCSTR Message,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledCLRStackWalkStress();
-extern "C" ULONG FireEtXplatCLRStackWalkStress(
- const unsigned short ClrInstanceID,
- const unsigned char Reserved1,
- const unsigned char Reserved2,
- const unsigned int FrameCount,
- const void** Stack
-);
-extern "C" BOOL EventXplatEnabledGCDecision();
-extern "C" ULONG FireEtXplatGCDecision(
- const BOOL DoCompact
-);
-extern "C" BOOL EventXplatEnabledGCDecision_V1();
-extern "C" ULONG FireEtXplatGCDecision_V1(
- const BOOL DoCompact,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCSettings();
-extern "C" ULONG FireEtXplatGCSettings(
- const unsigned __int64 SegmentSize,
- const unsigned __int64 LargeObjectSegmentSize,
- const BOOL ServerGC
-);
-extern "C" BOOL EventXplatEnabledGCSettings_V1();
-extern "C" ULONG FireEtXplatGCSettings_V1(
- const unsigned __int64 SegmentSize,
- const unsigned __int64 LargeObjectSegmentSize,
- const BOOL ServerGC,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCOptimized();
-extern "C" ULONG FireEtXplatGCOptimized(
- const unsigned __int64 DesiredAllocation,
- const unsigned __int64 NewAllocation,
- const unsigned int GenerationNumber
-);
-extern "C" BOOL EventXplatEnabledGCOptimized_V1();
-extern "C" ULONG FireEtXplatGCOptimized_V1(
- const unsigned __int64 DesiredAllocation,
- const unsigned __int64 NewAllocation,
- const unsigned int GenerationNumber,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCPerHeapHistory();
-extern "C" ULONG FireEtXplatGCPerHeapHistory(
-);
-extern "C" BOOL EventXplatEnabledGCPerHeapHistory_V1();
-extern "C" ULONG FireEtXplatGCPerHeapHistory_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCGlobalHeapHistory();
-extern "C" ULONG FireEtXplatGCGlobalHeapHistory(
- const unsigned __int64 FinalYoungestDesired,
- const signed int NumHeaps,
- const unsigned int CondemnedGeneration,
- const unsigned int Gen0ReductionCount,
- const unsigned int Reason,
- const unsigned int GlobalMechanisms
-);
-extern "C" BOOL EventXplatEnabledGCGlobalHeapHistory_V1();
-extern "C" ULONG FireEtXplatGCGlobalHeapHistory_V1(
- const unsigned __int64 FinalYoungestDesired,
- const signed int NumHeaps,
- const unsigned int CondemnedGeneration,
- const unsigned int Gen0ReductionCount,
- const unsigned int Reason,
- const unsigned int GlobalMechanisms,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCJoin();
-extern "C" ULONG FireEtXplatGCJoin(
- const unsigned int Heap,
- const unsigned int JoinTime,
- const unsigned int JoinType
-);
-extern "C" BOOL EventXplatEnabledGCJoin_V1();
-extern "C" ULONG FireEtXplatGCJoin_V1(
- const unsigned int Heap,
- const unsigned int JoinTime,
- const unsigned int JoinType,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledPrvGCMarkStackRoots();
-extern "C" ULONG FireEtXplatPrvGCMarkStackRoots(
- const unsigned int HeapNum
-);
-extern "C" BOOL EventXplatEnabledPrvGCMarkStackRoots_V1();
-extern "C" ULONG FireEtXplatPrvGCMarkStackRoots_V1(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledPrvGCMarkFinalizeQueueRoots();
-extern "C" ULONG FireEtXplatPrvGCMarkFinalizeQueueRoots(
- const unsigned int HeapNum
-);
-extern "C" BOOL EventXplatEnabledPrvGCMarkFinalizeQueueRoots_V1();
-extern "C" ULONG FireEtXplatPrvGCMarkFinalizeQueueRoots_V1(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledPrvGCMarkHandles();
-extern "C" ULONG FireEtXplatPrvGCMarkHandles(
- const unsigned int HeapNum
-);
-extern "C" BOOL EventXplatEnabledPrvGCMarkHandles_V1();
-extern "C" ULONG FireEtXplatPrvGCMarkHandles_V1(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledPrvGCMarkCards();
-extern "C" ULONG FireEtXplatPrvGCMarkCards(
- const unsigned int HeapNum
-);
-extern "C" BOOL EventXplatEnabledPrvGCMarkCards_V1();
-extern "C" ULONG FireEtXplatPrvGCMarkCards_V1(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGCBegin();
-extern "C" ULONG FireEtXplatBGCBegin(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGC1stNonConEnd();
-extern "C" ULONG FireEtXplatBGC1stNonConEnd(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGC1stConEnd();
-extern "C" ULONG FireEtXplatBGC1stConEnd(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGC2ndNonConBegin();
-extern "C" ULONG FireEtXplatBGC2ndNonConBegin(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGC2ndNonConEnd();
-extern "C" ULONG FireEtXplatBGC2ndNonConEnd(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGC2ndConBegin();
-extern "C" ULONG FireEtXplatBGC2ndConBegin(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGC2ndConEnd();
-extern "C" ULONG FireEtXplatBGC2ndConEnd(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGCPlanEnd();
-extern "C" ULONG FireEtXplatBGCPlanEnd(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGCSweepEnd();
-extern "C" ULONG FireEtXplatBGCSweepEnd(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGCDrainMark();
-extern "C" ULONG FireEtXplatBGCDrainMark(
- const unsigned __int64 Objects,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGCRevisit();
-extern "C" ULONG FireEtXplatBGCRevisit(
- const unsigned __int64 Pages,
- const unsigned __int64 Objects,
- const unsigned int IsLarge,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGCOverflow();
-extern "C" ULONG FireEtXplatBGCOverflow(
- const unsigned __int64 Min,
- const unsigned __int64 Max,
- const unsigned __int64 Objects,
- const unsigned int IsLarge,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGCAllocWaitBegin();
-extern "C" ULONG FireEtXplatBGCAllocWaitBegin(
- const unsigned int Reason,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBGCAllocWaitEnd();
-extern "C" ULONG FireEtXplatBGCAllocWaitEnd(
- const unsigned int Reason,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGCFullNotify();
-extern "C" ULONG FireEtXplatGCFullNotify(
- const unsigned int GenNumber,
- const unsigned int IsAlloc
-);
-extern "C" BOOL EventXplatEnabledGCFullNotify_V1();
-extern "C" ULONG FireEtXplatGCFullNotify_V1(
- const unsigned int GenNumber,
- const unsigned int IsAlloc,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledEEStartupStart();
-extern "C" ULONG FireEtXplatEEStartupStart(
-);
-extern "C" BOOL EventXplatEnabledEEStartupStart_V1();
-extern "C" ULONG FireEtXplatEEStartupStart_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledEEStartupEnd();
-extern "C" ULONG FireEtXplatEEStartupEnd(
-);
-extern "C" BOOL EventXplatEnabledEEStartupEnd_V1();
-extern "C" ULONG FireEtXplatEEStartupEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledEEConfigSetup();
-extern "C" ULONG FireEtXplatEEConfigSetup(
-);
-extern "C" BOOL EventXplatEnabledEEConfigSetup_V1();
-extern "C" ULONG FireEtXplatEEConfigSetup_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledEEConfigSetupEnd();
-extern "C" ULONG FireEtXplatEEConfigSetupEnd(
-);
-extern "C" BOOL EventXplatEnabledEEConfigSetupEnd_V1();
-extern "C" ULONG FireEtXplatEEConfigSetupEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLdSysBases();
-extern "C" ULONG FireEtXplatLdSysBases(
-);
-extern "C" BOOL EventXplatEnabledLdSysBases_V1();
-extern "C" ULONG FireEtXplatLdSysBases_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLdSysBasesEnd();
-extern "C" ULONG FireEtXplatLdSysBasesEnd(
-);
-extern "C" BOOL EventXplatEnabledLdSysBasesEnd_V1();
-extern "C" ULONG FireEtXplatLdSysBasesEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledExecExe();
-extern "C" ULONG FireEtXplatExecExe(
-);
-extern "C" BOOL EventXplatEnabledExecExe_V1();
-extern "C" ULONG FireEtXplatExecExe_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledExecExeEnd();
-extern "C" ULONG FireEtXplatExecExeEnd(
-);
-extern "C" BOOL EventXplatEnabledExecExeEnd_V1();
-extern "C" ULONG FireEtXplatExecExeEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMain();
-extern "C" ULONG FireEtXplatMain(
-);
-extern "C" BOOL EventXplatEnabledMain_V1();
-extern "C" ULONG FireEtXplatMain_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMainEnd();
-extern "C" ULONG FireEtXplatMainEnd(
-);
-extern "C" BOOL EventXplatEnabledMainEnd_V1();
-extern "C" ULONG FireEtXplatMainEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledApplyPolicyStart();
-extern "C" ULONG FireEtXplatApplyPolicyStart(
-);
-extern "C" BOOL EventXplatEnabledApplyPolicyStart_V1();
-extern "C" ULONG FireEtXplatApplyPolicyStart_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledApplyPolicyEnd();
-extern "C" ULONG FireEtXplatApplyPolicyEnd(
-);
-extern "C" BOOL EventXplatEnabledApplyPolicyEnd_V1();
-extern "C" ULONG FireEtXplatApplyPolicyEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLdLibShFolder();
-extern "C" ULONG FireEtXplatLdLibShFolder(
-);
-extern "C" BOOL EventXplatEnabledLdLibShFolder_V1();
-extern "C" ULONG FireEtXplatLdLibShFolder_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLdLibShFolderEnd();
-extern "C" ULONG FireEtXplatLdLibShFolderEnd(
-);
-extern "C" BOOL EventXplatEnabledLdLibShFolderEnd_V1();
-extern "C" ULONG FireEtXplatLdLibShFolderEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledPrestubWorker();
-extern "C" ULONG FireEtXplatPrestubWorker(
-);
-extern "C" BOOL EventXplatEnabledPrestubWorker_V1();
-extern "C" ULONG FireEtXplatPrestubWorker_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledPrestubWorkerEnd();
-extern "C" ULONG FireEtXplatPrestubWorkerEnd(
-);
-extern "C" BOOL EventXplatEnabledPrestubWorkerEnd_V1();
-extern "C" ULONG FireEtXplatPrestubWorkerEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGetInstallationStart();
-extern "C" ULONG FireEtXplatGetInstallationStart(
-);
-extern "C" BOOL EventXplatEnabledGetInstallationStart_V1();
-extern "C" ULONG FireEtXplatGetInstallationStart_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGetInstallationEnd();
-extern "C" ULONG FireEtXplatGetInstallationEnd(
-);
-extern "C" BOOL EventXplatEnabledGetInstallationEnd_V1();
-extern "C" ULONG FireEtXplatGetInstallationEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledOpenHModule();
-extern "C" ULONG FireEtXplatOpenHModule(
-);
-extern "C" BOOL EventXplatEnabledOpenHModule_V1();
-extern "C" ULONG FireEtXplatOpenHModule_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledOpenHModuleEnd();
-extern "C" ULONG FireEtXplatOpenHModuleEnd(
-);
-extern "C" BOOL EventXplatEnabledOpenHModuleEnd_V1();
-extern "C" ULONG FireEtXplatOpenHModuleEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledExplicitBindStart();
-extern "C" ULONG FireEtXplatExplicitBindStart(
-);
-extern "C" BOOL EventXplatEnabledExplicitBindStart_V1();
-extern "C" ULONG FireEtXplatExplicitBindStart_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledExplicitBindEnd();
-extern "C" ULONG FireEtXplatExplicitBindEnd(
-);
-extern "C" BOOL EventXplatEnabledExplicitBindEnd_V1();
-extern "C" ULONG FireEtXplatExplicitBindEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledParseXml();
-extern "C" ULONG FireEtXplatParseXml(
-);
-extern "C" BOOL EventXplatEnabledParseXml_V1();
-extern "C" ULONG FireEtXplatParseXml_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledParseXmlEnd();
-extern "C" ULONG FireEtXplatParseXmlEnd(
-);
-extern "C" BOOL EventXplatEnabledParseXmlEnd_V1();
-extern "C" ULONG FireEtXplatParseXmlEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledInitDefaultDomain();
-extern "C" ULONG FireEtXplatInitDefaultDomain(
-);
-extern "C" BOOL EventXplatEnabledInitDefaultDomain_V1();
-extern "C" ULONG FireEtXplatInitDefaultDomain_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledInitDefaultDomainEnd();
-extern "C" ULONG FireEtXplatInitDefaultDomainEnd(
-);
-extern "C" BOOL EventXplatEnabledInitDefaultDomainEnd_V1();
-extern "C" ULONG FireEtXplatInitDefaultDomainEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledInitSecurity();
-extern "C" ULONG FireEtXplatInitSecurity(
-);
-extern "C" BOOL EventXplatEnabledInitSecurity_V1();
-extern "C" ULONG FireEtXplatInitSecurity_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledInitSecurityEnd();
-extern "C" ULONG FireEtXplatInitSecurityEnd(
-);
-extern "C" BOOL EventXplatEnabledInitSecurityEnd_V1();
-extern "C" ULONG FireEtXplatInitSecurityEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledAllowBindingRedirs();
-extern "C" ULONG FireEtXplatAllowBindingRedirs(
-);
-extern "C" BOOL EventXplatEnabledAllowBindingRedirs_V1();
-extern "C" ULONG FireEtXplatAllowBindingRedirs_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledAllowBindingRedirsEnd();
-extern "C" ULONG FireEtXplatAllowBindingRedirsEnd(
-);
-extern "C" BOOL EventXplatEnabledAllowBindingRedirsEnd_V1();
-extern "C" ULONG FireEtXplatAllowBindingRedirsEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledEEConfigSync();
-extern "C" ULONG FireEtXplatEEConfigSync(
-);
-extern "C" BOOL EventXplatEnabledEEConfigSync_V1();
-extern "C" ULONG FireEtXplatEEConfigSync_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledEEConfigSyncEnd();
-extern "C" ULONG FireEtXplatEEConfigSyncEnd(
-);
-extern "C" BOOL EventXplatEnabledEEConfigSyncEnd_V1();
-extern "C" ULONG FireEtXplatEEConfigSyncEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledFusionBinding();
-extern "C" ULONG FireEtXplatFusionBinding(
-);
-extern "C" BOOL EventXplatEnabledFusionBinding_V1();
-extern "C" ULONG FireEtXplatFusionBinding_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledFusionBindingEnd();
-extern "C" ULONG FireEtXplatFusionBindingEnd(
-);
-extern "C" BOOL EventXplatEnabledFusionBindingEnd_V1();
-extern "C" ULONG FireEtXplatFusionBindingEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLoaderCatchCall();
-extern "C" ULONG FireEtXplatLoaderCatchCall(
-);
-extern "C" BOOL EventXplatEnabledLoaderCatchCall_V1();
-extern "C" ULONG FireEtXplatLoaderCatchCall_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLoaderCatchCallEnd();
-extern "C" ULONG FireEtXplatLoaderCatchCallEnd(
-);
-extern "C" BOOL EventXplatEnabledLoaderCatchCallEnd_V1();
-extern "C" ULONG FireEtXplatLoaderCatchCallEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledFusionInit();
-extern "C" ULONG FireEtXplatFusionInit(
-);
-extern "C" BOOL EventXplatEnabledFusionInit_V1();
-extern "C" ULONG FireEtXplatFusionInit_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledFusionInitEnd();
-extern "C" ULONG FireEtXplatFusionInitEnd(
-);
-extern "C" BOOL EventXplatEnabledFusionInitEnd_V1();
-extern "C" ULONG FireEtXplatFusionInitEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledFusionAppCtx();
-extern "C" ULONG FireEtXplatFusionAppCtx(
-);
-extern "C" BOOL EventXplatEnabledFusionAppCtx_V1();
-extern "C" ULONG FireEtXplatFusionAppCtx_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledFusionAppCtxEnd();
-extern "C" ULONG FireEtXplatFusionAppCtxEnd(
-);
-extern "C" BOOL EventXplatEnabledFusionAppCtxEnd_V1();
-extern "C" ULONG FireEtXplatFusionAppCtxEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledFusion2EE();
-extern "C" ULONG FireEtXplatFusion2EE(
-);
-extern "C" BOOL EventXplatEnabledFusion2EE_V1();
-extern "C" ULONG FireEtXplatFusion2EE_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledFusion2EEEnd();
-extern "C" ULONG FireEtXplatFusion2EEEnd(
-);
-extern "C" BOOL EventXplatEnabledFusion2EEEnd_V1();
-extern "C" ULONG FireEtXplatFusion2EEEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledSecurityCatchCall();
-extern "C" ULONG FireEtXplatSecurityCatchCall(
-);
-extern "C" BOOL EventXplatEnabledSecurityCatchCall_V1();
-extern "C" ULONG FireEtXplatSecurityCatchCall_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledSecurityCatchCallEnd();
-extern "C" ULONG FireEtXplatSecurityCatchCallEnd(
-);
-extern "C" BOOL EventXplatEnabledSecurityCatchCallEnd_V1();
-extern "C" ULONG FireEtXplatSecurityCatchCallEnd_V1(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledCLRStackWalkPrivate();
-extern "C" ULONG FireEtXplatCLRStackWalkPrivate(
- const unsigned short ClrInstanceID,
- const unsigned char Reserved1,
- const unsigned char Reserved2,
- const unsigned int FrameCount,
- const void** Stack
-);
-extern "C" BOOL EventXplatEnabledModuleRangeLoadPrivate();
-extern "C" ULONG FireEtXplatModuleRangeLoadPrivate(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned int RangeBegin,
- const unsigned int RangeSize,
- const unsigned char RangeType,
- const unsigned char IBCType,
- const unsigned short SectionType
-);
-extern "C" BOOL EventXplatEnabledBindingPolicyPhaseStart();
-extern "C" ULONG FireEtXplatBindingPolicyPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBindingPolicyPhaseEnd();
-extern "C" ULONG FireEtXplatBindingPolicyPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBindingNgenPhaseStart();
-extern "C" ULONG FireEtXplatBindingNgenPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBindingNgenPhaseEnd();
-extern "C" ULONG FireEtXplatBindingNgenPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBindingLookupAndProbingPhaseStart();
-extern "C" ULONG FireEtXplatBindingLookupAndProbingPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBindingLookupAndProbingPhaseEnd();
-extern "C" ULONG FireEtXplatBindingLookupAndProbingPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLoaderPhaseStart();
-extern "C" ULONG FireEtXplatLoaderPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLoaderPhaseEnd();
-extern "C" ULONG FireEtXplatLoaderPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBindingPhaseStart();
-extern "C" ULONG FireEtXplatBindingPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBindingPhaseEnd();
-extern "C" ULONG FireEtXplatBindingPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBindingDownloadPhaseStart();
-extern "C" ULONG FireEtXplatBindingDownloadPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBindingDownloadPhaseEnd();
-extern "C" ULONG FireEtXplatBindingDownloadPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLoaderAssemblyInitPhaseStart();
-extern "C" ULONG FireEtXplatLoaderAssemblyInitPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLoaderAssemblyInitPhaseEnd();
-extern "C" ULONG FireEtXplatLoaderAssemblyInitPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLoaderMappingPhaseStart();
-extern "C" ULONG FireEtXplatLoaderMappingPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLoaderMappingPhaseEnd();
-extern "C" ULONG FireEtXplatLoaderMappingPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLoaderDeliverEventsPhaseStart();
-extern "C" ULONG FireEtXplatLoaderDeliverEventsPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledLoaderDeliverEventsPhaseEnd();
-extern "C" ULONG FireEtXplatLoaderDeliverEventsPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledEvidenceGenerated();
-extern "C" ULONG FireEtXplatEvidenceGenerated(
- const unsigned int Type,
- const unsigned int AppDomain,
- PCWSTR ILImage,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledModuleTransparencyComputationStart();
-extern "C" ULONG FireEtXplatModuleTransparencyComputationStart(
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledModuleTransparencyComputationEnd();
-extern "C" ULONG FireEtXplatModuleTransparencyComputationEnd(
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsAllCritical,
- const BOOL IsAllTransparent,
- const BOOL IsTreatAsSafe,
- const BOOL IsOpportunisticallyCritical,
- const unsigned int SecurityRuleSet,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledTypeTransparencyComputationStart();
-extern "C" ULONG FireEtXplatTypeTransparencyComputationStart(
- PCWSTR Type,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledTypeTransparencyComputationEnd();
-extern "C" ULONG FireEtXplatTypeTransparencyComputationEnd(
- PCWSTR Type,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsAllCritical,
- const BOOL IsAllTransparent,
- const BOOL IsCritical,
- const BOOL IsTreatAsSafe,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodTransparencyComputationStart();
-extern "C" ULONG FireEtXplatMethodTransparencyComputationStart(
- PCWSTR Method,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMethodTransparencyComputationEnd();
-extern "C" ULONG FireEtXplatMethodTransparencyComputationEnd(
- PCWSTR Method,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsCritical,
- const BOOL IsTreatAsSafe,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledFieldTransparencyComputationStart();
-extern "C" ULONG FireEtXplatFieldTransparencyComputationStart(
- PCWSTR Field,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledFieldTransparencyComputationEnd();
-extern "C" ULONG FireEtXplatFieldTransparencyComputationEnd(
- PCWSTR Field,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsCritical,
- const BOOL IsTreatAsSafe,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledTokenTransparencyComputationStart();
-extern "C" ULONG FireEtXplatTokenTransparencyComputationStart(
- const unsigned int Token,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledTokenTransparencyComputationEnd();
-extern "C" ULONG FireEtXplatTokenTransparencyComputationEnd(
- const unsigned int Token,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsCritical,
- const BOOL IsTreatAsSafe,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledNgenBindEvent();
-extern "C" ULONG FireEtXplatNgenBindEvent(
- const unsigned short ClrInstanceID,
- const unsigned __int64 BindingID,
- const unsigned int ReasonCode,
- PCWSTR AssemblyName
-);
-extern "C" BOOL EventXplatEnabledFailFast();
-extern "C" ULONG FireEtXplatFailFast(
- PCWSTR FailFastUserMessage,
- const void* FailedEIP,
- const unsigned int OSExitCode,
- const unsigned int ClrExitCode,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledPrvFinalizeObject();
-extern "C" ULONG FireEtXplatPrvFinalizeObject(
- const void* TypeID,
- const void* ObjectID,
- const unsigned short ClrInstanceID,
- PCWSTR TypeName
-);
-extern "C" BOOL EventXplatEnabledCCWRefCountChange();
-extern "C" ULONG FireEtXplatCCWRefCountChange(
- const void* HandleID,
- const void* ObjectID,
- const void* COMInterfacePointer,
- const unsigned int NewRefCount,
- const unsigned __int64 AppDomainID,
- LPCSTR ClassName,
- LPCSTR NameSpace,
- PCWSTR Operation,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledPrvSetGCHandle();
-extern "C" ULONG FireEtXplatPrvSetGCHandle(
- const void* HandleID,
- const void* ObjectID,
- const unsigned int Kind,
- const unsigned int Generation,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledPrvDestroyGCHandle();
-extern "C" ULONG FireEtXplatPrvDestroyGCHandle(
- const void* HandleID,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledFusionMessageEvent();
-extern "C" ULONG FireEtXplatFusionMessageEvent(
- const unsigned short ClrInstanceID,
- const BOOL Prepend,
- PCWSTR Message
-);
-extern "C" BOOL EventXplatEnabledFusionErrorCodeEvent();
-extern "C" ULONG FireEtXplatFusionErrorCodeEvent(
- const unsigned short ClrInstanceID,
- const unsigned int Category,
- const unsigned int ErrorCode
-);
-extern "C" BOOL EventXplatEnabledPinPlugAtGCTime();
-extern "C" ULONG FireEtXplatPinPlugAtGCTime(
- const void* PlugStart,
- const void* PlugEnd,
- const void* GapBeforeSize,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledAllocRequest();
-extern "C" ULONG FireEtXplatAllocRequest(
- const void* LoaderHeapPtr,
- const void* MemoryAddress,
- const unsigned int RequestSize,
- const unsigned int Unused1,
- const unsigned __int64 Unused2,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledMulticoreJit();
-extern "C" ULONG FireEtXplatMulticoreJit(
- const unsigned short ClrInstanceID,
- PCWSTR String1,
- PCWSTR String2,
- const signed int Int1,
- const signed int Int2,
- const signed int Int3
-);
-extern "C" BOOL EventXplatEnabledMulticoreJitMethodCodeReturned();
-extern "C" ULONG FireEtXplatMulticoreJitMethodCodeReturned(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodID
-);
-extern "C" BOOL EventXplatEnabledIInspectableRuntimeClassName();
-extern "C" ULONG FireEtXplatIInspectableRuntimeClassName(
- PCWSTR TypeName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledWinRTUnbox();
-extern "C" ULONG FireEtXplatWinRTUnbox(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledCreateRCW();
-extern "C" ULONG FireEtXplatCreateRCW(
- PCWSTR TypeName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledRCWVariance();
-extern "C" ULONG FireEtXplatRCWVariance(
- PCWSTR TypeName,
- PCWSTR InterfaceTypeName,
- PCWSTR VariantInterfaceTypeName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledRCWIEnumerableCasting();
-extern "C" ULONG FireEtXplatRCWIEnumerableCasting(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledCreateCCW();
-extern "C" ULONG FireEtXplatCreateCCW(
- PCWSTR TypeName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledCCWVariance();
-extern "C" ULONG FireEtXplatCCWVariance(
- PCWSTR TypeName,
- PCWSTR InterfaceTypeName,
- PCWSTR VariantInterfaceTypeName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledObjectVariantMarshallingToNative();
-extern "C" ULONG FireEtXplatObjectVariantMarshallingToNative(
- PCWSTR TypeName,
- const signed int Int1,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGetTypeFromGUID();
-extern "C" ULONG FireEtXplatGetTypeFromGUID(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledGetTypeFromProgID();
-extern "C" ULONG FireEtXplatGetTypeFromProgID(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledConvertToCallbackEtw();
-extern "C" ULONG FireEtXplatConvertToCallbackEtw(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledBeginCreateManagedReference();
-extern "C" ULONG FireEtXplatBeginCreateManagedReference(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledEndCreateManagedReference();
-extern "C" ULONG FireEtXplatEndCreateManagedReference(
- const unsigned short ClrInstanceID
-);
-extern "C" BOOL EventXplatEnabledObjectVariantMarshallingToManaged();
-extern "C" ULONG FireEtXplatObjectVariantMarshallingToManaged(
- PCWSTR TypeName,
- const signed int Int1,
- const unsigned short ClrInstanceID
-);
diff --git a/src/pal/prebuilt/inc/etmdummy.h b/src/pal/prebuilt/inc/etmdummy.h
deleted file mode 100644
index 272bce78fa..0000000000
--- a/src/pal/prebuilt/inc/etmdummy.h
+++ /dev/null
@@ -1,409 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatEtw.pl
-
-******************************************************************/
-
-#define FireEtwGCStart(Count, Reason) 0
-#define FireEtwGCStart_V1(Count, Depth, Reason, Type, ClrInstanceID) 0
-#define FireEtwGCStart_V2(Count, Depth, Reason, Type, ClrInstanceID, ClientSequenceNumber) 0
-#define FireEtwGCEnd(Count, Depth) 0
-#define FireEtwGCEnd_V1(Count, Depth, ClrInstanceID) 0
-#define FireEtwGCRestartEEEnd() 0
-#define FireEtwGCRestartEEEnd_V1(ClrInstanceID) 0
-#define FireEtwGCHeapStats(GenerationSize0, TotalPromotedSize0, GenerationSize1, TotalPromotedSize1, GenerationSize2, TotalPromotedSize2, GenerationSize3, TotalPromotedSize3, FinalizationPromotedSize, FinalizationPromotedCount, PinnedObjectCount, SinkBlockCount, GCHandleCount) 0
-#define FireEtwGCHeapStats_V1(GenerationSize0, TotalPromotedSize0, GenerationSize1, TotalPromotedSize1, GenerationSize2, TotalPromotedSize2, GenerationSize3, TotalPromotedSize3, FinalizationPromotedSize, FinalizationPromotedCount, PinnedObjectCount, SinkBlockCount, GCHandleCount, ClrInstanceID) 0
-#define FireEtwGCCreateSegment(Address, Size, Type) 0
-#define FireEtwGCCreateSegment_V1(Address, Size, Type, ClrInstanceID) 0
-#define FireEtwGCFreeSegment(Address) 0
-#define FireEtwGCFreeSegment_V1(Address, ClrInstanceID) 0
-#define FireEtwGCRestartEEBegin() 0
-#define FireEtwGCRestartEEBegin_V1(ClrInstanceID) 0
-#define FireEtwGCSuspendEEEnd() 0
-#define FireEtwGCSuspendEEEnd_V1(ClrInstanceID) 0
-#define FireEtwGCSuspendEEBegin(Reason) 0
-#define FireEtwGCSuspendEEBegin_V1(Reason, Count, ClrInstanceID) 0
-#define FireEtwGCAllocationTick(AllocationAmount, AllocationKind) 0
-#define FireEtwGCAllocationTick_V1(AllocationAmount, AllocationKind, ClrInstanceID) 0
-#define FireEtwGCAllocationTick_V2(AllocationAmount, AllocationKind, ClrInstanceID, AllocationAmount64, TypeID, TypeName, HeapIndex) 0
-#define FireEtwGCAllocationTick_V3(AllocationAmount, AllocationKind, ClrInstanceID, AllocationAmount64, TypeID, TypeName, HeapIndex, Address) 0
-#define FireEtwGCCreateConcurrentThread() 0
-#define FireEtwGCCreateConcurrentThread_V1(ClrInstanceID) 0
-#define FireEtwGCTerminateConcurrentThread() 0
-#define FireEtwGCTerminateConcurrentThread_V1(ClrInstanceID) 0
-#define FireEtwGCFinalizersEnd(Count) 0
-#define FireEtwGCFinalizersEnd_V1(Count, ClrInstanceID) 0
-#define FireEtwGCFinalizersBegin() 0
-#define FireEtwGCFinalizersBegin_V1(ClrInstanceID) 0
-#define FireEtwBulkType(Count, ClrInstanceID, Arg2_Struct_Len_, Arg2_Struct_Pointer_) 0
-#define FireEtwGCBulkRootEdge(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
-#define FireEtwGCBulkRootConditionalWeakTableElementEdge(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
-#define FireEtwGCBulkNode(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
-#define FireEtwGCBulkEdge(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
-#define FireEtwGCSampledObjectAllocationHigh(Address, TypeID, ObjectCountForTypeSample, TotalSizeForTypeSample, ClrInstanceID) 0
-#define FireEtwGCBulkSurvivingObjectRanges(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
-#define FireEtwGCBulkMovedObjectRanges(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
-#define FireEtwGCGenerationRange(Generation, RangeStart, RangeUsedLength, RangeReservedLength, ClrInstanceID) 0
-#define FireEtwGCMarkStackRoots(HeapNum, ClrInstanceID) 0
-#define FireEtwGCMarkFinalizeQueueRoots(HeapNum, ClrInstanceID) 0
-#define FireEtwGCMarkHandles(HeapNum, ClrInstanceID) 0
-#define FireEtwGCMarkOlderGenerationRoots(HeapNum, ClrInstanceID) 0
-#define FireEtwFinalizeObject(TypeID, ObjectID, ClrInstanceID) 0
-#define FireEtwSetGCHandle(HandleID, ObjectID, Kind, Generation, AppDomainID, ClrInstanceID) 0
-#define FireEtwDestroyGCHandle(HandleID, ClrInstanceID) 0
-#define FireEtwGCSampledObjectAllocationLow(Address, TypeID, ObjectCountForTypeSample, TotalSizeForTypeSample, ClrInstanceID) 0
-#define FireEtwPinObjectAtGCTime(HandleID, ObjectID, ObjectSize, TypeName, ClrInstanceID) 0
-#define FireEtwGCTriggered(Reason, ClrInstanceID) 0
-#define FireEtwGCBulkRootCCW(Count, ClrInstanceID, Arg2_Struct_Len_, Arg2_Struct_Pointer_) 0
-#define FireEtwGCBulkRCW(Count, ClrInstanceID, Arg2_Struct_Len_, Arg2_Struct_Pointer_) 0
-#define FireEtwGCBulkRootStaticVar(Count, AppDomainID, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
-#define FireEtwWorkerThreadCreate(WorkerThreadCount, RetiredWorkerThreads) 0
-#define FireEtwWorkerThreadTerminate(WorkerThreadCount, RetiredWorkerThreads) 0
-#define FireEtwWorkerThreadRetire(WorkerThreadCount, RetiredWorkerThreads) 0
-#define FireEtwWorkerThreadUnretire(WorkerThreadCount, RetiredWorkerThreads) 0
-#define FireEtwIOThreadCreate(IOThreadCount, RetiredIOThreads) 0
-#define FireEtwIOThreadCreate_V1(IOThreadCount, RetiredIOThreads, ClrInstanceID) 0
-#define FireEtwIOThreadTerminate(IOThreadCount, RetiredIOThreads) 0
-#define FireEtwIOThreadTerminate_V1(IOThreadCount, RetiredIOThreads, ClrInstanceID) 0
-#define FireEtwIOThreadRetire(IOThreadCount, RetiredIOThreads) 0
-#define FireEtwIOThreadRetire_V1(IOThreadCount, RetiredIOThreads, ClrInstanceID) 0
-#define FireEtwIOThreadUnretire(IOThreadCount, RetiredIOThreads) 0
-#define FireEtwIOThreadUnretire_V1(IOThreadCount, RetiredIOThreads, ClrInstanceID) 0
-#define FireEtwThreadpoolSuspensionSuspendThread(ClrThreadID, CpuUtilization) 0
-#define FireEtwThreadpoolSuspensionResumeThread(ClrThreadID, CpuUtilization) 0
-#define FireEtwThreadPoolWorkerThreadStart(ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID) 0
-#define FireEtwThreadPoolWorkerThreadStop(ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID) 0
-#define FireEtwThreadPoolWorkerThreadRetirementStart(ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID) 0
-#define FireEtwThreadPoolWorkerThreadRetirementStop(ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID) 0
-#define FireEtwThreadPoolWorkerThreadAdjustmentSample(Throughput, ClrInstanceID) 0
-#define FireEtwThreadPoolWorkerThreadAdjustmentAdjustment(AverageThroughput, NewWorkerThreadCount, Reason, ClrInstanceID) 0
-#define FireEtwThreadPoolWorkerThreadAdjustmentStats(Duration, Throughput, ThreadWave, ThroughputWave, ThroughputErrorEstimate, AverageThroughputErrorEstimate, ThroughputRatio, Confidence, NewControlSetting, NewThreadWaveMagnitude, ClrInstanceID) 0
-#define FireEtwThreadPoolWorkerThreadWait(ActiveWorkerThreadCount, RetiredWorkerThreadCount, ClrInstanceID) 0
-#define FireEtwThreadPoolWorkingThreadCount(Count, ClrInstanceID) 0
-#define FireEtwThreadPoolEnqueue(WorkID, ClrInstanceID) 0
-#define FireEtwThreadPoolDequeue(WorkID, ClrInstanceID) 0
-#define FireEtwThreadPoolIOEnqueue(NativeOverlapped, Overlapped, MultiDequeues, ClrInstanceID) 0
-#define FireEtwThreadPoolIODequeue(NativeOverlapped, Overlapped, ClrInstanceID) 0
-#define FireEtwThreadPoolIOPack(NativeOverlapped, Overlapped, ClrInstanceID) 0
-#define FireEtwThreadCreating(ID, ClrInstanceID) 0
-#define FireEtwThreadRunning(ID, ClrInstanceID) 0
-#define FireEtwExceptionThrown() 0
-#define FireEtwExceptionThrown_V1(ExceptionType, ExceptionMessage, ExceptionEIP, ExceptionHRESULT, ExceptionFlags, ClrInstanceID) 0
-#define FireEtwExceptionCatchStart(EntryEIP, MethodID, MethodName, ClrInstanceID) 0
-#define FireEtwExceptionCatchStop() 0
-#define FireEtwExceptionFinallyStart(EntryEIP, MethodID, MethodName, ClrInstanceID) 0
-#define FireEtwExceptionFinallyStop() 0
-#define FireEtwExceptionFilterStart(EntryEIP, MethodID, MethodName, ClrInstanceID) 0
-#define FireEtwExceptionFilterStop() 0
-#define FireEtwExceptionThrownStop() 0
-#define FireEtwContention() 0
-#define FireEtwContentionStart_V1(ContentionFlags, ClrInstanceID) 0
-#define FireEtwContentionStop(ContentionFlags, ClrInstanceID) 0
-#define FireEtwCLRStackWalk(ClrInstanceID, Reserved1, Reserved2, FrameCount, Stack) 0
-#define FireEtwAppDomainMemAllocated(AppDomainID, Allocated, ClrInstanceID) 0
-#define FireEtwAppDomainMemSurvived(AppDomainID, Survived, ProcessSurvived, ClrInstanceID) 0
-#define FireEtwThreadCreated(ManagedThreadID, AppDomainID, Flags, ManagedThreadIndex, OSThreadID, ClrInstanceID) 0
-#define FireEtwThreadTerminated(ManagedThreadID, AppDomainID, ClrInstanceID) 0
-#define FireEtwThreadDomainEnter(ManagedThreadID, AppDomainID, ClrInstanceID) 0
-#define FireEtwILStubGenerated(ClrInstanceID, ModuleID, StubMethodID, StubFlags, ManagedInteropMethodToken, ManagedInteropMethodNamespace, ManagedInteropMethodName, ManagedInteropMethodSignature, NativeMethodSignature, StubMethodSignature, StubMethodILCode) 0
-#define FireEtwILStubCacheHit(ClrInstanceID, ModuleID, StubMethodID, ManagedInteropMethodToken, ManagedInteropMethodNamespace, ManagedInteropMethodName, ManagedInteropMethodSignature) 0
-#define FireEtwDCStartCompleteV2() 0
-#define FireEtwDCEndCompleteV2() 0
-#define FireEtwMethodDCStartV2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags) 0
-#define FireEtwMethodDCEndV2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags) 0
-#define FireEtwMethodDCStartVerboseV2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature) 0
-#define FireEtwMethodDCEndVerboseV2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature) 0
-#define FireEtwMethodLoad(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags) 0
-#define FireEtwMethodLoad_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID) 0
-#define FireEtwMethodLoad_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID, ReJITID) 0
-#define FireEtwMethodUnload(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags) 0
-#define FireEtwMethodUnload_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID) 0
-#define FireEtwMethodUnload_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID, ReJITID) 0
-#define FireEtwMethodLoadVerbose(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature) 0
-#define FireEtwMethodLoadVerbose_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID) 0
-#define FireEtwMethodLoadVerbose_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID, ReJITID) 0
-#define FireEtwMethodUnloadVerbose(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature) 0
-#define FireEtwMethodUnloadVerbose_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID) 0
-#define FireEtwMethodUnloadVerbose_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID, ReJITID) 0
-#define FireEtwMethodJittingStarted(MethodID, ModuleID, MethodToken, MethodILSize, MethodNamespace, MethodName, MethodSignature) 0
-#define FireEtwMethodJittingStarted_V1(MethodID, ModuleID, MethodToken, MethodILSize, MethodNamespace, MethodName, MethodSignature, ClrInstanceID) 0
-#define FireEtwMethodJitInliningSucceeded(MethodBeingCompiledNamespace, MethodBeingCompiledName, MethodBeingCompiledNameSignature, InlinerNamespace, InlinerName, InlinerNameSignature, InlineeNamespace, InlineeName, InlineeNameSignature, ClrInstanceID) 0
-#define FireEtwMethodJitInliningFailed(MethodBeingCompiledNamespace, MethodBeingCompiledName, MethodBeingCompiledNameSignature, InlinerNamespace, InlinerName, InlinerNameSignature, InlineeNamespace, InlineeName, InlineeNameSignature, FailAlways, FailReason, ClrInstanceID) 0
-#define FireEtwMethodJitTailCallSucceeded(MethodBeingCompiledNamespace, MethodBeingCompiledName, MethodBeingCompiledNameSignature, CallerNamespace, CallerName, CallerNameSignature, CalleeNamespace, CalleeName, CalleeNameSignature, TailPrefix, TailCallType, ClrInstanceID) 0
-#define FireEtwMethodJitTailCallFailed(MethodBeingCompiledNamespace, MethodBeingCompiledName, MethodBeingCompiledNameSignature, CallerNamespace, CallerName, CallerNameSignature, CalleeNamespace, CalleeName, CalleeNameSignature, TailPrefix, FailReason, ClrInstanceID) 0
-#define FireEtwMethodILToNativeMap(MethodID, ReJITID, MethodExtent, CountOfMapEntries, ILOffsets, NativeOffsets, ClrInstanceID) 0
-#define FireEtwModuleDCStartV2(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath) 0
-#define FireEtwModuleDCEndV2(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath) 0
-#define FireEtwDomainModuleLoad(ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath) 0
-#define FireEtwDomainModuleLoad_V1(ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID) 0
-#define FireEtwModuleLoad(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath) 0
-#define FireEtwModuleLoad_V1(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID) 0
-#define FireEtwModuleLoad_V2(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID, ManagedPdbSignature, ManagedPdbAge, ManagedPdbBuildPath, NativePdbSignature, NativePdbAge, NativePdbBuildPath) 0
-#define FireEtwModuleUnload(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath) 0
-#define FireEtwModuleUnload_V1(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID) 0
-#define FireEtwModuleUnload_V2(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID, ManagedPdbSignature, ManagedPdbAge, ManagedPdbBuildPath, NativePdbSignature, NativePdbAge, NativePdbBuildPath) 0
-#define FireEtwAssemblyLoad(AssemblyID, AppDomainID, AssemblyFlags, FullyQualifiedAssemblyName) 0
-#define FireEtwAssemblyLoad_V1(AssemblyID, AppDomainID, BindingID, AssemblyFlags, FullyQualifiedAssemblyName, ClrInstanceID) 0
-#define FireEtwAssemblyUnload(AssemblyID, AppDomainID, AssemblyFlags, FullyQualifiedAssemblyName) 0
-#define FireEtwAssemblyUnload_V1(AssemblyID, AppDomainID, BindingID, AssemblyFlags, FullyQualifiedAssemblyName, ClrInstanceID) 0
-#define FireEtwAppDomainLoad(AppDomainID, AppDomainFlags, AppDomainName) 0
-#define FireEtwAppDomainLoad_V1(AppDomainID, AppDomainFlags, AppDomainName, AppDomainIndex, ClrInstanceID) 0
-#define FireEtwAppDomainUnload(AppDomainID, AppDomainFlags, AppDomainName) 0
-#define FireEtwAppDomainUnload_V1(AppDomainID, AppDomainFlags, AppDomainName, AppDomainIndex, ClrInstanceID) 0
-#define FireEtwModuleRangeLoad(ClrInstanceID, ModuleID, RangeBegin, RangeSize, RangeType) 0
-#define FireEtwStrongNameVerificationStart(VerificationFlags, ErrorCode, FullyQualifiedAssemblyName) 0
-#define FireEtwStrongNameVerificationStart_V1(VerificationFlags, ErrorCode, FullyQualifiedAssemblyName, ClrInstanceID) 0
-#define FireEtwStrongNameVerificationStop(VerificationFlags, ErrorCode, FullyQualifiedAssemblyName) 0
-#define FireEtwStrongNameVerificationStop_V1(VerificationFlags, ErrorCode, FullyQualifiedAssemblyName, ClrInstanceID) 0
-#define FireEtwAuthenticodeVerificationStart(VerificationFlags, ErrorCode, ModulePath) 0
-#define FireEtwAuthenticodeVerificationStart_V1(VerificationFlags, ErrorCode, ModulePath, ClrInstanceID) 0
-#define FireEtwAuthenticodeVerificationStop(VerificationFlags, ErrorCode, ModulePath) 0
-#define FireEtwAuthenticodeVerificationStop_V1(VerificationFlags, ErrorCode, ModulePath, ClrInstanceID) 0
-#define FireEtwRuntimeInformationStart(ClrInstanceID, Sku, BclMajorVersion, BclMinorVersion, BclBuildNumber, BclQfeNumber, VMMajorVersion, VMMinorVersion, VMBuildNumber, VMQfeNumber, StartupFlags, StartupMode, CommandLine, ComObjectGuid, RuntimeDllPath) 0
-#define FireEtwIncreaseMemoryPressure(BytesAllocated, ClrInstanceID) 0
-#define FireEtwDecreaseMemoryPressure(BytesFreed, ClrInstanceID) 0
-#define FireEtwGCMarkWithType(HeapNum, ClrInstanceID, Type, Bytes) 0
-#define FireEtwGCJoin_V2(Heap, JoinTime, JoinType, ClrInstanceID, JoinID) 0
-#define FireEtwGCPerHeapHistory_V3(ClrInstanceID, FreeListAllocated, FreeListRejected, EndOfSegAllocated, CondemnedAllocated, PinnedAllocated, PinnedAllocatedAdvance, RunningFreeListEfficiency, CondemnReasons0, CondemnReasons1, CompactMechanisms, ExpandMechanisms, HeapIndex, ExtraGen0Commit, Count, Arg15_Struct_Len_, Arg15_Struct_Pointer_) 0
-#define FireEtwGCGlobalHeapHistory_V2(FinalYoungestDesired, NumHeaps, CondemnedGeneration, Gen0ReductionCount, Reason, GlobalMechanisms, ClrInstanceID, PauseMode, MemoryPressure) 0
-#define FireEtwDebugIPCEventStart() 0
-#define FireEtwDebugIPCEventEnd() 0
-#define FireEtwDebugExceptionProcessingStart() 0
-#define FireEtwDebugExceptionProcessingEnd() 0
-#define FireEtwCodeSymbols(ModuleId, TotalChunks, ChunkNumber, ChunkLength, Chunk, ClrInstanceID) 0
-#define FireEtwEventSource(EventID, EventName, EventSourceName, Payload) 0
-#define FireEtwCLRStackWalkDCStart(ClrInstanceID, Reserved1, Reserved2, FrameCount, Stack) 0
-#define FireEtwMethodDCStart(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags) 0
-#define FireEtwMethodDCStart_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID) 0
-#define FireEtwMethodDCStart_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID, ReJITID) 0
-#define FireEtwMethodDCEnd(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags) 0
-#define FireEtwMethodDCEnd_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID) 0
-#define FireEtwMethodDCEnd_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, ClrInstanceID, ReJITID) 0
-#define FireEtwMethodDCStartVerbose(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature) 0
-#define FireEtwMethodDCStartVerbose_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID) 0
-#define FireEtwMethodDCStartVerbose_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID, ReJITID) 0
-#define FireEtwMethodDCEndVerbose(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature) 0
-#define FireEtwMethodDCEndVerbose_V1(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID) 0
-#define FireEtwMethodDCEndVerbose_V2(MethodID, ModuleID, MethodStartAddress, MethodSize, MethodToken, MethodFlags, MethodNamespace, MethodName, MethodSignature, ClrInstanceID, ReJITID) 0
-#define FireEtwDCStartComplete() 0
-#define FireEtwDCStartComplete_V1(ClrInstanceID) 0
-#define FireEtwDCEndComplete() 0
-#define FireEtwDCEndComplete_V1(ClrInstanceID) 0
-#define FireEtwDCStartInit() 0
-#define FireEtwDCStartInit_V1(ClrInstanceID) 0
-#define FireEtwDCEndInit() 0
-#define FireEtwDCEndInit_V1(ClrInstanceID) 0
-#define FireEtwMethodDCStartILToNativeMap(MethodID, ReJITID, MethodExtent, CountOfMapEntries, ILOffsets, NativeOffsets, ClrInstanceID) 0
-#define FireEtwMethodDCEndILToNativeMap(MethodID, ReJITID, MethodExtent, CountOfMapEntries, ILOffsets, NativeOffsets, ClrInstanceID) 0
-#define FireEtwDomainModuleDCStart(ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath) 0
-#define FireEtwDomainModuleDCStart_V1(ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID) 0
-#define FireEtwDomainModuleDCEnd(ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath) 0
-#define FireEtwDomainModuleDCEnd_V1(ModuleID, AssemblyID, AppDomainID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID) 0
-#define FireEtwModuleDCStart(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath) 0
-#define FireEtwModuleDCStart_V1(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID) 0
-#define FireEtwModuleDCStart_V2(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID, ManagedPdbSignature, ManagedPdbAge, ManagedPdbBuildPath, NativePdbSignature, NativePdbAge, NativePdbBuildPath) 0
-#define FireEtwModuleDCEnd(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath) 0
-#define FireEtwModuleDCEnd_V1(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID) 0
-#define FireEtwModuleDCEnd_V2(ModuleID, AssemblyID, ModuleFlags, Reserved1, ModuleILPath, ModuleNativePath, ClrInstanceID, ManagedPdbSignature, ManagedPdbAge, ManagedPdbBuildPath, NativePdbSignature, NativePdbAge, NativePdbBuildPath) 0
-#define FireEtwAssemblyDCStart(AssemblyID, AppDomainID, AssemblyFlags, FullyQualifiedAssemblyName) 0
-#define FireEtwAssemblyDCStart_V1(AssemblyID, AppDomainID, BindingID, AssemblyFlags, FullyQualifiedAssemblyName, ClrInstanceID) 0
-#define FireEtwAssemblyDCEnd(AssemblyID, AppDomainID, AssemblyFlags, FullyQualifiedAssemblyName) 0
-#define FireEtwAssemblyDCEnd_V1(AssemblyID, AppDomainID, BindingID, AssemblyFlags, FullyQualifiedAssemblyName, ClrInstanceID) 0
-#define FireEtwAppDomainDCStart(AppDomainID, AppDomainFlags, AppDomainName) 0
-#define FireEtwAppDomainDCStart_V1(AppDomainID, AppDomainFlags, AppDomainName, AppDomainIndex, ClrInstanceID) 0
-#define FireEtwAppDomainDCEnd(AppDomainID, AppDomainFlags, AppDomainName) 0
-#define FireEtwAppDomainDCEnd_V1(AppDomainID, AppDomainFlags, AppDomainName, AppDomainIndex, ClrInstanceID) 0
-#define FireEtwThreadDC(ManagedThreadID, AppDomainID, Flags, ManagedThreadIndex, OSThreadID, ClrInstanceID) 0
-#define FireEtwModuleRangeDCStart(ClrInstanceID, ModuleID, RangeBegin, RangeSize, RangeType) 0
-#define FireEtwModuleRangeDCEnd(ClrInstanceID, ModuleID, RangeBegin, RangeSize, RangeType) 0
-#define FireEtwRuntimeInformationDCStart(ClrInstanceID, Sku, BclMajorVersion, BclMinorVersion, BclBuildNumber, BclQfeNumber, VMMajorVersion, VMMinorVersion, VMBuildNumber, VMQfeNumber, StartupFlags, StartupMode, CommandLine, ComObjectGuid, RuntimeDllPath) 0
-#define FireEtwStressLogEvent(Facility, LogLevel, Message) 0
-#define FireEtwStressLogEvent_V1(Facility, LogLevel, Message, ClrInstanceID) 0
-#define FireEtwCLRStackWalkStress(ClrInstanceID, Reserved1, Reserved2, FrameCount, Stack) 0
-#define FireEtwGCDecision(DoCompact) 0
-#define FireEtwGCDecision_V1(DoCompact, ClrInstanceID) 0
-#define FireEtwGCSettings(SegmentSize, LargeObjectSegmentSize, ServerGC) 0
-#define FireEtwGCSettings_V1(SegmentSize, LargeObjectSegmentSize, ServerGC, ClrInstanceID) 0
-#define FireEtwGCOptimized(DesiredAllocation, NewAllocation, GenerationNumber) 0
-#define FireEtwGCOptimized_V1(DesiredAllocation, NewAllocation, GenerationNumber, ClrInstanceID) 0
-#define FireEtwGCPerHeapHistory() 0
-#define FireEtwGCPerHeapHistory_V1(ClrInstanceID) 0
-#define FireEtwGCGlobalHeapHistory(FinalYoungestDesired, NumHeaps, CondemnedGeneration, Gen0ReductionCount, Reason, GlobalMechanisms) 0
-#define FireEtwGCGlobalHeapHistory_V1(FinalYoungestDesired, NumHeaps, CondemnedGeneration, Gen0ReductionCount, Reason, GlobalMechanisms, ClrInstanceID) 0
-#define FireEtwGCJoin(Heap, JoinTime, JoinType) 0
-#define FireEtwGCJoin_V1(Heap, JoinTime, JoinType, ClrInstanceID) 0
-#define FireEtwPrvGCMarkStackRoots(HeapNum) 0
-#define FireEtwPrvGCMarkStackRoots_V1(HeapNum, ClrInstanceID) 0
-#define FireEtwPrvGCMarkFinalizeQueueRoots(HeapNum) 0
-#define FireEtwPrvGCMarkFinalizeQueueRoots_V1(HeapNum, ClrInstanceID) 0
-#define FireEtwPrvGCMarkHandles(HeapNum) 0
-#define FireEtwPrvGCMarkHandles_V1(HeapNum, ClrInstanceID) 0
-#define FireEtwPrvGCMarkCards(HeapNum) 0
-#define FireEtwPrvGCMarkCards_V1(HeapNum, ClrInstanceID) 0
-#define FireEtwBGCBegin(ClrInstanceID) 0
-#define FireEtwBGC1stNonConEnd(ClrInstanceID) 0
-#define FireEtwBGC1stConEnd(ClrInstanceID) 0
-#define FireEtwBGC2ndNonConBegin(ClrInstanceID) 0
-#define FireEtwBGC2ndNonConEnd(ClrInstanceID) 0
-#define FireEtwBGC2ndConBegin(ClrInstanceID) 0
-#define FireEtwBGC2ndConEnd(ClrInstanceID) 0
-#define FireEtwBGCPlanEnd(ClrInstanceID) 0
-#define FireEtwBGCSweepEnd(ClrInstanceID) 0
-#define FireEtwBGCDrainMark(Objects, ClrInstanceID) 0
-#define FireEtwBGCRevisit(Pages, Objects, IsLarge, ClrInstanceID) 0
-#define FireEtwBGCOverflow(Min, Max, Objects, IsLarge, ClrInstanceID) 0
-#define FireEtwBGCAllocWaitBegin(Reason, ClrInstanceID) 0
-#define FireEtwBGCAllocWaitEnd(Reason, ClrInstanceID) 0
-#define FireEtwGCFullNotify(GenNumber, IsAlloc) 0
-#define FireEtwGCFullNotify_V1(GenNumber, IsAlloc, ClrInstanceID) 0
-#define FireEtwEEStartupStart() 0
-#define FireEtwEEStartupStart_V1(ClrInstanceID) 0
-#define FireEtwEEStartupEnd() 0
-#define FireEtwEEStartupEnd_V1(ClrInstanceID) 0
-#define FireEtwEEConfigSetup() 0
-#define FireEtwEEConfigSetup_V1(ClrInstanceID) 0
-#define FireEtwEEConfigSetupEnd() 0
-#define FireEtwEEConfigSetupEnd_V1(ClrInstanceID) 0
-#define FireEtwLdSysBases() 0
-#define FireEtwLdSysBases_V1(ClrInstanceID) 0
-#define FireEtwLdSysBasesEnd() 0
-#define FireEtwLdSysBasesEnd_V1(ClrInstanceID) 0
-#define FireEtwExecExe() 0
-#define FireEtwExecExe_V1(ClrInstanceID) 0
-#define FireEtwExecExeEnd() 0
-#define FireEtwExecExeEnd_V1(ClrInstanceID) 0
-#define FireEtwMain() 0
-#define FireEtwMain_V1(ClrInstanceID) 0
-#define FireEtwMainEnd() 0
-#define FireEtwMainEnd_V1(ClrInstanceID) 0
-#define FireEtwApplyPolicyStart() 0
-#define FireEtwApplyPolicyStart_V1(ClrInstanceID) 0
-#define FireEtwApplyPolicyEnd() 0
-#define FireEtwApplyPolicyEnd_V1(ClrInstanceID) 0
-#define FireEtwLdLibShFolder() 0
-#define FireEtwLdLibShFolder_V1(ClrInstanceID) 0
-#define FireEtwLdLibShFolderEnd() 0
-#define FireEtwLdLibShFolderEnd_V1(ClrInstanceID) 0
-#define FireEtwPrestubWorker() 0
-#define FireEtwPrestubWorker_V1(ClrInstanceID) 0
-#define FireEtwPrestubWorkerEnd() 0
-#define FireEtwPrestubWorkerEnd_V1(ClrInstanceID) 0
-#define FireEtwGetInstallationStart() 0
-#define FireEtwGetInstallationStart_V1(ClrInstanceID) 0
-#define FireEtwGetInstallationEnd() 0
-#define FireEtwGetInstallationEnd_V1(ClrInstanceID) 0
-#define FireEtwOpenHModule() 0
-#define FireEtwOpenHModule_V1(ClrInstanceID) 0
-#define FireEtwOpenHModuleEnd() 0
-#define FireEtwOpenHModuleEnd_V1(ClrInstanceID) 0
-#define FireEtwExplicitBindStart() 0
-#define FireEtwExplicitBindStart_V1(ClrInstanceID) 0
-#define FireEtwExplicitBindEnd() 0
-#define FireEtwExplicitBindEnd_V1(ClrInstanceID) 0
-#define FireEtwParseXml() 0
-#define FireEtwParseXml_V1(ClrInstanceID) 0
-#define FireEtwParseXmlEnd() 0
-#define FireEtwParseXmlEnd_V1(ClrInstanceID) 0
-#define FireEtwInitDefaultDomain() 0
-#define FireEtwInitDefaultDomain_V1(ClrInstanceID) 0
-#define FireEtwInitDefaultDomainEnd() 0
-#define FireEtwInitDefaultDomainEnd_V1(ClrInstanceID) 0
-#define FireEtwInitSecurity() 0
-#define FireEtwInitSecurity_V1(ClrInstanceID) 0
-#define FireEtwInitSecurityEnd() 0
-#define FireEtwInitSecurityEnd_V1(ClrInstanceID) 0
-#define FireEtwAllowBindingRedirs() 0
-#define FireEtwAllowBindingRedirs_V1(ClrInstanceID) 0
-#define FireEtwAllowBindingRedirsEnd() 0
-#define FireEtwAllowBindingRedirsEnd_V1(ClrInstanceID) 0
-#define FireEtwEEConfigSync() 0
-#define FireEtwEEConfigSync_V1(ClrInstanceID) 0
-#define FireEtwEEConfigSyncEnd() 0
-#define FireEtwEEConfigSyncEnd_V1(ClrInstanceID) 0
-#define FireEtwFusionBinding() 0
-#define FireEtwFusionBinding_V1(ClrInstanceID) 0
-#define FireEtwFusionBindingEnd() 0
-#define FireEtwFusionBindingEnd_V1(ClrInstanceID) 0
-#define FireEtwLoaderCatchCall() 0
-#define FireEtwLoaderCatchCall_V1(ClrInstanceID) 0
-#define FireEtwLoaderCatchCallEnd() 0
-#define FireEtwLoaderCatchCallEnd_V1(ClrInstanceID) 0
-#define FireEtwFusionInit() 0
-#define FireEtwFusionInit_V1(ClrInstanceID) 0
-#define FireEtwFusionInitEnd() 0
-#define FireEtwFusionInitEnd_V1(ClrInstanceID) 0
-#define FireEtwFusionAppCtx() 0
-#define FireEtwFusionAppCtx_V1(ClrInstanceID) 0
-#define FireEtwFusionAppCtxEnd() 0
-#define FireEtwFusionAppCtxEnd_V1(ClrInstanceID) 0
-#define FireEtwFusion2EE() 0
-#define FireEtwFusion2EE_V1(ClrInstanceID) 0
-#define FireEtwFusion2EEEnd() 0
-#define FireEtwFusion2EEEnd_V1(ClrInstanceID) 0
-#define FireEtwSecurityCatchCall() 0
-#define FireEtwSecurityCatchCall_V1(ClrInstanceID) 0
-#define FireEtwSecurityCatchCallEnd() 0
-#define FireEtwSecurityCatchCallEnd_V1(ClrInstanceID) 0
-#define FireEtwCLRStackWalkPrivate(ClrInstanceID, Reserved1, Reserved2, FrameCount, Stack) 0
-#define FireEtwModuleRangeLoadPrivate(ClrInstanceID, ModuleID, RangeBegin, RangeSize, RangeType, IBCType, SectionType) 0
-#define FireEtwBindingPolicyPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwBindingPolicyPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwBindingNgenPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwBindingNgenPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwBindingLookupAndProbingPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwBindingLookupAndProbingPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwLoaderPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwLoaderPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwBindingPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwBindingPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwBindingDownloadPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwBindingDownloadPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwLoaderAssemblyInitPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwLoaderAssemblyInitPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwLoaderMappingPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwLoaderMappingPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwLoaderDeliverEventsPhaseStart(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwLoaderDeliverEventsPhaseEnd(AppDomainID, LoadContextID, FromLoaderCache, DynamicLoad, AssemblyCodebase, AssemblyName, ClrInstanceID) 0
-#define FireEtwEvidenceGenerated(Type, AppDomain, ILImage, ClrInstanceID) 0
-#define FireEtwModuleTransparencyComputationStart(Module, AppDomainID, ClrInstanceID) 0
-#define FireEtwModuleTransparencyComputationEnd(Module, AppDomainID, IsAllCritical, IsAllTransparent, IsTreatAsSafe, IsOpportunisticallyCritical, SecurityRuleSet, ClrInstanceID) 0
-#define FireEtwTypeTransparencyComputationStart(Type, Module, AppDomainID, ClrInstanceID) 0
-#define FireEtwTypeTransparencyComputationEnd(Type, Module, AppDomainID, IsAllCritical, IsAllTransparent, IsCritical, IsTreatAsSafe, ClrInstanceID) 0
-#define FireEtwMethodTransparencyComputationStart(Method, Module, AppDomainID, ClrInstanceID) 0
-#define FireEtwMethodTransparencyComputationEnd(Method, Module, AppDomainID, IsCritical, IsTreatAsSafe, ClrInstanceID) 0
-#define FireEtwFieldTransparencyComputationStart(Field, Module, AppDomainID, ClrInstanceID) 0
-#define FireEtwFieldTransparencyComputationEnd(Field, Module, AppDomainID, IsCritical, IsTreatAsSafe, ClrInstanceID) 0
-#define FireEtwTokenTransparencyComputationStart(Token, Module, AppDomainID, ClrInstanceID) 0
-#define FireEtwTokenTransparencyComputationEnd(Token, Module, AppDomainID, IsCritical, IsTreatAsSafe, ClrInstanceID) 0
-#define FireEtwNgenBindEvent(ClrInstanceID, BindingID, ReasonCode, AssemblyName) 0
-#define FireEtwFailFast(FailFastUserMessage, FailedEIP, OSExitCode, ClrExitCode, ClrInstanceID) 0
-#define FireEtwPrvFinalizeObject(TypeID, ObjectID, ClrInstanceID, TypeName) 0
-#define FireEtwCCWRefCountChange(HandleID, ObjectID, COMInterfacePointer, NewRefCount, AppDomainID, ClassName, NameSpace, Operation, ClrInstanceID) 0
-#define FireEtwPrvSetGCHandle(HandleID, ObjectID, Kind, Generation, AppDomainID, ClrInstanceID) 0
-#define FireEtwPrvDestroyGCHandle(HandleID, ClrInstanceID) 0
-#define FireEtwFusionMessageEvent(ClrInstanceID, Prepend, Message) 0
-#define FireEtwFusionErrorCodeEvent(ClrInstanceID, Category, ErrorCode) 0
-#define FireEtwPinPlugAtGCTime(PlugStart, PlugEnd, GapBeforeSize, ClrInstanceID) 0
-#define FireEtwAllocRequest(LoaderHeapPtr, MemoryAddress, RequestSize, Unused1, Unused2, ClrInstanceID) 0
-#define FireEtwMulticoreJit(ClrInstanceID, String1, String2, Int1, Int2, Int3) 0
-#define FireEtwMulticoreJitMethodCodeReturned(ClrInstanceID, ModuleID, MethodID) 0
-#define FireEtwIInspectableRuntimeClassName(TypeName, ClrInstanceID) 0
-#define FireEtwWinRTUnbox(TypeName, SecondTypeName, ClrInstanceID) 0
-#define FireEtwCreateRCW(TypeName, ClrInstanceID) 0
-#define FireEtwRCWVariance(TypeName, InterfaceTypeName, VariantInterfaceTypeName, ClrInstanceID) 0
-#define FireEtwRCWIEnumerableCasting(TypeName, SecondTypeName, ClrInstanceID) 0
-#define FireEtwCreateCCW(TypeName, ClrInstanceID) 0
-#define FireEtwCCWVariance(TypeName, InterfaceTypeName, VariantInterfaceTypeName, ClrInstanceID) 0
-#define FireEtwObjectVariantMarshallingToNative(TypeName, Int1, ClrInstanceID) 0
-#define FireEtwGetTypeFromGUID(TypeName, SecondTypeName, ClrInstanceID) 0
-#define FireEtwGetTypeFromProgID(TypeName, SecondTypeName, ClrInstanceID) 0
-#define FireEtwConvertToCallbackEtw(TypeName, SecondTypeName, ClrInstanceID) 0
-#define FireEtwBeginCreateManagedReference(ClrInstanceID) 0
-#define FireEtwEndCreateManagedReference(ClrInstanceID) 0
-#define FireEtwObjectVariantMarshallingToManaged(TypeName, Int1, ClrInstanceID) 0
diff --git a/src/pal/src/CMakeLists.txt b/src/pal/src/CMakeLists.txt
index b460665f61..6034c9da4a 100644
--- a/src/pal/src/CMakeLists.txt
+++ b/src/pal/src/CMakeLists.txt
@@ -253,7 +253,7 @@ endif(CMAKE_SYSTEM_NAME STREQUAL Darwin)
add_subdirectory(examples)
if(CMAKE_SYSTEM_NAME STREQUAL Linux)
-add_subdirectory(eventprovider)
+ add_subdirectory($ENV{__GeneratedIntermediatesDir}/eventprovider ${CMAKE_CURRENT_BINARY_DIR}/eventprovider)
endif(CMAKE_SYSTEM_NAME STREQUAL Linux)
# Install the static PAL library for VS
diff --git a/src/pal/src/eventprovider/CMakeLists.txt b/src/pal/src/eventprovider/CMakeLists.txt
deleted file mode 100644
index e86489c0f6..0000000000
--- a/src/pal/src/eventprovider/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-cmake_minimum_required(VERSION 2.8.12.2)
-
-project(eventprovider)
-
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-add_definitions(-DPAL_STDCPP_COMPAT=1)
-include_directories(${COREPAL_SOURCE_DIR}/inc/rt)
-
-add_library(eventprovider
- STATIC
- "lttng/eventprovdotnetruntimestress.cpp"
- "lttng/eventprovdotnetruntime.cpp"
- "lttng/eventprovdotnetruntimeprivate.cpp"
- "lttng/eventprovdotnetruntimerundown.cpp"
- )
-add_subdirectory(tracepointprovider)
-
-# Install the static PAL library for VS
-install (TARGETS eventprovider DESTINATION lib)
-
diff --git a/src/pal/src/eventprovider/lttng/eventprovdotnetruntime.cpp b/src/pal/src/eventprovider/lttng/eventprovdotnetruntime.cpp
deleted file mode 100644
index 1a0a25118b..0000000000
--- a/src/pal/src/eventprovider/lttng/eventprovdotnetruntime.cpp
+++ /dev/null
@@ -1,5850 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-
-#define TRACEPOINT_DEFINE
-#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
-#include "lttng/tpdotnetruntime.h"
-extern "C" BOOL EventXplatEnabledGCStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCStart(
- const unsigned int Count,
- const unsigned int Reason
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCStart()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCStart,
- Count,
- Reason
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCStart_V1(
- const unsigned int Count,
- const unsigned int Depth,
- const unsigned int Reason,
- const unsigned int Type,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCStart_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCStart_V1,
- Count,
- Depth,
- Reason,
- Type,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCStart_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCStart_V2(
- const unsigned int Count,
- const unsigned int Depth,
- const unsigned int Reason,
- const unsigned int Type,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ClientSequenceNumber
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCStart_V2()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCStart_V2,
- Count,
- Depth,
- Reason,
- Type,
- ClrInstanceID,
- ClientSequenceNumber
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCEnd(
- const unsigned int Count,
- const unsigned short Depth
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCEnd,
- Count,
- Depth
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCEnd_V1(
- const unsigned int Count,
- const unsigned int Depth,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCEnd_V1,
- Count,
- Depth,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCRestartEEEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCRestartEEEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCRestartEEEnd()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- GCRestartEEEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCRestartEEEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCRestartEEEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCRestartEEEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCRestartEEEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCHeapStats(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCHeapStats(
- const unsigned __int64 GenerationSize0,
- const unsigned __int64 TotalPromotedSize0,
- const unsigned __int64 GenerationSize1,
- const unsigned __int64 TotalPromotedSize1,
- const unsigned __int64 GenerationSize2,
- const unsigned __int64 TotalPromotedSize2,
- const unsigned __int64 GenerationSize3,
- const unsigned __int64 TotalPromotedSize3,
- const unsigned __int64 FinalizationPromotedSize,
- const unsigned __int64 FinalizationPromotedCount,
- const unsigned int PinnedObjectCount,
- const unsigned int SinkBlockCount,
- const unsigned int GCHandleCount
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCHeapStats()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCHeapStats,
- GenerationSize0,
- TotalPromotedSize0,
- GenerationSize1,
- TotalPromotedSize1,
- GenerationSize2,
- TotalPromotedSize2,
- GenerationSize3,
- TotalPromotedSize3,
- FinalizationPromotedSize,
- FinalizationPromotedCount
- );
-
- tracepoint(
- DotNETRuntime,
- GCHeapStats_1,
- PinnedObjectCount,
- SinkBlockCount,
- GCHandleCount
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCHeapStats_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCHeapStats_V1(
- const unsigned __int64 GenerationSize0,
- const unsigned __int64 TotalPromotedSize0,
- const unsigned __int64 GenerationSize1,
- const unsigned __int64 TotalPromotedSize1,
- const unsigned __int64 GenerationSize2,
- const unsigned __int64 TotalPromotedSize2,
- const unsigned __int64 GenerationSize3,
- const unsigned __int64 TotalPromotedSize3,
- const unsigned __int64 FinalizationPromotedSize,
- const unsigned __int64 FinalizationPromotedCount,
- const unsigned int PinnedObjectCount,
- const unsigned int SinkBlockCount,
- const unsigned int GCHandleCount,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCHeapStats_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCHeapStats_V1,
- GenerationSize0,
- TotalPromotedSize0,
- GenerationSize1,
- TotalPromotedSize1,
- GenerationSize2,
- TotalPromotedSize2,
- GenerationSize3,
- TotalPromotedSize3,
- FinalizationPromotedSize,
- FinalizationPromotedCount
- );
-
- tracepoint(
- DotNETRuntime,
- GCHeapStats_V1_1,
- PinnedObjectCount,
- SinkBlockCount,
- GCHandleCount,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCCreateSegment(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCCreateSegment(
- const unsigned __int64 Address,
- const unsigned __int64 Size,
- const unsigned int Type
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCCreateSegment()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCCreateSegment,
- Address,
- Size,
- Type
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCCreateSegment_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCCreateSegment_V1(
- const unsigned __int64 Address,
- const unsigned __int64 Size,
- const unsigned int Type,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCCreateSegment_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCCreateSegment_V1,
- Address,
- Size,
- Type,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCFreeSegment(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCFreeSegment(
- const unsigned __int64 Address
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCFreeSegment()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCFreeSegment,
- Address
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCFreeSegment_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCFreeSegment_V1(
- const unsigned __int64 Address,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCFreeSegment_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCFreeSegment_V1,
- Address,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCRestartEEBegin(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCRestartEEBegin(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCRestartEEBegin()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- GCRestartEEBegin
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCRestartEEBegin_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCRestartEEBegin_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCRestartEEBegin_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCRestartEEBegin_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCSuspendEEEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCSuspendEEEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCSuspendEEEnd()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- GCSuspendEEEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCSuspendEEEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCSuspendEEEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCSuspendEEEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCSuspendEEEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCSuspendEEBegin(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCSuspendEEBegin(
- const unsigned short Reason
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCSuspendEEBegin()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCSuspendEEBegin,
- Reason
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCSuspendEEBegin_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCSuspendEEBegin_V1(
- const unsigned int Reason,
- const unsigned int Count,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCSuspendEEBegin_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCSuspendEEBegin_V1,
- Reason,
- Count,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCAllocationTick(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCAllocationTick(
- const unsigned int AllocationAmount,
- const unsigned int AllocationKind
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCAllocationTick()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCAllocationTick,
- AllocationAmount,
- AllocationKind
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCAllocationTick_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCAllocationTick_V1(
- const unsigned int AllocationAmount,
- const unsigned int AllocationKind,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCAllocationTick_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCAllocationTick_V1,
- AllocationAmount,
- AllocationKind,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCAllocationTick_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCAllocationTick_V2(
- const unsigned int AllocationAmount,
- const unsigned int AllocationKind,
- const unsigned short ClrInstanceID,
- const unsigned __int64 AllocationAmount64,
- const void* TypeID,
- PCWSTR TypeName,
- const unsigned int HeapIndex
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCAllocationTick_V2()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- GCAllocationTick_V2,
- AllocationAmount,
- AllocationKind,
- ClrInstanceID,
- AllocationAmount64,
- (const size_t) TypeID,
- TypeName_full_name,
- HeapIndex
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCAllocationTick_V3(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCAllocationTick_V3(
- const unsigned int AllocationAmount,
- const unsigned int AllocationKind,
- const unsigned short ClrInstanceID,
- const unsigned __int64 AllocationAmount64,
- const void* TypeID,
- PCWSTR TypeName,
- const unsigned int HeapIndex,
- const void* Address
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCAllocationTick_V3()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- GCAllocationTick_V3,
- AllocationAmount,
- AllocationKind,
- ClrInstanceID,
- AllocationAmount64,
- (const size_t) TypeID,
- TypeName_full_name,
- HeapIndex,
- (const size_t) Address
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCCreateConcurrentThread(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCCreateConcurrentThread(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCCreateConcurrentThread()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- GCCreateConcurrentThread
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCCreateConcurrentThread_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCCreateConcurrentThread_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCCreateConcurrentThread_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCCreateConcurrentThread_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCTerminateConcurrentThread(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCTerminateConcurrentThread(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCTerminateConcurrentThread()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- GCTerminateConcurrentThread
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCTerminateConcurrentThread_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCTerminateConcurrentThread_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCTerminateConcurrentThread_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCTerminateConcurrentThread_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCFinalizersEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCFinalizersEnd(
- const unsigned int Count
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCFinalizersEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCFinalizersEnd,
- Count
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCFinalizersEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCFinalizersEnd_V1(
- const unsigned int Count,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCFinalizersEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCFinalizersEnd_V1,
- Count,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCFinalizersBegin(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCFinalizersBegin(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCFinalizersBegin()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- GCFinalizersBegin
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCFinalizersBegin_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCFinalizersBegin_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCFinalizersBegin_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCFinalizersBegin_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBulkType(){ return TRUE;}
-extern "C" ULONG FireEtXplatBulkType(
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg2_Struct_Len_,
- const void* Arg2_Struct_Pointer_
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBulkType()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- BulkType,
- Count,
- ClrInstanceID,
- Arg2_Struct_Len_,
- (const int*) Arg2_Struct_Pointer_
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCBulkRootEdge(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCBulkRootEdge(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCBulkRootEdge()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCBulkRootEdge,
- Index,
- Count,
- ClrInstanceID,
- Arg3_Struct_Len_,
- (const int*) Arg3_Struct_Pointer_
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCBulkRootConditionalWeakTableElementEdge(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCBulkRootConditionalWeakTableElementEdge(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCBulkRootConditionalWeakTableElementEdge()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCBulkRootConditionalWeakTableElementEdge,
- Index,
- Count,
- ClrInstanceID,
- Arg3_Struct_Len_,
- (const int*) Arg3_Struct_Pointer_
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCBulkNode(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCBulkNode(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCBulkNode()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCBulkNode,
- Index,
- Count,
- ClrInstanceID,
- Arg3_Struct_Len_,
- (const int*) Arg3_Struct_Pointer_
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCBulkEdge(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCBulkEdge(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCBulkEdge()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCBulkEdge,
- Index,
- Count,
- ClrInstanceID,
- Arg3_Struct_Len_,
- (const int*) Arg3_Struct_Pointer_
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCSampledObjectAllocationHigh(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCSampledObjectAllocationHigh(
- const void* Address,
- const void* TypeID,
- const unsigned int ObjectCountForTypeSample,
- const unsigned __int64 TotalSizeForTypeSample,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCSampledObjectAllocationHigh()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCSampledObjectAllocationHigh,
- (const size_t) Address,
- (const size_t) TypeID,
- ObjectCountForTypeSample,
- TotalSizeForTypeSample,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCBulkSurvivingObjectRanges(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCBulkSurvivingObjectRanges(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCBulkSurvivingObjectRanges()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCBulkSurvivingObjectRanges,
- Index,
- Count,
- ClrInstanceID,
- Arg3_Struct_Len_,
- (const int*) Arg3_Struct_Pointer_
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCBulkMovedObjectRanges(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCBulkMovedObjectRanges(
- const unsigned int Index,
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCBulkMovedObjectRanges()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCBulkMovedObjectRanges,
- Index,
- Count,
- ClrInstanceID,
- Arg3_Struct_Len_,
- (const int*) Arg3_Struct_Pointer_
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCGenerationRange(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCGenerationRange(
- const unsigned char Generation,
- const void* RangeStart,
- const unsigned __int64 RangeUsedLength,
- const unsigned __int64 RangeReservedLength,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCGenerationRange()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCGenerationRange,
- Generation,
- (const size_t) RangeStart,
- RangeUsedLength,
- RangeReservedLength,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCMarkStackRoots(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCMarkStackRoots(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCMarkStackRoots()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCMarkStackRoots,
- HeapNum,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCMarkFinalizeQueueRoots(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCMarkFinalizeQueueRoots(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCMarkFinalizeQueueRoots()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCMarkFinalizeQueueRoots,
- HeapNum,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCMarkHandles(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCMarkHandles(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCMarkHandles()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCMarkHandles,
- HeapNum,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCMarkOlderGenerationRoots(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCMarkOlderGenerationRoots(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCMarkOlderGenerationRoots()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCMarkOlderGenerationRoots,
- HeapNum,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFinalizeObject(){ return TRUE;}
-extern "C" ULONG FireEtXplatFinalizeObject(
- const void* TypeID,
- const void* ObjectID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFinalizeObject()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- FinalizeObject,
- (const size_t) TypeID,
- (const size_t) ObjectID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledSetGCHandle(){ return TRUE;}
-extern "C" ULONG FireEtXplatSetGCHandle(
- const void* HandleID,
- const void* ObjectID,
- const unsigned int Kind,
- const unsigned int Generation,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledSetGCHandle()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- SetGCHandle,
- (const size_t) HandleID,
- (const size_t) ObjectID,
- Kind,
- Generation,
- AppDomainID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDestroyGCHandle(){ return TRUE;}
-extern "C" ULONG FireEtXplatDestroyGCHandle(
- const void* HandleID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDestroyGCHandle()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- DestroyGCHandle,
- (const size_t) HandleID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCSampledObjectAllocationLow(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCSampledObjectAllocationLow(
- const void* Address,
- const void* TypeID,
- const unsigned int ObjectCountForTypeSample,
- const unsigned __int64 TotalSizeForTypeSample,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCSampledObjectAllocationLow()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCSampledObjectAllocationLow,
- (const size_t) Address,
- (const size_t) TypeID,
- ObjectCountForTypeSample,
- TotalSizeForTypeSample,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPinObjectAtGCTime(){ return TRUE;}
-extern "C" ULONG FireEtXplatPinObjectAtGCTime(
- const void* HandleID,
- const void* ObjectID,
- const unsigned __int64 ObjectSize,
- PCWSTR TypeName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPinObjectAtGCTime()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- PinObjectAtGCTime,
- (const size_t) HandleID,
- (const size_t) ObjectID,
- ObjectSize,
- TypeName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCTriggered(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCTriggered(
- const unsigned int Reason,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCTriggered()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCTriggered,
- Reason,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCBulkRootCCW(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCBulkRootCCW(
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg2_Struct_Len_,
- const void* Arg2_Struct_Pointer_
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCBulkRootCCW()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCBulkRootCCW,
- Count,
- ClrInstanceID,
- Arg2_Struct_Len_,
- (const int*) Arg2_Struct_Pointer_
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCBulkRCW(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCBulkRCW(
- const unsigned int Count,
- const unsigned short ClrInstanceID,
- const ULONG Arg2_Struct_Len_,
- const void* Arg2_Struct_Pointer_
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCBulkRCW()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCBulkRCW,
- Count,
- ClrInstanceID,
- Arg2_Struct_Len_,
- (const int*) Arg2_Struct_Pointer_
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCBulkRootStaticVar(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCBulkRootStaticVar(
- const unsigned int Count,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID,
- const ULONG Arg3_Struct_Len_,
- const void* Arg3_Struct_Pointer_
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCBulkRootStaticVar()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCBulkRootStaticVar,
- Count,
- AppDomainID,
- ClrInstanceID,
- Arg3_Struct_Len_,
- (const int*) Arg3_Struct_Pointer_
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledWorkerThreadCreate(){ return TRUE;}
-extern "C" ULONG FireEtXplatWorkerThreadCreate(
- const unsigned int WorkerThreadCount,
- const unsigned int RetiredWorkerThreads
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledWorkerThreadCreate()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- WorkerThreadCreate,
- WorkerThreadCount,
- RetiredWorkerThreads
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledWorkerThreadTerminate(){ return TRUE;}
-extern "C" ULONG FireEtXplatWorkerThreadTerminate(
- const unsigned int WorkerThreadCount,
- const unsigned int RetiredWorkerThreads
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledWorkerThreadTerminate()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- WorkerThreadTerminate,
- WorkerThreadCount,
- RetiredWorkerThreads
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledWorkerThreadRetire(){ return TRUE;}
-extern "C" ULONG FireEtXplatWorkerThreadRetire(
- const unsigned int WorkerThreadCount,
- const unsigned int RetiredWorkerThreads
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledWorkerThreadRetire()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- WorkerThreadRetire,
- WorkerThreadCount,
- RetiredWorkerThreads
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledWorkerThreadUnretire(){ return TRUE;}
-extern "C" ULONG FireEtXplatWorkerThreadUnretire(
- const unsigned int WorkerThreadCount,
- const unsigned int RetiredWorkerThreads
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledWorkerThreadUnretire()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- WorkerThreadUnretire,
- WorkerThreadCount,
- RetiredWorkerThreads
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledIOThreadCreate(){ return TRUE;}
-extern "C" ULONG FireEtXplatIOThreadCreate(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledIOThreadCreate()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- IOThreadCreate,
- IOThreadCount,
- RetiredIOThreads
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledIOThreadCreate_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatIOThreadCreate_V1(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledIOThreadCreate_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- IOThreadCreate_V1,
- IOThreadCount,
- RetiredIOThreads,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledIOThreadTerminate(){ return TRUE;}
-extern "C" ULONG FireEtXplatIOThreadTerminate(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledIOThreadTerminate()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- IOThreadTerminate,
- IOThreadCount,
- RetiredIOThreads
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledIOThreadTerminate_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatIOThreadTerminate_V1(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledIOThreadTerminate_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- IOThreadTerminate_V1,
- IOThreadCount,
- RetiredIOThreads,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledIOThreadRetire(){ return TRUE;}
-extern "C" ULONG FireEtXplatIOThreadRetire(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledIOThreadRetire()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- IOThreadRetire,
- IOThreadCount,
- RetiredIOThreads
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledIOThreadRetire_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatIOThreadRetire_V1(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledIOThreadRetire_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- IOThreadRetire_V1,
- IOThreadCount,
- RetiredIOThreads,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledIOThreadUnretire(){ return TRUE;}
-extern "C" ULONG FireEtXplatIOThreadUnretire(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledIOThreadUnretire()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- IOThreadUnretire,
- IOThreadCount,
- RetiredIOThreads
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledIOThreadUnretire_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatIOThreadUnretire_V1(
- const unsigned int IOThreadCount,
- const unsigned int RetiredIOThreads,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledIOThreadUnretire_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- IOThreadUnretire_V1,
- IOThreadCount,
- RetiredIOThreads,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadpoolSuspensionSuspendThread(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadpoolSuspensionSuspendThread(
- const unsigned int ClrThreadID,
- const unsigned int CpuUtilization
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadpoolSuspensionSuspendThread()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadpoolSuspensionSuspendThread,
- ClrThreadID,
- CpuUtilization
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadpoolSuspensionResumeThread(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadpoolSuspensionResumeThread(
- const unsigned int ClrThreadID,
- const unsigned int CpuUtilization
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadpoolSuspensionResumeThread()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadpoolSuspensionResumeThread,
- ClrThreadID,
- CpuUtilization
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadStart(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolWorkerThreadStart()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolWorkerThreadStart,
- ActiveWorkerThreadCount,
- RetiredWorkerThreadCount,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadStop(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadStop(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolWorkerThreadStop()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolWorkerThreadStop,
- ActiveWorkerThreadCount,
- RetiredWorkerThreadCount,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadRetirementStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadRetirementStart(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolWorkerThreadRetirementStart()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolWorkerThreadRetirementStart,
- ActiveWorkerThreadCount,
- RetiredWorkerThreadCount,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadRetirementStop(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadRetirementStop(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolWorkerThreadRetirementStop()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolWorkerThreadRetirementStop,
- ActiveWorkerThreadCount,
- RetiredWorkerThreadCount,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadAdjustmentSample(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadAdjustmentSample(
- const double Throughput,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolWorkerThreadAdjustmentSample()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolWorkerThreadAdjustmentSample,
- Throughput,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadAdjustmentAdjustment(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadAdjustmentAdjustment(
- const double AverageThroughput,
- const unsigned int NewWorkerThreadCount,
- const unsigned int Reason,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolWorkerThreadAdjustmentAdjustment()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolWorkerThreadAdjustmentAdjustment,
- AverageThroughput,
- NewWorkerThreadCount,
- Reason,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadAdjustmentStats(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadAdjustmentStats(
- const double Duration,
- const double Throughput,
- const double ThreadWave,
- const double ThroughputWave,
- const double ThroughputErrorEstimate,
- const double AverageThroughputErrorEstimate,
- const double ThroughputRatio,
- const double Confidence,
- const double NewControlSetting,
- const unsigned short NewThreadWaveMagnitude,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolWorkerThreadAdjustmentStats()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolWorkerThreadAdjustmentStats,
- Duration,
- Throughput,
- ThreadWave,
- ThroughputWave,
- ThroughputErrorEstimate,
- AverageThroughputErrorEstimate,
- ThroughputRatio,
- Confidence,
- NewControlSetting,
- NewThreadWaveMagnitude
- );
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolWorkerThreadAdjustmentStats_1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolWorkerThreadWait(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolWorkerThreadWait(
- const unsigned int ActiveWorkerThreadCount,
- const unsigned int RetiredWorkerThreadCount,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolWorkerThreadWait()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolWorkerThreadWait,
- ActiveWorkerThreadCount,
- RetiredWorkerThreadCount,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolWorkingThreadCount(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolWorkingThreadCount(
- const unsigned int Count,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolWorkingThreadCount()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolWorkingThreadCount,
- Count,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolEnqueue(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolEnqueue(
- const void* WorkID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolEnqueue()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolEnqueue,
- (const size_t) WorkID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolDequeue(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolDequeue(
- const void* WorkID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolDequeue()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolDequeue,
- (const size_t) WorkID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolIOEnqueue(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolIOEnqueue(
- const void* NativeOverlapped,
- const void* Overlapped,
- const BOOL MultiDequeues,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolIOEnqueue()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolIOEnqueue,
- (const size_t) NativeOverlapped,
- (const size_t) Overlapped,
- MultiDequeues,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolIODequeue(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolIODequeue(
- const void* NativeOverlapped,
- const void* Overlapped,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolIODequeue()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolIODequeue,
- (const size_t) NativeOverlapped,
- (const size_t) Overlapped,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadPoolIOPack(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadPoolIOPack(
- const void* NativeOverlapped,
- const void* Overlapped,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadPoolIOPack()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadPoolIOPack,
- (const size_t) NativeOverlapped,
- (const size_t) Overlapped,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadCreating(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadCreating(
- const void* ID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadCreating()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadCreating,
- (const size_t) ID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadRunning(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadRunning(
- const void* ID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadRunning()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadRunning,
- (const size_t) ID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExceptionThrown(){ return TRUE;}
-extern "C" ULONG FireEtXplatExceptionThrown(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExceptionThrown()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- ExceptionThrown
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExceptionThrown_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatExceptionThrown_V1(
- PCWSTR ExceptionType,
- PCWSTR ExceptionMessage,
- const void* ExceptionEIP,
- const unsigned int ExceptionHRESULT,
- const unsigned short ExceptionFlags,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExceptionThrown_V1()){ return ERROR_SUCCESS;};
- INT ExceptionType_path_size = -1;
- INT ExceptionType_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ExceptionType, -1, NULL, 0, NULL, NULL );
- CHAR* ExceptionType_full_name=NULL;
- INT ExceptionMessage_path_size = -1;
- INT ExceptionMessage_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ExceptionMessage, -1, NULL, 0, NULL, NULL );
- CHAR* ExceptionMessage_full_name=NULL;
-
- ExceptionType_full_name = (CHAR*)malloc(ExceptionType_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ExceptionType_full_name != NULL);
- if(ExceptionType_full_name == NULL){goto LExit;}
-
- ExceptionType_path_size = WideCharToMultiByte( CP_ACP, 0, ExceptionType, -1, ExceptionType_full_name, ExceptionType_full_name_path_size, NULL, NULL );
- _ASSERTE(ExceptionType_path_size == ExceptionType_full_name_path_size );
- if( ExceptionType_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ExceptionMessage_full_name = (CHAR*)malloc(ExceptionMessage_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ExceptionMessage_full_name != NULL);
- if(ExceptionMessage_full_name == NULL){goto LExit;}
-
- ExceptionMessage_path_size = WideCharToMultiByte( CP_ACP, 0, ExceptionMessage, -1, ExceptionMessage_full_name, ExceptionMessage_full_name_path_size, NULL, NULL );
- _ASSERTE(ExceptionMessage_path_size == ExceptionMessage_full_name_path_size );
- if( ExceptionMessage_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ExceptionThrown_V1,
- ExceptionType_full_name,
- ExceptionMessage_full_name,
- (const size_t) ExceptionEIP,
- ExceptionHRESULT,
- ExceptionFlags,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ExceptionMessage_full_name != NULL) {free(ExceptionMessage_full_name);}
- if (ExceptionType_full_name != NULL) {free(ExceptionType_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExceptionCatchStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatExceptionCatchStart(
- const unsigned __int64 EntryEIP,
- const unsigned __int64 MethodID,
- PCWSTR MethodName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExceptionCatchStart()){ return ERROR_SUCCESS;};
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
-
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ExceptionCatchStart,
- EntryEIP,
- MethodID,
- MethodName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExceptionCatchStop(){ return TRUE;}
-extern "C" ULONG FireEtXplatExceptionCatchStop(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExceptionCatchStop()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- ExceptionCatchStop
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExceptionFinallyStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatExceptionFinallyStart(
- const unsigned __int64 EntryEIP,
- const unsigned __int64 MethodID,
- PCWSTR MethodName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExceptionFinallyStart()){ return ERROR_SUCCESS;};
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
-
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ExceptionFinallyStart,
- EntryEIP,
- MethodID,
- MethodName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExceptionFinallyStop(){ return TRUE;}
-extern "C" ULONG FireEtXplatExceptionFinallyStop(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExceptionFinallyStop()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- ExceptionFinallyStop
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExceptionFilterStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatExceptionFilterStart(
- const unsigned __int64 EntryEIP,
- const unsigned __int64 MethodID,
- PCWSTR MethodName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExceptionFilterStart()){ return ERROR_SUCCESS;};
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
-
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ExceptionFilterStart,
- EntryEIP,
- MethodID,
- MethodName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExceptionFilterStop(){ return TRUE;}
-extern "C" ULONG FireEtXplatExceptionFilterStop(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExceptionFilterStop()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- ExceptionFilterStop
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExceptionThrownStop(){ return TRUE;}
-extern "C" ULONG FireEtXplatExceptionThrownStop(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExceptionThrownStop()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- ExceptionThrownStop
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledContention(){ return TRUE;}
-extern "C" ULONG FireEtXplatContention(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledContention()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- Contention
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledContentionStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatContentionStart_V1(
- const unsigned char ContentionFlags,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledContentionStart_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ContentionStart_V1,
- ContentionFlags,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledContentionStop(){ return TRUE;}
-extern "C" ULONG FireEtXplatContentionStop(
- const unsigned char ContentionFlags,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledContentionStop()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ContentionStop,
- ContentionFlags,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledCLRStackWalk(){ return TRUE;}
-extern "C" ULONG FireEtXplatCLRStackWalk(
- const unsigned short ClrInstanceID,
- const unsigned char Reserved1,
- const unsigned char Reserved2,
- const unsigned int FrameCount,
- const void** Stack
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledCLRStackWalk()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- CLRStackWalk,
- ClrInstanceID,
- Reserved1,
- Reserved2,
- FrameCount,
- (const size_t*) Stack
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAppDomainMemAllocated(){ return TRUE;}
-extern "C" ULONG FireEtXplatAppDomainMemAllocated(
- const unsigned __int64 AppDomainID,
- const unsigned __int64 Allocated,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAppDomainMemAllocated()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- AppDomainMemAllocated,
- AppDomainID,
- Allocated,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAppDomainMemSurvived(){ return TRUE;}
-extern "C" ULONG FireEtXplatAppDomainMemSurvived(
- const unsigned __int64 AppDomainID,
- const unsigned __int64 Survived,
- const unsigned __int64 ProcessSurvived,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAppDomainMemSurvived()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- AppDomainMemSurvived,
- AppDomainID,
- Survived,
- ProcessSurvived,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadCreated(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadCreated(
- const unsigned __int64 ManagedThreadID,
- const unsigned __int64 AppDomainID,
- const unsigned int Flags,
- const unsigned int ManagedThreadIndex,
- const unsigned int OSThreadID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadCreated()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadCreated,
- ManagedThreadID,
- AppDomainID,
- Flags,
- ManagedThreadIndex,
- OSThreadID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadTerminated(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadTerminated(
- const unsigned __int64 ManagedThreadID,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadTerminated()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadTerminated,
- ManagedThreadID,
- AppDomainID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadDomainEnter(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadDomainEnter(
- const unsigned __int64 ManagedThreadID,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadDomainEnter()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ThreadDomainEnter,
- ManagedThreadID,
- AppDomainID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledILStubGenerated(){ return TRUE;}
-extern "C" ULONG FireEtXplatILStubGenerated(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 StubMethodID,
- const unsigned int StubFlags,
- const unsigned int ManagedInteropMethodToken,
- PCWSTR ManagedInteropMethodNamespace,
- PCWSTR ManagedInteropMethodName,
- PCWSTR ManagedInteropMethodSignature,
- PCWSTR NativeMethodSignature,
- PCWSTR StubMethodSignature,
- PCWSTR StubMethodILCode
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledILStubGenerated()){ return ERROR_SUCCESS;};
- INT ManagedInteropMethodNamespace_path_size = -1;
- INT ManagedInteropMethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* ManagedInteropMethodNamespace_full_name=NULL;
- INT ManagedInteropMethodName_path_size = -1;
- INT ManagedInteropMethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodName, -1, NULL, 0, NULL, NULL );
- CHAR* ManagedInteropMethodName_full_name=NULL;
- INT ManagedInteropMethodSignature_path_size = -1;
- INT ManagedInteropMethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* ManagedInteropMethodSignature_full_name=NULL;
- INT NativeMethodSignature_path_size = -1;
- INT NativeMethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, NativeMethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* NativeMethodSignature_full_name=NULL;
- INT StubMethodSignature_path_size = -1;
- INT StubMethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, StubMethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* StubMethodSignature_full_name=NULL;
- INT StubMethodILCode_path_size = -1;
- INT StubMethodILCode_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, StubMethodILCode, -1, NULL, 0, NULL, NULL );
- CHAR* StubMethodILCode_full_name=NULL;
-
- ManagedInteropMethodNamespace_full_name = (CHAR*)malloc(ManagedInteropMethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ManagedInteropMethodNamespace_full_name != NULL);
- if(ManagedInteropMethodNamespace_full_name == NULL){goto LExit;}
-
- ManagedInteropMethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodNamespace, -1, ManagedInteropMethodNamespace_full_name, ManagedInteropMethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(ManagedInteropMethodNamespace_path_size == ManagedInteropMethodNamespace_full_name_path_size );
- if( ManagedInteropMethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ManagedInteropMethodName_full_name = (CHAR*)malloc(ManagedInteropMethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ManagedInteropMethodName_full_name != NULL);
- if(ManagedInteropMethodName_full_name == NULL){goto LExit;}
-
- ManagedInteropMethodName_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodName, -1, ManagedInteropMethodName_full_name, ManagedInteropMethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(ManagedInteropMethodName_path_size == ManagedInteropMethodName_full_name_path_size );
- if( ManagedInteropMethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ManagedInteropMethodSignature_full_name = (CHAR*)malloc(ManagedInteropMethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ManagedInteropMethodSignature_full_name != NULL);
- if(ManagedInteropMethodSignature_full_name == NULL){goto LExit;}
-
- ManagedInteropMethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodSignature, -1, ManagedInteropMethodSignature_full_name, ManagedInteropMethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(ManagedInteropMethodSignature_path_size == ManagedInteropMethodSignature_full_name_path_size );
- if( ManagedInteropMethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- NativeMethodSignature_full_name = (CHAR*)malloc(NativeMethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(NativeMethodSignature_full_name != NULL);
- if(NativeMethodSignature_full_name == NULL){goto LExit;}
-
- NativeMethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, NativeMethodSignature, -1, NativeMethodSignature_full_name, NativeMethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(NativeMethodSignature_path_size == NativeMethodSignature_full_name_path_size );
- if( NativeMethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- StubMethodSignature_full_name = (CHAR*)malloc(StubMethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(StubMethodSignature_full_name != NULL);
- if(StubMethodSignature_full_name == NULL){goto LExit;}
-
- StubMethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, StubMethodSignature, -1, StubMethodSignature_full_name, StubMethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(StubMethodSignature_path_size == StubMethodSignature_full_name_path_size );
- if( StubMethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- StubMethodILCode_full_name = (CHAR*)malloc(StubMethodILCode_full_name_path_size*sizeof(CHAR));
- _ASSERTE(StubMethodILCode_full_name != NULL);
- if(StubMethodILCode_full_name == NULL){goto LExit;}
-
- StubMethodILCode_path_size = WideCharToMultiByte( CP_ACP, 0, StubMethodILCode, -1, StubMethodILCode_full_name, StubMethodILCode_full_name_path_size, NULL, NULL );
- _ASSERTE(StubMethodILCode_path_size == StubMethodILCode_full_name_path_size );
- if( StubMethodILCode_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ILStubGenerated,
- ClrInstanceID,
- ModuleID,
- StubMethodID,
- StubFlags,
- ManagedInteropMethodToken,
- ManagedInteropMethodNamespace_full_name,
- ManagedInteropMethodName_full_name,
- ManagedInteropMethodSignature_full_name,
- NativeMethodSignature_full_name,
- StubMethodSignature_full_name
- );
-
- tracepoint(
- DotNETRuntime,
- ILStubGenerated_1,
- StubMethodILCode_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (StubMethodILCode_full_name != NULL) {free(StubMethodILCode_full_name);}
- if (StubMethodSignature_full_name != NULL) {free(StubMethodSignature_full_name);}
- if (NativeMethodSignature_full_name != NULL) {free(NativeMethodSignature_full_name);}
- if (ManagedInteropMethodSignature_full_name != NULL) {free(ManagedInteropMethodSignature_full_name);}
- if (ManagedInteropMethodName_full_name != NULL) {free(ManagedInteropMethodName_full_name);}
- if (ManagedInteropMethodNamespace_full_name != NULL) {free(ManagedInteropMethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledILStubCacheHit(){ return TRUE;}
-extern "C" ULONG FireEtXplatILStubCacheHit(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 StubMethodID,
- const unsigned int ManagedInteropMethodToken,
- PCWSTR ManagedInteropMethodNamespace,
- PCWSTR ManagedInteropMethodName,
- PCWSTR ManagedInteropMethodSignature
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledILStubCacheHit()){ return ERROR_SUCCESS;};
- INT ManagedInteropMethodNamespace_path_size = -1;
- INT ManagedInteropMethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* ManagedInteropMethodNamespace_full_name=NULL;
- INT ManagedInteropMethodName_path_size = -1;
- INT ManagedInteropMethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodName, -1, NULL, 0, NULL, NULL );
- CHAR* ManagedInteropMethodName_full_name=NULL;
- INT ManagedInteropMethodSignature_path_size = -1;
- INT ManagedInteropMethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* ManagedInteropMethodSignature_full_name=NULL;
-
- ManagedInteropMethodNamespace_full_name = (CHAR*)malloc(ManagedInteropMethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ManagedInteropMethodNamespace_full_name != NULL);
- if(ManagedInteropMethodNamespace_full_name == NULL){goto LExit;}
-
- ManagedInteropMethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodNamespace, -1, ManagedInteropMethodNamespace_full_name, ManagedInteropMethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(ManagedInteropMethodNamespace_path_size == ManagedInteropMethodNamespace_full_name_path_size );
- if( ManagedInteropMethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ManagedInteropMethodName_full_name = (CHAR*)malloc(ManagedInteropMethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ManagedInteropMethodName_full_name != NULL);
- if(ManagedInteropMethodName_full_name == NULL){goto LExit;}
-
- ManagedInteropMethodName_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodName, -1, ManagedInteropMethodName_full_name, ManagedInteropMethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(ManagedInteropMethodName_path_size == ManagedInteropMethodName_full_name_path_size );
- if( ManagedInteropMethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ManagedInteropMethodSignature_full_name = (CHAR*)malloc(ManagedInteropMethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ManagedInteropMethodSignature_full_name != NULL);
- if(ManagedInteropMethodSignature_full_name == NULL){goto LExit;}
-
- ManagedInteropMethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodSignature, -1, ManagedInteropMethodSignature_full_name, ManagedInteropMethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(ManagedInteropMethodSignature_path_size == ManagedInteropMethodSignature_full_name_path_size );
- if( ManagedInteropMethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ILStubCacheHit,
- ClrInstanceID,
- ModuleID,
- StubMethodID,
- ManagedInteropMethodToken,
- ManagedInteropMethodNamespace_full_name,
- ManagedInteropMethodName_full_name,
- ManagedInteropMethodSignature_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ManagedInteropMethodSignature_full_name != NULL) {free(ManagedInteropMethodSignature_full_name);}
- if (ManagedInteropMethodName_full_name != NULL) {free(ManagedInteropMethodName_full_name);}
- if (ManagedInteropMethodNamespace_full_name != NULL) {free(ManagedInteropMethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDCStartCompleteV2(){ return TRUE;}
-extern "C" ULONG FireEtXplatDCStartCompleteV2(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDCStartCompleteV2()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- DCStartCompleteV2
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDCEndCompleteV2(){ return TRUE;}
-extern "C" ULONG FireEtXplatDCEndCompleteV2(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDCEndCompleteV2()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- DCEndCompleteV2
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCStartV2(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCStartV2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCStartV2()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- MethodDCStartV2,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCEndV2(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCEndV2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCEndV2()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- MethodDCEndV2,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCStartVerboseV2(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCStartVerboseV2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCStartVerboseV2()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodDCStartVerboseV2,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCEndVerboseV2(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCEndVerboseV2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCEndVerboseV2()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodDCEndVerboseV2,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodLoad(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodLoad(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodLoad()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- MethodLoad,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodLoad_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodLoad_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodLoad_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- MethodLoad_V1,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodLoad_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodLoad_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodLoad_V2()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- MethodLoad_V2,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- ClrInstanceID,
- ReJITID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodUnload(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodUnload(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodUnload()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- MethodUnload,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodUnload_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodUnload_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodUnload_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- MethodUnload_V1,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodUnload_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodUnload_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodUnload_V2()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- MethodUnload_V2,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- ClrInstanceID,
- ReJITID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodLoadVerbose(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodLoadVerbose(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodLoadVerbose()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodLoadVerbose,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodLoadVerbose_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodLoadVerbose_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodLoadVerbose_V1()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodLoadVerbose_V1,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodLoadVerbose_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodLoadVerbose_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodLoadVerbose_V2()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodLoadVerbose_V2,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name,
- ClrInstanceID
- );
-
- tracepoint(
- DotNETRuntime,
- MethodLoadVerbose_V2_1,
- ReJITID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodUnloadVerbose(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodUnloadVerbose(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodUnloadVerbose()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodUnloadVerbose,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodUnloadVerbose_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodUnloadVerbose_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodUnloadVerbose_V1()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodUnloadVerbose_V1,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodUnloadVerbose_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodUnloadVerbose_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodUnloadVerbose_V2()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodUnloadVerbose_V2,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name,
- ClrInstanceID
- );
-
- tracepoint(
- DotNETRuntime,
- MethodUnloadVerbose_V2_1,
- ReJITID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodJittingStarted(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodJittingStarted(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned int MethodToken,
- const unsigned int MethodILSize,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodJittingStarted()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodJittingStarted,
- MethodID,
- ModuleID,
- MethodToken,
- MethodILSize,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodJittingStarted_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodJittingStarted_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned int MethodToken,
- const unsigned int MethodILSize,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodJittingStarted_V1()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodJittingStarted_V1,
- MethodID,
- ModuleID,
- MethodToken,
- MethodILSize,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodJitInliningSucceeded(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodJitInliningSucceeded(
- PCWSTR MethodBeingCompiledNamespace,
- PCWSTR MethodBeingCompiledName,
- PCWSTR MethodBeingCompiledNameSignature,
- PCWSTR InlinerNamespace,
- PCWSTR InlinerName,
- PCWSTR InlinerNameSignature,
- PCWSTR InlineeNamespace,
- PCWSTR InlineeName,
- PCWSTR InlineeNameSignature,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodJitInliningSucceeded()){ return ERROR_SUCCESS;};
- INT MethodBeingCompiledNamespace_path_size = -1;
- INT MethodBeingCompiledNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodBeingCompiledNamespace_full_name=NULL;
- INT MethodBeingCompiledName_path_size = -1;
- INT MethodBeingCompiledName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodBeingCompiledName_full_name=NULL;
- INT MethodBeingCompiledNameSignature_path_size = -1;
- INT MethodBeingCompiledNameSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodBeingCompiledNameSignature_full_name=NULL;
- INT InlinerNamespace_path_size = -1;
- INT InlinerNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* InlinerNamespace_full_name=NULL;
- INT InlinerName_path_size = -1;
- INT InlinerName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerName, -1, NULL, 0, NULL, NULL );
- CHAR* InlinerName_full_name=NULL;
- INT InlinerNameSignature_path_size = -1;
- INT InlinerNameSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNameSignature, -1, NULL, 0, NULL, NULL );
- CHAR* InlinerNameSignature_full_name=NULL;
- INT InlineeNamespace_path_size = -1;
- INT InlineeNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* InlineeNamespace_full_name=NULL;
- INT InlineeName_path_size = -1;
- INT InlineeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeName, -1, NULL, 0, NULL, NULL );
- CHAR* InlineeName_full_name=NULL;
- INT InlineeNameSignature_path_size = -1;
- INT InlineeNameSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNameSignature, -1, NULL, 0, NULL, NULL );
- CHAR* InlineeNameSignature_full_name=NULL;
-
- MethodBeingCompiledNamespace_full_name = (CHAR*)malloc(MethodBeingCompiledNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodBeingCompiledNamespace_full_name != NULL);
- if(MethodBeingCompiledNamespace_full_name == NULL){goto LExit;}
-
- MethodBeingCompiledNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, MethodBeingCompiledNamespace_full_name, MethodBeingCompiledNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodBeingCompiledNamespace_path_size == MethodBeingCompiledNamespace_full_name_path_size );
- if( MethodBeingCompiledNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodBeingCompiledName_full_name = (CHAR*)malloc(MethodBeingCompiledName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodBeingCompiledName_full_name != NULL);
- if(MethodBeingCompiledName_full_name == NULL){goto LExit;}
-
- MethodBeingCompiledName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, MethodBeingCompiledName_full_name, MethodBeingCompiledName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodBeingCompiledName_path_size == MethodBeingCompiledName_full_name_path_size );
- if( MethodBeingCompiledName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodBeingCompiledNameSignature_full_name = (CHAR*)malloc(MethodBeingCompiledNameSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodBeingCompiledNameSignature_full_name != NULL);
- if(MethodBeingCompiledNameSignature_full_name == NULL){goto LExit;}
-
- MethodBeingCompiledNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, MethodBeingCompiledNameSignature_full_name, MethodBeingCompiledNameSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodBeingCompiledNameSignature_path_size == MethodBeingCompiledNameSignature_full_name_path_size );
- if( MethodBeingCompiledNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InlinerNamespace_full_name = (CHAR*)malloc(InlinerNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InlinerNamespace_full_name != NULL);
- if(InlinerNamespace_full_name == NULL){goto LExit;}
-
- InlinerNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNamespace, -1, InlinerNamespace_full_name, InlinerNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(InlinerNamespace_path_size == InlinerNamespace_full_name_path_size );
- if( InlinerNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InlinerName_full_name = (CHAR*)malloc(InlinerName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InlinerName_full_name != NULL);
- if(InlinerName_full_name == NULL){goto LExit;}
-
- InlinerName_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerName, -1, InlinerName_full_name, InlinerName_full_name_path_size, NULL, NULL );
- _ASSERTE(InlinerName_path_size == InlinerName_full_name_path_size );
- if( InlinerName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InlinerNameSignature_full_name = (CHAR*)malloc(InlinerNameSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InlinerNameSignature_full_name != NULL);
- if(InlinerNameSignature_full_name == NULL){goto LExit;}
-
- InlinerNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNameSignature, -1, InlinerNameSignature_full_name, InlinerNameSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(InlinerNameSignature_path_size == InlinerNameSignature_full_name_path_size );
- if( InlinerNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InlineeNamespace_full_name = (CHAR*)malloc(InlineeNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InlineeNamespace_full_name != NULL);
- if(InlineeNamespace_full_name == NULL){goto LExit;}
-
- InlineeNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNamespace, -1, InlineeNamespace_full_name, InlineeNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(InlineeNamespace_path_size == InlineeNamespace_full_name_path_size );
- if( InlineeNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InlineeName_full_name = (CHAR*)malloc(InlineeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InlineeName_full_name != NULL);
- if(InlineeName_full_name == NULL){goto LExit;}
-
- InlineeName_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeName, -1, InlineeName_full_name, InlineeName_full_name_path_size, NULL, NULL );
- _ASSERTE(InlineeName_path_size == InlineeName_full_name_path_size );
- if( InlineeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InlineeNameSignature_full_name = (CHAR*)malloc(InlineeNameSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InlineeNameSignature_full_name != NULL);
- if(InlineeNameSignature_full_name == NULL){goto LExit;}
-
- InlineeNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNameSignature, -1, InlineeNameSignature_full_name, InlineeNameSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(InlineeNameSignature_path_size == InlineeNameSignature_full_name_path_size );
- if( InlineeNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodJitInliningSucceeded,
- MethodBeingCompiledNamespace_full_name,
- MethodBeingCompiledName_full_name,
- MethodBeingCompiledNameSignature_full_name,
- InlinerNamespace_full_name,
- InlinerName_full_name,
- InlinerNameSignature_full_name,
- InlineeNamespace_full_name,
- InlineeName_full_name,
- InlineeNameSignature_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (InlineeNameSignature_full_name != NULL) {free(InlineeNameSignature_full_name);}
- if (InlineeName_full_name != NULL) {free(InlineeName_full_name);}
- if (InlineeNamespace_full_name != NULL) {free(InlineeNamespace_full_name);}
- if (InlinerNameSignature_full_name != NULL) {free(InlinerNameSignature_full_name);}
- if (InlinerName_full_name != NULL) {free(InlinerName_full_name);}
- if (InlinerNamespace_full_name != NULL) {free(InlinerNamespace_full_name);}
- if (MethodBeingCompiledNameSignature_full_name != NULL) {free(MethodBeingCompiledNameSignature_full_name);}
- if (MethodBeingCompiledName_full_name != NULL) {free(MethodBeingCompiledName_full_name);}
- if (MethodBeingCompiledNamespace_full_name != NULL) {free(MethodBeingCompiledNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodJitInliningFailed(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodJitInliningFailed(
- PCWSTR MethodBeingCompiledNamespace,
- PCWSTR MethodBeingCompiledName,
- PCWSTR MethodBeingCompiledNameSignature,
- PCWSTR InlinerNamespace,
- PCWSTR InlinerName,
- PCWSTR InlinerNameSignature,
- PCWSTR InlineeNamespace,
- PCWSTR InlineeName,
- PCWSTR InlineeNameSignature,
- const BOOL FailAlways,
- LPCSTR FailReason,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodJitInliningFailed()){ return ERROR_SUCCESS;};
- INT MethodBeingCompiledNamespace_path_size = -1;
- INT MethodBeingCompiledNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodBeingCompiledNamespace_full_name=NULL;
- INT MethodBeingCompiledName_path_size = -1;
- INT MethodBeingCompiledName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodBeingCompiledName_full_name=NULL;
- INT MethodBeingCompiledNameSignature_path_size = -1;
- INT MethodBeingCompiledNameSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodBeingCompiledNameSignature_full_name=NULL;
- INT InlinerNamespace_path_size = -1;
- INT InlinerNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* InlinerNamespace_full_name=NULL;
- INT InlinerName_path_size = -1;
- INT InlinerName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerName, -1, NULL, 0, NULL, NULL );
- CHAR* InlinerName_full_name=NULL;
- INT InlinerNameSignature_path_size = -1;
- INT InlinerNameSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNameSignature, -1, NULL, 0, NULL, NULL );
- CHAR* InlinerNameSignature_full_name=NULL;
- INT InlineeNamespace_path_size = -1;
- INT InlineeNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* InlineeNamespace_full_name=NULL;
- INT InlineeName_path_size = -1;
- INT InlineeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeName, -1, NULL, 0, NULL, NULL );
- CHAR* InlineeName_full_name=NULL;
- INT InlineeNameSignature_path_size = -1;
- INT InlineeNameSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNameSignature, -1, NULL, 0, NULL, NULL );
- CHAR* InlineeNameSignature_full_name=NULL;
-
- MethodBeingCompiledNamespace_full_name = (CHAR*)malloc(MethodBeingCompiledNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodBeingCompiledNamespace_full_name != NULL);
- if(MethodBeingCompiledNamespace_full_name == NULL){goto LExit;}
-
- MethodBeingCompiledNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, MethodBeingCompiledNamespace_full_name, MethodBeingCompiledNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodBeingCompiledNamespace_path_size == MethodBeingCompiledNamespace_full_name_path_size );
- if( MethodBeingCompiledNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodBeingCompiledName_full_name = (CHAR*)malloc(MethodBeingCompiledName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodBeingCompiledName_full_name != NULL);
- if(MethodBeingCompiledName_full_name == NULL){goto LExit;}
-
- MethodBeingCompiledName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, MethodBeingCompiledName_full_name, MethodBeingCompiledName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodBeingCompiledName_path_size == MethodBeingCompiledName_full_name_path_size );
- if( MethodBeingCompiledName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodBeingCompiledNameSignature_full_name = (CHAR*)malloc(MethodBeingCompiledNameSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodBeingCompiledNameSignature_full_name != NULL);
- if(MethodBeingCompiledNameSignature_full_name == NULL){goto LExit;}
-
- MethodBeingCompiledNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, MethodBeingCompiledNameSignature_full_name, MethodBeingCompiledNameSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodBeingCompiledNameSignature_path_size == MethodBeingCompiledNameSignature_full_name_path_size );
- if( MethodBeingCompiledNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InlinerNamespace_full_name = (CHAR*)malloc(InlinerNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InlinerNamespace_full_name != NULL);
- if(InlinerNamespace_full_name == NULL){goto LExit;}
-
- InlinerNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNamespace, -1, InlinerNamespace_full_name, InlinerNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(InlinerNamespace_path_size == InlinerNamespace_full_name_path_size );
- if( InlinerNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InlinerName_full_name = (CHAR*)malloc(InlinerName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InlinerName_full_name != NULL);
- if(InlinerName_full_name == NULL){goto LExit;}
-
- InlinerName_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerName, -1, InlinerName_full_name, InlinerName_full_name_path_size, NULL, NULL );
- _ASSERTE(InlinerName_path_size == InlinerName_full_name_path_size );
- if( InlinerName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InlinerNameSignature_full_name = (CHAR*)malloc(InlinerNameSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InlinerNameSignature_full_name != NULL);
- if(InlinerNameSignature_full_name == NULL){goto LExit;}
-
- InlinerNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNameSignature, -1, InlinerNameSignature_full_name, InlinerNameSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(InlinerNameSignature_path_size == InlinerNameSignature_full_name_path_size );
- if( InlinerNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InlineeNamespace_full_name = (CHAR*)malloc(InlineeNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InlineeNamespace_full_name != NULL);
- if(InlineeNamespace_full_name == NULL){goto LExit;}
-
- InlineeNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNamespace, -1, InlineeNamespace_full_name, InlineeNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(InlineeNamespace_path_size == InlineeNamespace_full_name_path_size );
- if( InlineeNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InlineeName_full_name = (CHAR*)malloc(InlineeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InlineeName_full_name != NULL);
- if(InlineeName_full_name == NULL){goto LExit;}
-
- InlineeName_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeName, -1, InlineeName_full_name, InlineeName_full_name_path_size, NULL, NULL );
- _ASSERTE(InlineeName_path_size == InlineeName_full_name_path_size );
- if( InlineeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InlineeNameSignature_full_name = (CHAR*)malloc(InlineeNameSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InlineeNameSignature_full_name != NULL);
- if(InlineeNameSignature_full_name == NULL){goto LExit;}
-
- InlineeNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNameSignature, -1, InlineeNameSignature_full_name, InlineeNameSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(InlineeNameSignature_path_size == InlineeNameSignature_full_name_path_size );
- if( InlineeNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodJitInliningFailed,
- MethodBeingCompiledNamespace_full_name,
- MethodBeingCompiledName_full_name,
- MethodBeingCompiledNameSignature_full_name,
- InlinerNamespace_full_name,
- InlinerName_full_name,
- InlinerNameSignature_full_name,
- InlineeNamespace_full_name,
- InlineeName_full_name,
- InlineeNameSignature_full_name,
- FailAlways
- );
-
- tracepoint(
- DotNETRuntime,
- MethodJitInliningFailed_1,
- FailReason,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (InlineeNameSignature_full_name != NULL) {free(InlineeNameSignature_full_name);}
- if (InlineeName_full_name != NULL) {free(InlineeName_full_name);}
- if (InlineeNamespace_full_name != NULL) {free(InlineeNamespace_full_name);}
- if (InlinerNameSignature_full_name != NULL) {free(InlinerNameSignature_full_name);}
- if (InlinerName_full_name != NULL) {free(InlinerName_full_name);}
- if (InlinerNamespace_full_name != NULL) {free(InlinerNamespace_full_name);}
- if (MethodBeingCompiledNameSignature_full_name != NULL) {free(MethodBeingCompiledNameSignature_full_name);}
- if (MethodBeingCompiledName_full_name != NULL) {free(MethodBeingCompiledName_full_name);}
- if (MethodBeingCompiledNamespace_full_name != NULL) {free(MethodBeingCompiledNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodJitTailCallSucceeded(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodJitTailCallSucceeded(
- PCWSTR MethodBeingCompiledNamespace,
- PCWSTR MethodBeingCompiledName,
- PCWSTR MethodBeingCompiledNameSignature,
- PCWSTR CallerNamespace,
- PCWSTR CallerName,
- PCWSTR CallerNameSignature,
- PCWSTR CalleeNamespace,
- PCWSTR CalleeName,
- PCWSTR CalleeNameSignature,
- const BOOL TailPrefix,
- const unsigned int TailCallType,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodJitTailCallSucceeded()){ return ERROR_SUCCESS;};
- INT MethodBeingCompiledNamespace_path_size = -1;
- INT MethodBeingCompiledNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodBeingCompiledNamespace_full_name=NULL;
- INT MethodBeingCompiledName_path_size = -1;
- INT MethodBeingCompiledName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodBeingCompiledName_full_name=NULL;
- INT MethodBeingCompiledNameSignature_path_size = -1;
- INT MethodBeingCompiledNameSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodBeingCompiledNameSignature_full_name=NULL;
- INT CallerNamespace_path_size = -1;
- INT CallerNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* CallerNamespace_full_name=NULL;
- INT CallerName_path_size = -1;
- INT CallerName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CallerName, -1, NULL, 0, NULL, NULL );
- CHAR* CallerName_full_name=NULL;
- INT CallerNameSignature_path_size = -1;
- INT CallerNameSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNameSignature, -1, NULL, 0, NULL, NULL );
- CHAR* CallerNameSignature_full_name=NULL;
- INT CalleeNamespace_path_size = -1;
- INT CalleeNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* CalleeNamespace_full_name=NULL;
- INT CalleeName_path_size = -1;
- INT CalleeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeName, -1, NULL, 0, NULL, NULL );
- CHAR* CalleeName_full_name=NULL;
- INT CalleeNameSignature_path_size = -1;
- INT CalleeNameSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNameSignature, -1, NULL, 0, NULL, NULL );
- CHAR* CalleeNameSignature_full_name=NULL;
-
- MethodBeingCompiledNamespace_full_name = (CHAR*)malloc(MethodBeingCompiledNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodBeingCompiledNamespace_full_name != NULL);
- if(MethodBeingCompiledNamespace_full_name == NULL){goto LExit;}
-
- MethodBeingCompiledNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, MethodBeingCompiledNamespace_full_name, MethodBeingCompiledNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodBeingCompiledNamespace_path_size == MethodBeingCompiledNamespace_full_name_path_size );
- if( MethodBeingCompiledNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodBeingCompiledName_full_name = (CHAR*)malloc(MethodBeingCompiledName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodBeingCompiledName_full_name != NULL);
- if(MethodBeingCompiledName_full_name == NULL){goto LExit;}
-
- MethodBeingCompiledName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, MethodBeingCompiledName_full_name, MethodBeingCompiledName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodBeingCompiledName_path_size == MethodBeingCompiledName_full_name_path_size );
- if( MethodBeingCompiledName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodBeingCompiledNameSignature_full_name = (CHAR*)malloc(MethodBeingCompiledNameSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodBeingCompiledNameSignature_full_name != NULL);
- if(MethodBeingCompiledNameSignature_full_name == NULL){goto LExit;}
-
- MethodBeingCompiledNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, MethodBeingCompiledNameSignature_full_name, MethodBeingCompiledNameSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodBeingCompiledNameSignature_path_size == MethodBeingCompiledNameSignature_full_name_path_size );
- if( MethodBeingCompiledNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- CallerNamespace_full_name = (CHAR*)malloc(CallerNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CallerNamespace_full_name != NULL);
- if(CallerNamespace_full_name == NULL){goto LExit;}
-
- CallerNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNamespace, -1, CallerNamespace_full_name, CallerNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(CallerNamespace_path_size == CallerNamespace_full_name_path_size );
- if( CallerNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- CallerName_full_name = (CHAR*)malloc(CallerName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CallerName_full_name != NULL);
- if(CallerName_full_name == NULL){goto LExit;}
-
- CallerName_path_size = WideCharToMultiByte( CP_ACP, 0, CallerName, -1, CallerName_full_name, CallerName_full_name_path_size, NULL, NULL );
- _ASSERTE(CallerName_path_size == CallerName_full_name_path_size );
- if( CallerName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- CallerNameSignature_full_name = (CHAR*)malloc(CallerNameSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CallerNameSignature_full_name != NULL);
- if(CallerNameSignature_full_name == NULL){goto LExit;}
-
- CallerNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNameSignature, -1, CallerNameSignature_full_name, CallerNameSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(CallerNameSignature_path_size == CallerNameSignature_full_name_path_size );
- if( CallerNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- CalleeNamespace_full_name = (CHAR*)malloc(CalleeNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CalleeNamespace_full_name != NULL);
- if(CalleeNamespace_full_name == NULL){goto LExit;}
-
- CalleeNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNamespace, -1, CalleeNamespace_full_name, CalleeNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(CalleeNamespace_path_size == CalleeNamespace_full_name_path_size );
- if( CalleeNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- CalleeName_full_name = (CHAR*)malloc(CalleeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CalleeName_full_name != NULL);
- if(CalleeName_full_name == NULL){goto LExit;}
-
- CalleeName_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeName, -1, CalleeName_full_name, CalleeName_full_name_path_size, NULL, NULL );
- _ASSERTE(CalleeName_path_size == CalleeName_full_name_path_size );
- if( CalleeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- CalleeNameSignature_full_name = (CHAR*)malloc(CalleeNameSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CalleeNameSignature_full_name != NULL);
- if(CalleeNameSignature_full_name == NULL){goto LExit;}
-
- CalleeNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNameSignature, -1, CalleeNameSignature_full_name, CalleeNameSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(CalleeNameSignature_path_size == CalleeNameSignature_full_name_path_size );
- if( CalleeNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodJitTailCallSucceeded,
- MethodBeingCompiledNamespace_full_name,
- MethodBeingCompiledName_full_name,
- MethodBeingCompiledNameSignature_full_name,
- CallerNamespace_full_name,
- CallerName_full_name,
- CallerNameSignature_full_name,
- CalleeNamespace_full_name,
- CalleeName_full_name,
- CalleeNameSignature_full_name,
- TailPrefix
- );
-
- tracepoint(
- DotNETRuntime,
- MethodJitTailCallSucceeded_1,
- TailCallType,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (CalleeNameSignature_full_name != NULL) {free(CalleeNameSignature_full_name);}
- if (CalleeName_full_name != NULL) {free(CalleeName_full_name);}
- if (CalleeNamespace_full_name != NULL) {free(CalleeNamespace_full_name);}
- if (CallerNameSignature_full_name != NULL) {free(CallerNameSignature_full_name);}
- if (CallerName_full_name != NULL) {free(CallerName_full_name);}
- if (CallerNamespace_full_name != NULL) {free(CallerNamespace_full_name);}
- if (MethodBeingCompiledNameSignature_full_name != NULL) {free(MethodBeingCompiledNameSignature_full_name);}
- if (MethodBeingCompiledName_full_name != NULL) {free(MethodBeingCompiledName_full_name);}
- if (MethodBeingCompiledNamespace_full_name != NULL) {free(MethodBeingCompiledNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodJitTailCallFailed(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodJitTailCallFailed(
- PCWSTR MethodBeingCompiledNamespace,
- PCWSTR MethodBeingCompiledName,
- PCWSTR MethodBeingCompiledNameSignature,
- PCWSTR CallerNamespace,
- PCWSTR CallerName,
- PCWSTR CallerNameSignature,
- PCWSTR CalleeNamespace,
- PCWSTR CalleeName,
- PCWSTR CalleeNameSignature,
- const BOOL TailPrefix,
- LPCSTR FailReason,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodJitTailCallFailed()){ return ERROR_SUCCESS;};
- INT MethodBeingCompiledNamespace_path_size = -1;
- INT MethodBeingCompiledNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodBeingCompiledNamespace_full_name=NULL;
- INT MethodBeingCompiledName_path_size = -1;
- INT MethodBeingCompiledName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodBeingCompiledName_full_name=NULL;
- INT MethodBeingCompiledNameSignature_path_size = -1;
- INT MethodBeingCompiledNameSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodBeingCompiledNameSignature_full_name=NULL;
- INT CallerNamespace_path_size = -1;
- INT CallerNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* CallerNamespace_full_name=NULL;
- INT CallerName_path_size = -1;
- INT CallerName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CallerName, -1, NULL, 0, NULL, NULL );
- CHAR* CallerName_full_name=NULL;
- INT CallerNameSignature_path_size = -1;
- INT CallerNameSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNameSignature, -1, NULL, 0, NULL, NULL );
- CHAR* CallerNameSignature_full_name=NULL;
- INT CalleeNamespace_path_size = -1;
- INT CalleeNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* CalleeNamespace_full_name=NULL;
- INT CalleeName_path_size = -1;
- INT CalleeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeName, -1, NULL, 0, NULL, NULL );
- CHAR* CalleeName_full_name=NULL;
- INT CalleeNameSignature_path_size = -1;
- INT CalleeNameSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNameSignature, -1, NULL, 0, NULL, NULL );
- CHAR* CalleeNameSignature_full_name=NULL;
-
- MethodBeingCompiledNamespace_full_name = (CHAR*)malloc(MethodBeingCompiledNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodBeingCompiledNamespace_full_name != NULL);
- if(MethodBeingCompiledNamespace_full_name == NULL){goto LExit;}
-
- MethodBeingCompiledNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, MethodBeingCompiledNamespace_full_name, MethodBeingCompiledNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodBeingCompiledNamespace_path_size == MethodBeingCompiledNamespace_full_name_path_size );
- if( MethodBeingCompiledNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodBeingCompiledName_full_name = (CHAR*)malloc(MethodBeingCompiledName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodBeingCompiledName_full_name != NULL);
- if(MethodBeingCompiledName_full_name == NULL){goto LExit;}
-
- MethodBeingCompiledName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, MethodBeingCompiledName_full_name, MethodBeingCompiledName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodBeingCompiledName_path_size == MethodBeingCompiledName_full_name_path_size );
- if( MethodBeingCompiledName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodBeingCompiledNameSignature_full_name = (CHAR*)malloc(MethodBeingCompiledNameSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodBeingCompiledNameSignature_full_name != NULL);
- if(MethodBeingCompiledNameSignature_full_name == NULL){goto LExit;}
-
- MethodBeingCompiledNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, MethodBeingCompiledNameSignature_full_name, MethodBeingCompiledNameSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodBeingCompiledNameSignature_path_size == MethodBeingCompiledNameSignature_full_name_path_size );
- if( MethodBeingCompiledNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- CallerNamespace_full_name = (CHAR*)malloc(CallerNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CallerNamespace_full_name != NULL);
- if(CallerNamespace_full_name == NULL){goto LExit;}
-
- CallerNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNamespace, -1, CallerNamespace_full_name, CallerNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(CallerNamespace_path_size == CallerNamespace_full_name_path_size );
- if( CallerNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- CallerName_full_name = (CHAR*)malloc(CallerName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CallerName_full_name != NULL);
- if(CallerName_full_name == NULL){goto LExit;}
-
- CallerName_path_size = WideCharToMultiByte( CP_ACP, 0, CallerName, -1, CallerName_full_name, CallerName_full_name_path_size, NULL, NULL );
- _ASSERTE(CallerName_path_size == CallerName_full_name_path_size );
- if( CallerName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- CallerNameSignature_full_name = (CHAR*)malloc(CallerNameSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CallerNameSignature_full_name != NULL);
- if(CallerNameSignature_full_name == NULL){goto LExit;}
-
- CallerNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNameSignature, -1, CallerNameSignature_full_name, CallerNameSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(CallerNameSignature_path_size == CallerNameSignature_full_name_path_size );
- if( CallerNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- CalleeNamespace_full_name = (CHAR*)malloc(CalleeNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CalleeNamespace_full_name != NULL);
- if(CalleeNamespace_full_name == NULL){goto LExit;}
-
- CalleeNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNamespace, -1, CalleeNamespace_full_name, CalleeNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(CalleeNamespace_path_size == CalleeNamespace_full_name_path_size );
- if( CalleeNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- CalleeName_full_name = (CHAR*)malloc(CalleeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CalleeName_full_name != NULL);
- if(CalleeName_full_name == NULL){goto LExit;}
-
- CalleeName_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeName, -1, CalleeName_full_name, CalleeName_full_name_path_size, NULL, NULL );
- _ASSERTE(CalleeName_path_size == CalleeName_full_name_path_size );
- if( CalleeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- CalleeNameSignature_full_name = (CHAR*)malloc(CalleeNameSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CalleeNameSignature_full_name != NULL);
- if(CalleeNameSignature_full_name == NULL){goto LExit;}
-
- CalleeNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNameSignature, -1, CalleeNameSignature_full_name, CalleeNameSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(CalleeNameSignature_path_size == CalleeNameSignature_full_name_path_size );
- if( CalleeNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- MethodJitTailCallFailed,
- MethodBeingCompiledNamespace_full_name,
- MethodBeingCompiledName_full_name,
- MethodBeingCompiledNameSignature_full_name,
- CallerNamespace_full_name,
- CallerName_full_name,
- CallerNameSignature_full_name,
- CalleeNamespace_full_name,
- CalleeName_full_name,
- CalleeNameSignature_full_name,
- TailPrefix
- );
-
- tracepoint(
- DotNETRuntime,
- MethodJitTailCallFailed_1,
- FailReason,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (CalleeNameSignature_full_name != NULL) {free(CalleeNameSignature_full_name);}
- if (CalleeName_full_name != NULL) {free(CalleeName_full_name);}
- if (CalleeNamespace_full_name != NULL) {free(CalleeNamespace_full_name);}
- if (CallerNameSignature_full_name != NULL) {free(CallerNameSignature_full_name);}
- if (CallerName_full_name != NULL) {free(CallerName_full_name);}
- if (CallerNamespace_full_name != NULL) {free(CallerNamespace_full_name);}
- if (MethodBeingCompiledNameSignature_full_name != NULL) {free(MethodBeingCompiledNameSignature_full_name);}
- if (MethodBeingCompiledName_full_name != NULL) {free(MethodBeingCompiledName_full_name);}
- if (MethodBeingCompiledNamespace_full_name != NULL) {free(MethodBeingCompiledNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodILToNativeMap(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodILToNativeMap(
- const unsigned __int64 MethodID,
- const unsigned __int64 ReJITID,
- const unsigned char MethodExtent,
- const unsigned short CountOfMapEntries,
- const unsigned int* ILOffsets,
- const unsigned int* NativeOffsets,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodILToNativeMap()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- MethodILToNativeMap,
- MethodID,
- ReJITID,
- MethodExtent,
- CountOfMapEntries,
- (const unsigned int*) ILOffsets,
- (const unsigned int*) NativeOffsets,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleDCStartV2(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleDCStartV2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleDCStartV2()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ModuleDCStartV2,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleDCEndV2(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleDCEndV2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleDCEndV2()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ModuleDCEndV2,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDomainModuleLoad(){ return TRUE;}
-extern "C" ULONG FireEtXplatDomainModuleLoad(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDomainModuleLoad()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- DomainModuleLoad,
- ModuleID,
- AssemblyID,
- AppDomainID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDomainModuleLoad_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatDomainModuleLoad_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDomainModuleLoad_V1()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- DomainModuleLoad_V1,
- ModuleID,
- AssemblyID,
- AppDomainID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleLoad(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleLoad(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleLoad()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ModuleLoad,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleLoad_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleLoad_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleLoad_V1()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ModuleLoad_V1,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleLoad_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleLoad_V2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID,
- const GUID* ManagedPdbSignature,
- const unsigned int ManagedPdbAge,
- PCWSTR ManagedPdbBuildPath,
- const GUID* NativePdbSignature,
- const unsigned int NativePdbAge,
- PCWSTR NativePdbBuildPath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleLoad_V2()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
- INT ManagedPdbBuildPath_path_size = -1;
- INT ManagedPdbBuildPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, NULL, 0, NULL, NULL );
- CHAR* ManagedPdbBuildPath_full_name=NULL;
- INT NativePdbBuildPath_path_size = -1;
- INT NativePdbBuildPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NULL, 0, NULL, NULL );
- CHAR* NativePdbBuildPath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ManagedPdbBuildPath_full_name = (CHAR*)malloc(ManagedPdbBuildPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ManagedPdbBuildPath_full_name != NULL);
- if(ManagedPdbBuildPath_full_name == NULL){goto LExit;}
-
- ManagedPdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, ManagedPdbBuildPath_full_name, ManagedPdbBuildPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ManagedPdbBuildPath_path_size == ManagedPdbBuildPath_full_name_path_size );
- if( ManagedPdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- NativePdbBuildPath_full_name = (CHAR*)malloc(NativePdbBuildPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(NativePdbBuildPath_full_name != NULL);
- if(NativePdbBuildPath_full_name == NULL){goto LExit;}
-
- NativePdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NativePdbBuildPath_full_name, NativePdbBuildPath_full_name_path_size, NULL, NULL );
- _ASSERTE(NativePdbBuildPath_path_size == NativePdbBuildPath_full_name_path_size );
- if( NativePdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ModuleLoad_V2,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name,
- ClrInstanceID,
- (const int*) ManagedPdbSignature,
- ManagedPdbAge,
- ManagedPdbBuildPath_full_name
- );
-
- tracepoint(
- DotNETRuntime,
- ModuleLoad_V2_1,
- (const int*) NativePdbSignature,
- NativePdbAge,
- NativePdbBuildPath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (NativePdbBuildPath_full_name != NULL) {free(NativePdbBuildPath_full_name);}
- if (ManagedPdbBuildPath_full_name != NULL) {free(ManagedPdbBuildPath_full_name);}
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleUnload(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleUnload(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleUnload()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ModuleUnload,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleUnload_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleUnload_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleUnload_V1()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ModuleUnload_V1,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleUnload_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleUnload_V2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID,
- const GUID* ManagedPdbSignature,
- const unsigned int ManagedPdbAge,
- PCWSTR ManagedPdbBuildPath,
- const GUID* NativePdbSignature,
- const unsigned int NativePdbAge,
- PCWSTR NativePdbBuildPath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleUnload_V2()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
- INT ManagedPdbBuildPath_path_size = -1;
- INT ManagedPdbBuildPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, NULL, 0, NULL, NULL );
- CHAR* ManagedPdbBuildPath_full_name=NULL;
- INT NativePdbBuildPath_path_size = -1;
- INT NativePdbBuildPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NULL, 0, NULL, NULL );
- CHAR* NativePdbBuildPath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ManagedPdbBuildPath_full_name = (CHAR*)malloc(ManagedPdbBuildPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ManagedPdbBuildPath_full_name != NULL);
- if(ManagedPdbBuildPath_full_name == NULL){goto LExit;}
-
- ManagedPdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, ManagedPdbBuildPath_full_name, ManagedPdbBuildPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ManagedPdbBuildPath_path_size == ManagedPdbBuildPath_full_name_path_size );
- if( ManagedPdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- NativePdbBuildPath_full_name = (CHAR*)malloc(NativePdbBuildPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(NativePdbBuildPath_full_name != NULL);
- if(NativePdbBuildPath_full_name == NULL){goto LExit;}
-
- NativePdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NativePdbBuildPath_full_name, NativePdbBuildPath_full_name_path_size, NULL, NULL );
- _ASSERTE(NativePdbBuildPath_path_size == NativePdbBuildPath_full_name_path_size );
- if( NativePdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- ModuleUnload_V2,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name,
- ClrInstanceID,
- (const int*) ManagedPdbSignature,
- ManagedPdbAge,
- ManagedPdbBuildPath_full_name
- );
-
- tracepoint(
- DotNETRuntime,
- ModuleUnload_V2_1,
- (const int*) NativePdbSignature,
- NativePdbAge,
- NativePdbBuildPath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (NativePdbBuildPath_full_name != NULL) {free(NativePdbBuildPath_full_name);}
- if (ManagedPdbBuildPath_full_name != NULL) {free(ManagedPdbBuildPath_full_name);}
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAssemblyLoad(){ return TRUE;}
-extern "C" ULONG FireEtXplatAssemblyLoad(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAssemblyLoad()){ return ERROR_SUCCESS;};
- INT FullyQualifiedAssemblyName_path_size = -1;
- INT FullyQualifiedAssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* FullyQualifiedAssemblyName_full_name=NULL;
-
- FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
- if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
-
- FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
- if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- AssemblyLoad,
- AssemblyID,
- AppDomainID,
- AssemblyFlags,
- FullyQualifiedAssemblyName_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAssemblyLoad_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatAssemblyLoad_V1(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned __int64 BindingID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAssemblyLoad_V1()){ return ERROR_SUCCESS;};
- INT FullyQualifiedAssemblyName_path_size = -1;
- INT FullyQualifiedAssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* FullyQualifiedAssemblyName_full_name=NULL;
-
- FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
- if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
-
- FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
- if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- AssemblyLoad_V1,
- AssemblyID,
- AppDomainID,
- BindingID,
- AssemblyFlags,
- FullyQualifiedAssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAssemblyUnload(){ return TRUE;}
-extern "C" ULONG FireEtXplatAssemblyUnload(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAssemblyUnload()){ return ERROR_SUCCESS;};
- INT FullyQualifiedAssemblyName_path_size = -1;
- INT FullyQualifiedAssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* FullyQualifiedAssemblyName_full_name=NULL;
-
- FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
- if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
-
- FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
- if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- AssemblyUnload,
- AssemblyID,
- AppDomainID,
- AssemblyFlags,
- FullyQualifiedAssemblyName_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAssemblyUnload_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatAssemblyUnload_V1(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned __int64 BindingID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAssemblyUnload_V1()){ return ERROR_SUCCESS;};
- INT FullyQualifiedAssemblyName_path_size = -1;
- INT FullyQualifiedAssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* FullyQualifiedAssemblyName_full_name=NULL;
-
- FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
- if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
-
- FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
- if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- AssemblyUnload_V1,
- AssemblyID,
- AppDomainID,
- BindingID,
- AssemblyFlags,
- FullyQualifiedAssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAppDomainLoad(){ return TRUE;}
-extern "C" ULONG FireEtXplatAppDomainLoad(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAppDomainLoad()){ return ERROR_SUCCESS;};
- INT AppDomainName_path_size = -1;
- INT AppDomainName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, NULL, 0, NULL, NULL );
- CHAR* AppDomainName_full_name=NULL;
-
- AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AppDomainName_full_name != NULL);
- if(AppDomainName_full_name == NULL){goto LExit;}
-
- AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
- _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
- if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- AppDomainLoad,
- AppDomainID,
- AppDomainFlags,
- AppDomainName_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAppDomainLoad_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatAppDomainLoad_V1(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName,
- const unsigned int AppDomainIndex,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAppDomainLoad_V1()){ return ERROR_SUCCESS;};
- INT AppDomainName_path_size = -1;
- INT AppDomainName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, NULL, 0, NULL, NULL );
- CHAR* AppDomainName_full_name=NULL;
-
- AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AppDomainName_full_name != NULL);
- if(AppDomainName_full_name == NULL){goto LExit;}
-
- AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
- _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
- if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- AppDomainLoad_V1,
- AppDomainID,
- AppDomainFlags,
- AppDomainName_full_name,
- AppDomainIndex,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAppDomainUnload(){ return TRUE;}
-extern "C" ULONG FireEtXplatAppDomainUnload(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAppDomainUnload()){ return ERROR_SUCCESS;};
- INT AppDomainName_path_size = -1;
- INT AppDomainName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, NULL, 0, NULL, NULL );
- CHAR* AppDomainName_full_name=NULL;
-
- AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AppDomainName_full_name != NULL);
- if(AppDomainName_full_name == NULL){goto LExit;}
-
- AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
- _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
- if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- AppDomainUnload,
- AppDomainID,
- AppDomainFlags,
- AppDomainName_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAppDomainUnload_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatAppDomainUnload_V1(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName,
- const unsigned int AppDomainIndex,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAppDomainUnload_V1()){ return ERROR_SUCCESS;};
- INT AppDomainName_path_size = -1;
- INT AppDomainName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, NULL, 0, NULL, NULL );
- CHAR* AppDomainName_full_name=NULL;
-
- AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AppDomainName_full_name != NULL);
- if(AppDomainName_full_name == NULL){goto LExit;}
-
- AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
- _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
- if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- AppDomainUnload_V1,
- AppDomainID,
- AppDomainFlags,
- AppDomainName_full_name,
- AppDomainIndex,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleRangeLoad(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleRangeLoad(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned int RangeBegin,
- const unsigned int RangeSize,
- const unsigned char RangeType
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleRangeLoad()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- ModuleRangeLoad,
- ClrInstanceID,
- ModuleID,
- RangeBegin,
- RangeSize,
- RangeType
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledStrongNameVerificationStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatStrongNameVerificationStart(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR FullyQualifiedAssemblyName
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledStrongNameVerificationStart()){ return ERROR_SUCCESS;};
- INT FullyQualifiedAssemblyName_path_size = -1;
- INT FullyQualifiedAssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* FullyQualifiedAssemblyName_full_name=NULL;
-
- FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
- if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
-
- FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
- if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- StrongNameVerificationStart,
- VerificationFlags,
- ErrorCode,
- FullyQualifiedAssemblyName_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledStrongNameVerificationStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatStrongNameVerificationStart_V1(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledStrongNameVerificationStart_V1()){ return ERROR_SUCCESS;};
- INT FullyQualifiedAssemblyName_path_size = -1;
- INT FullyQualifiedAssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* FullyQualifiedAssemblyName_full_name=NULL;
-
- FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
- if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
-
- FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
- if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- StrongNameVerificationStart_V1,
- VerificationFlags,
- ErrorCode,
- FullyQualifiedAssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledStrongNameVerificationStop(){ return TRUE;}
-extern "C" ULONG FireEtXplatStrongNameVerificationStop(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR FullyQualifiedAssemblyName
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledStrongNameVerificationStop()){ return ERROR_SUCCESS;};
- INT FullyQualifiedAssemblyName_path_size = -1;
- INT FullyQualifiedAssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* FullyQualifiedAssemblyName_full_name=NULL;
-
- FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
- if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
-
- FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
- if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- StrongNameVerificationStop,
- VerificationFlags,
- ErrorCode,
- FullyQualifiedAssemblyName_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledStrongNameVerificationStop_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatStrongNameVerificationStop_V1(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledStrongNameVerificationStop_V1()){ return ERROR_SUCCESS;};
- INT FullyQualifiedAssemblyName_path_size = -1;
- INT FullyQualifiedAssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* FullyQualifiedAssemblyName_full_name=NULL;
-
- FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
- if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
-
- FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
- if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- StrongNameVerificationStop_V1,
- VerificationFlags,
- ErrorCode,
- FullyQualifiedAssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAuthenticodeVerificationStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatAuthenticodeVerificationStart(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR ModulePath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAuthenticodeVerificationStart()){ return ERROR_SUCCESS;};
- INT ModulePath_path_size = -1;
- INT ModulePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModulePath_full_name=NULL;
-
- ModulePath_full_name = (CHAR*)malloc(ModulePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModulePath_full_name != NULL);
- if(ModulePath_full_name == NULL){goto LExit;}
-
- ModulePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, ModulePath_full_name, ModulePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModulePath_path_size == ModulePath_full_name_path_size );
- if( ModulePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- AuthenticodeVerificationStart,
- VerificationFlags,
- ErrorCode,
- ModulePath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModulePath_full_name != NULL) {free(ModulePath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAuthenticodeVerificationStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatAuthenticodeVerificationStart_V1(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR ModulePath,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAuthenticodeVerificationStart_V1()){ return ERROR_SUCCESS;};
- INT ModulePath_path_size = -1;
- INT ModulePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModulePath_full_name=NULL;
-
- ModulePath_full_name = (CHAR*)malloc(ModulePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModulePath_full_name != NULL);
- if(ModulePath_full_name == NULL){goto LExit;}
-
- ModulePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, ModulePath_full_name, ModulePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModulePath_path_size == ModulePath_full_name_path_size );
- if( ModulePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- AuthenticodeVerificationStart_V1,
- VerificationFlags,
- ErrorCode,
- ModulePath_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModulePath_full_name != NULL) {free(ModulePath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAuthenticodeVerificationStop(){ return TRUE;}
-extern "C" ULONG FireEtXplatAuthenticodeVerificationStop(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR ModulePath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAuthenticodeVerificationStop()){ return ERROR_SUCCESS;};
- INT ModulePath_path_size = -1;
- INT ModulePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModulePath_full_name=NULL;
-
- ModulePath_full_name = (CHAR*)malloc(ModulePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModulePath_full_name != NULL);
- if(ModulePath_full_name == NULL){goto LExit;}
-
- ModulePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, ModulePath_full_name, ModulePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModulePath_path_size == ModulePath_full_name_path_size );
- if( ModulePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- AuthenticodeVerificationStop,
- VerificationFlags,
- ErrorCode,
- ModulePath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModulePath_full_name != NULL) {free(ModulePath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAuthenticodeVerificationStop_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatAuthenticodeVerificationStop_V1(
- const unsigned int VerificationFlags,
- const unsigned int ErrorCode,
- PCWSTR ModulePath,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAuthenticodeVerificationStop_V1()){ return ERROR_SUCCESS;};
- INT ModulePath_path_size = -1;
- INT ModulePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModulePath_full_name=NULL;
-
- ModulePath_full_name = (CHAR*)malloc(ModulePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModulePath_full_name != NULL);
- if(ModulePath_full_name == NULL){goto LExit;}
-
- ModulePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, ModulePath_full_name, ModulePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModulePath_path_size == ModulePath_full_name_path_size );
- if( ModulePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- AuthenticodeVerificationStop_V1,
- VerificationFlags,
- ErrorCode,
- ModulePath_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModulePath_full_name != NULL) {free(ModulePath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledRuntimeInformationStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatRuntimeInformationStart(
- const unsigned short ClrInstanceID,
- const unsigned short Sku,
- const unsigned short BclMajorVersion,
- const unsigned short BclMinorVersion,
- const unsigned short BclBuildNumber,
- const unsigned short BclQfeNumber,
- const unsigned short VMMajorVersion,
- const unsigned short VMMinorVersion,
- const unsigned short VMBuildNumber,
- const unsigned short VMQfeNumber,
- const unsigned int StartupFlags,
- const unsigned char StartupMode,
- PCWSTR CommandLine,
- const GUID* ComObjectGuid,
- PCWSTR RuntimeDllPath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledRuntimeInformationStart()){ return ERROR_SUCCESS;};
- INT CommandLine_path_size = -1;
- INT CommandLine_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CommandLine, -1, NULL, 0, NULL, NULL );
- CHAR* CommandLine_full_name=NULL;
- INT RuntimeDllPath_path_size = -1;
- INT RuntimeDllPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, RuntimeDllPath, -1, NULL, 0, NULL, NULL );
- CHAR* RuntimeDllPath_full_name=NULL;
-
- CommandLine_full_name = (CHAR*)malloc(CommandLine_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CommandLine_full_name != NULL);
- if(CommandLine_full_name == NULL){goto LExit;}
-
- CommandLine_path_size = WideCharToMultiByte( CP_ACP, 0, CommandLine, -1, CommandLine_full_name, CommandLine_full_name_path_size, NULL, NULL );
- _ASSERTE(CommandLine_path_size == CommandLine_full_name_path_size );
- if( CommandLine_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- RuntimeDllPath_full_name = (CHAR*)malloc(RuntimeDllPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(RuntimeDllPath_full_name != NULL);
- if(RuntimeDllPath_full_name == NULL){goto LExit;}
-
- RuntimeDllPath_path_size = WideCharToMultiByte( CP_ACP, 0, RuntimeDllPath, -1, RuntimeDllPath_full_name, RuntimeDllPath_full_name_path_size, NULL, NULL );
- _ASSERTE(RuntimeDllPath_path_size == RuntimeDllPath_full_name_path_size );
- if( RuntimeDllPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- RuntimeInformationStart,
- ClrInstanceID,
- Sku,
- BclMajorVersion,
- BclMinorVersion,
- BclBuildNumber,
- BclQfeNumber,
- VMMajorVersion,
- VMMinorVersion,
- VMBuildNumber,
- VMQfeNumber
- );
-
- tracepoint(
- DotNETRuntime,
- RuntimeInformationStart_1,
- StartupFlags,
- StartupMode,
- CommandLine_full_name,
- (const int*) ComObjectGuid,
- RuntimeDllPath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (RuntimeDllPath_full_name != NULL) {free(RuntimeDllPath_full_name);}
- if (CommandLine_full_name != NULL) {free(CommandLine_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledIncreaseMemoryPressure(){ return TRUE;}
-extern "C" ULONG FireEtXplatIncreaseMemoryPressure(
- const unsigned __int64 BytesAllocated,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledIncreaseMemoryPressure()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- IncreaseMemoryPressure,
- BytesAllocated,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDecreaseMemoryPressure(){ return TRUE;}
-extern "C" ULONG FireEtXplatDecreaseMemoryPressure(
- const unsigned __int64 BytesFreed,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDecreaseMemoryPressure()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- DecreaseMemoryPressure,
- BytesFreed,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCMarkWithType(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCMarkWithType(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID,
- const unsigned int Type,
- const unsigned __int64 Bytes
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCMarkWithType()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCMarkWithType,
- HeapNum,
- ClrInstanceID,
- Type,
- Bytes
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCJoin_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCJoin_V2(
- const unsigned int Heap,
- const unsigned int JoinTime,
- const unsigned int JoinType,
- const unsigned short ClrInstanceID,
- const unsigned int JoinID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCJoin_V2()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCJoin_V2,
- Heap,
- JoinTime,
- JoinType,
- ClrInstanceID,
- JoinID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCPerHeapHistory_V3(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCPerHeapHistory_V3(
- const unsigned short ClrInstanceID,
- const void* FreeListAllocated,
- const void* FreeListRejected,
- const void* EndOfSegAllocated,
- const void* CondemnedAllocated,
- const void* PinnedAllocated,
- const void* PinnedAllocatedAdvance,
- const unsigned int RunningFreeListEfficiency,
- const unsigned int CondemnReasons0,
- const unsigned int CondemnReasons1,
- const unsigned int CompactMechanisms,
- const unsigned int ExpandMechanisms,
- const unsigned int HeapIndex,
- const void* ExtraGen0Commit,
- const unsigned int Count,
- const ULONG Arg15_Struct_Len_,
- const void* Arg15_Struct_Pointer_
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCPerHeapHistory_V3()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCPerHeapHistory_V3,
- ClrInstanceID,
- (const size_t) FreeListAllocated,
- (const size_t) FreeListRejected,
- (const size_t) EndOfSegAllocated,
- (const size_t) CondemnedAllocated,
- (const size_t) PinnedAllocated,
- (const size_t) PinnedAllocatedAdvance,
- RunningFreeListEfficiency,
- CondemnReasons0,
- CondemnReasons1
- );
-
- tracepoint(
- DotNETRuntime,
- GCPerHeapHistory_V3_1,
- CompactMechanisms,
- ExpandMechanisms,
- HeapIndex,
- (const size_t) ExtraGen0Commit,
- Count,
- Arg15_Struct_Len_,
- (const int*) Arg15_Struct_Pointer_
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCGlobalHeapHistory_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCGlobalHeapHistory_V2(
- const unsigned __int64 FinalYoungestDesired,
- const signed int NumHeaps,
- const unsigned int CondemnedGeneration,
- const unsigned int Gen0ReductionCount,
- const unsigned int Reason,
- const unsigned int GlobalMechanisms,
- const unsigned short ClrInstanceID,
- const unsigned int PauseMode,
- const unsigned int MemoryPressure
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCGlobalHeapHistory_V2()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- GCGlobalHeapHistory_V2,
- FinalYoungestDesired,
- NumHeaps,
- CondemnedGeneration,
- Gen0ReductionCount,
- Reason,
- GlobalMechanisms,
- ClrInstanceID,
- PauseMode,
- MemoryPressure
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDebugIPCEventStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatDebugIPCEventStart(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDebugIPCEventStart()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- DebugIPCEventStart
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDebugIPCEventEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatDebugIPCEventEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDebugIPCEventEnd()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- DebugIPCEventEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDebugExceptionProcessingStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatDebugExceptionProcessingStart(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDebugExceptionProcessingStart()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- DebugExceptionProcessingStart
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDebugExceptionProcessingEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatDebugExceptionProcessingEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDebugExceptionProcessingEnd()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntime,
- DebugExceptionProcessingEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledCodeSymbols(){ return TRUE;}
-extern "C" ULONG FireEtXplatCodeSymbols(
- const unsigned __int64 ModuleId,
- const unsigned short TotalChunks,
- const unsigned short ChunkNumber,
- const unsigned int ChunkLength,
- const BYTE* Chunk,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledCodeSymbols()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntime,
- CodeSymbols,
- ModuleId,
- TotalChunks,
- ChunkNumber,
- ChunkLength,
- (const BYTE*) Chunk,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEventSource(){ return TRUE;}
-extern "C" ULONG FireEtXplatEventSource(
- const signed int EventID,
- PCWSTR EventName,
- PCWSTR EventSourceName,
- PCWSTR Payload
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEventSource()){ return ERROR_SUCCESS;};
- INT EventName_path_size = -1;
- INT EventName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, EventName, -1, NULL, 0, NULL, NULL );
- CHAR* EventName_full_name=NULL;
- INT EventSourceName_path_size = -1;
- INT EventSourceName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, EventSourceName, -1, NULL, 0, NULL, NULL );
- CHAR* EventSourceName_full_name=NULL;
- INT Payload_path_size = -1;
- INT Payload_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Payload, -1, NULL, 0, NULL, NULL );
- CHAR* Payload_full_name=NULL;
-
- EventName_full_name = (CHAR*)malloc(EventName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(EventName_full_name != NULL);
- if(EventName_full_name == NULL){goto LExit;}
-
- EventName_path_size = WideCharToMultiByte( CP_ACP, 0, EventName, -1, EventName_full_name, EventName_full_name_path_size, NULL, NULL );
- _ASSERTE(EventName_path_size == EventName_full_name_path_size );
- if( EventName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- EventSourceName_full_name = (CHAR*)malloc(EventSourceName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(EventSourceName_full_name != NULL);
- if(EventSourceName_full_name == NULL){goto LExit;}
-
- EventSourceName_path_size = WideCharToMultiByte( CP_ACP, 0, EventSourceName, -1, EventSourceName_full_name, EventSourceName_full_name_path_size, NULL, NULL );
- _ASSERTE(EventSourceName_path_size == EventSourceName_full_name_path_size );
- if( EventSourceName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- Payload_full_name = (CHAR*)malloc(Payload_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Payload_full_name != NULL);
- if(Payload_full_name == NULL){goto LExit;}
-
- Payload_path_size = WideCharToMultiByte( CP_ACP, 0, Payload, -1, Payload_full_name, Payload_full_name_path_size, NULL, NULL );
- _ASSERTE(Payload_path_size == Payload_full_name_path_size );
- if( Payload_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntime,
- EventSource,
- EventID,
- EventName_full_name,
- EventSourceName_full_name,
- Payload_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Payload_full_name != NULL) {free(Payload_full_name);}
- if (EventSourceName_full_name != NULL) {free(EventSourceName_full_name);}
- if (EventName_full_name != NULL) {free(EventName_full_name);}
-
-return Error;
-}
diff --git a/src/pal/src/eventprovider/lttng/eventprovdotnetruntimeprivate.cpp b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimeprivate.cpp
deleted file mode 100644
index 60bdd9f408..0000000000
--- a/src/pal/src/eventprovider/lttng/eventprovdotnetruntimeprivate.cpp
+++ /dev/null
@@ -1,4851 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-
-#define TRACEPOINT_DEFINE
-#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
-#include "lttng/tpdotnetruntimeprivate.h"
-extern "C" BOOL EventXplatEnabledGCDecision(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCDecision(
- const BOOL DoCompact
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCDecision()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCDecision,
- DoCompact
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCDecision_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCDecision_V1(
- const BOOL DoCompact,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCDecision_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCDecision_V1,
- DoCompact,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCSettings(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCSettings(
- const unsigned __int64 SegmentSize,
- const unsigned __int64 LargeObjectSegmentSize,
- const BOOL ServerGC
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCSettings()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCSettings,
- SegmentSize,
- LargeObjectSegmentSize,
- ServerGC
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCSettings_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCSettings_V1(
- const unsigned __int64 SegmentSize,
- const unsigned __int64 LargeObjectSegmentSize,
- const BOOL ServerGC,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCSettings_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCSettings_V1,
- SegmentSize,
- LargeObjectSegmentSize,
- ServerGC,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCOptimized(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCOptimized(
- const unsigned __int64 DesiredAllocation,
- const unsigned __int64 NewAllocation,
- const unsigned int GenerationNumber
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCOptimized()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCOptimized,
- DesiredAllocation,
- NewAllocation,
- GenerationNumber
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCOptimized_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCOptimized_V1(
- const unsigned __int64 DesiredAllocation,
- const unsigned __int64 NewAllocation,
- const unsigned int GenerationNumber,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCOptimized_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCOptimized_V1,
- DesiredAllocation,
- NewAllocation,
- GenerationNumber,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCPerHeapHistory(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCPerHeapHistory(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCPerHeapHistory()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCPerHeapHistory
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCPerHeapHistory_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCPerHeapHistory_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCPerHeapHistory_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCPerHeapHistory_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCGlobalHeapHistory(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCGlobalHeapHistory(
- const unsigned __int64 FinalYoungestDesired,
- const signed int NumHeaps,
- const unsigned int CondemnedGeneration,
- const unsigned int Gen0ReductionCount,
- const unsigned int Reason,
- const unsigned int GlobalMechanisms
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCGlobalHeapHistory()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCGlobalHeapHistory,
- FinalYoungestDesired,
- NumHeaps,
- CondemnedGeneration,
- Gen0ReductionCount,
- Reason,
- GlobalMechanisms
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCGlobalHeapHistory_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCGlobalHeapHistory_V1(
- const unsigned __int64 FinalYoungestDesired,
- const signed int NumHeaps,
- const unsigned int CondemnedGeneration,
- const unsigned int Gen0ReductionCount,
- const unsigned int Reason,
- const unsigned int GlobalMechanisms,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCGlobalHeapHistory_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCGlobalHeapHistory_V1,
- FinalYoungestDesired,
- NumHeaps,
- CondemnedGeneration,
- Gen0ReductionCount,
- Reason,
- GlobalMechanisms,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCJoin(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCJoin(
- const unsigned int Heap,
- const unsigned int JoinTime,
- const unsigned int JoinType
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCJoin()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCJoin,
- Heap,
- JoinTime,
- JoinType
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCJoin_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCJoin_V1(
- const unsigned int Heap,
- const unsigned int JoinTime,
- const unsigned int JoinType,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCJoin_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCJoin_V1,
- Heap,
- JoinTime,
- JoinType,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrvGCMarkStackRoots(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrvGCMarkStackRoots(
- const unsigned int HeapNum
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrvGCMarkStackRoots()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrvGCMarkStackRoots,
- HeapNum
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrvGCMarkStackRoots_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrvGCMarkStackRoots_V1(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrvGCMarkStackRoots_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrvGCMarkStackRoots_V1,
- HeapNum,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrvGCMarkFinalizeQueueRoots(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrvGCMarkFinalizeQueueRoots(
- const unsigned int HeapNum
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrvGCMarkFinalizeQueueRoots()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrvGCMarkFinalizeQueueRoots,
- HeapNum
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrvGCMarkFinalizeQueueRoots_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrvGCMarkFinalizeQueueRoots_V1(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrvGCMarkFinalizeQueueRoots_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrvGCMarkFinalizeQueueRoots_V1,
- HeapNum,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrvGCMarkHandles(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrvGCMarkHandles(
- const unsigned int HeapNum
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrvGCMarkHandles()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrvGCMarkHandles,
- HeapNum
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrvGCMarkHandles_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrvGCMarkHandles_V1(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrvGCMarkHandles_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrvGCMarkHandles_V1,
- HeapNum,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrvGCMarkCards(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrvGCMarkCards(
- const unsigned int HeapNum
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrvGCMarkCards()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrvGCMarkCards,
- HeapNum
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrvGCMarkCards_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrvGCMarkCards_V1(
- const unsigned int HeapNum,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrvGCMarkCards_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrvGCMarkCards_V1,
- HeapNum,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGCBegin(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGCBegin(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGCBegin()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGCBegin,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGC1stNonConEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGC1stNonConEnd(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGC1stNonConEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGC1stNonConEnd,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGC1stConEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGC1stConEnd(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGC1stConEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGC1stConEnd,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGC2ndNonConBegin(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGC2ndNonConBegin(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGC2ndNonConBegin()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGC2ndNonConBegin,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGC2ndNonConEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGC2ndNonConEnd(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGC2ndNonConEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGC2ndNonConEnd,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGC2ndConBegin(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGC2ndConBegin(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGC2ndConBegin()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGC2ndConBegin,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGC2ndConEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGC2ndConEnd(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGC2ndConEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGC2ndConEnd,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGCPlanEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGCPlanEnd(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGCPlanEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGCPlanEnd,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGCSweepEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGCSweepEnd(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGCSweepEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGCSweepEnd,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGCDrainMark(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGCDrainMark(
- const unsigned __int64 Objects,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGCDrainMark()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGCDrainMark,
- Objects,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGCRevisit(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGCRevisit(
- const unsigned __int64 Pages,
- const unsigned __int64 Objects,
- const unsigned int IsLarge,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGCRevisit()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGCRevisit,
- Pages,
- Objects,
- IsLarge,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGCOverflow(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGCOverflow(
- const unsigned __int64 Min,
- const unsigned __int64 Max,
- const unsigned __int64 Objects,
- const unsigned int IsLarge,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGCOverflow()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGCOverflow,
- Min,
- Max,
- Objects,
- IsLarge,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGCAllocWaitBegin(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGCAllocWaitBegin(
- const unsigned int Reason,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGCAllocWaitBegin()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGCAllocWaitBegin,
- Reason,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBGCAllocWaitEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatBGCAllocWaitEnd(
- const unsigned int Reason,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBGCAllocWaitEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BGCAllocWaitEnd,
- Reason,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCFullNotify(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCFullNotify(
- const unsigned int GenNumber,
- const unsigned int IsAlloc
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCFullNotify()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCFullNotify,
- GenNumber,
- IsAlloc
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGCFullNotify_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGCFullNotify_V1(
- const unsigned int GenNumber,
- const unsigned int IsAlloc,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGCFullNotify_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GCFullNotify_V1,
- GenNumber,
- IsAlloc,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEEStartupStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatEEStartupStart(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEEStartupStart()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EEStartupStart
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEEStartupStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatEEStartupStart_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEEStartupStart_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EEStartupStart_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEEStartupEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatEEStartupEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEEStartupEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EEStartupEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEEStartupEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatEEStartupEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEEStartupEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EEStartupEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEEConfigSetup(){ return TRUE;}
-extern "C" ULONG FireEtXplatEEConfigSetup(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEEConfigSetup()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EEConfigSetup
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEEConfigSetup_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatEEConfigSetup_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEEConfigSetup_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EEConfigSetup_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEEConfigSetupEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatEEConfigSetupEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEEConfigSetupEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EEConfigSetupEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEEConfigSetupEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatEEConfigSetupEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEEConfigSetupEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EEConfigSetupEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLdSysBases(){ return TRUE;}
-extern "C" ULONG FireEtXplatLdSysBases(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLdSysBases()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- LdSysBases
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLdSysBases_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatLdSysBases_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLdSysBases_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- LdSysBases_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLdSysBasesEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatLdSysBasesEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLdSysBasesEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- LdSysBasesEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLdSysBasesEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatLdSysBasesEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLdSysBasesEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- LdSysBasesEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExecExe(){ return TRUE;}
-extern "C" ULONG FireEtXplatExecExe(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExecExe()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ExecExe
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExecExe_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatExecExe_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExecExe_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ExecExe_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExecExeEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatExecExeEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExecExeEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ExecExeEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExecExeEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatExecExeEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExecExeEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ExecExeEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMain(){ return TRUE;}
-extern "C" ULONG FireEtXplatMain(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMain()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- Main
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMain_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatMain_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMain_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- Main_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMainEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatMainEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMainEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- MainEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMainEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatMainEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMainEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- MainEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledApplyPolicyStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatApplyPolicyStart(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledApplyPolicyStart()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ApplyPolicyStart
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledApplyPolicyStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatApplyPolicyStart_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledApplyPolicyStart_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ApplyPolicyStart_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledApplyPolicyEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatApplyPolicyEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledApplyPolicyEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ApplyPolicyEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledApplyPolicyEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatApplyPolicyEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledApplyPolicyEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ApplyPolicyEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLdLibShFolder(){ return TRUE;}
-extern "C" ULONG FireEtXplatLdLibShFolder(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLdLibShFolder()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- LdLibShFolder
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLdLibShFolder_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatLdLibShFolder_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLdLibShFolder_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- LdLibShFolder_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLdLibShFolderEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatLdLibShFolderEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLdLibShFolderEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- LdLibShFolderEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLdLibShFolderEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatLdLibShFolderEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLdLibShFolderEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- LdLibShFolderEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrestubWorker(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrestubWorker(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrestubWorker()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrestubWorker
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrestubWorker_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrestubWorker_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrestubWorker_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrestubWorker_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrestubWorkerEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrestubWorkerEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrestubWorkerEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrestubWorkerEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrestubWorkerEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrestubWorkerEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrestubWorkerEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrestubWorkerEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGetInstallationStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatGetInstallationStart(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGetInstallationStart()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GetInstallationStart
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGetInstallationStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGetInstallationStart_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGetInstallationStart_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GetInstallationStart_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGetInstallationEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatGetInstallationEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGetInstallationEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GetInstallationEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGetInstallationEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatGetInstallationEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGetInstallationEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- GetInstallationEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledOpenHModule(){ return TRUE;}
-extern "C" ULONG FireEtXplatOpenHModule(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledOpenHModule()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- OpenHModule
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledOpenHModule_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatOpenHModule_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledOpenHModule_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- OpenHModule_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledOpenHModuleEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatOpenHModuleEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledOpenHModuleEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- OpenHModuleEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledOpenHModuleEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatOpenHModuleEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledOpenHModuleEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- OpenHModuleEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExplicitBindStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatExplicitBindStart(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExplicitBindStart()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ExplicitBindStart
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExplicitBindStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatExplicitBindStart_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExplicitBindStart_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ExplicitBindStart_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExplicitBindEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatExplicitBindEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExplicitBindEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ExplicitBindEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledExplicitBindEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatExplicitBindEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledExplicitBindEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ExplicitBindEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledParseXml(){ return TRUE;}
-extern "C" ULONG FireEtXplatParseXml(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledParseXml()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ParseXml
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledParseXml_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatParseXml_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledParseXml_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ParseXml_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledParseXmlEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatParseXmlEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledParseXmlEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ParseXmlEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledParseXmlEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatParseXmlEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledParseXmlEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ParseXmlEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledInitDefaultDomain(){ return TRUE;}
-extern "C" ULONG FireEtXplatInitDefaultDomain(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledInitDefaultDomain()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- InitDefaultDomain
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledInitDefaultDomain_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatInitDefaultDomain_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledInitDefaultDomain_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- InitDefaultDomain_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledInitDefaultDomainEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatInitDefaultDomainEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledInitDefaultDomainEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- InitDefaultDomainEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledInitDefaultDomainEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatInitDefaultDomainEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledInitDefaultDomainEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- InitDefaultDomainEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledInitSecurity(){ return TRUE;}
-extern "C" ULONG FireEtXplatInitSecurity(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledInitSecurity()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- InitSecurity
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledInitSecurity_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatInitSecurity_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledInitSecurity_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- InitSecurity_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledInitSecurityEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatInitSecurityEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledInitSecurityEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- InitSecurityEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledInitSecurityEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatInitSecurityEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledInitSecurityEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- InitSecurityEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAllowBindingRedirs(){ return TRUE;}
-extern "C" ULONG FireEtXplatAllowBindingRedirs(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAllowBindingRedirs()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- AllowBindingRedirs
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAllowBindingRedirs_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatAllowBindingRedirs_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAllowBindingRedirs_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- AllowBindingRedirs_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAllowBindingRedirsEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatAllowBindingRedirsEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAllowBindingRedirsEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- AllowBindingRedirsEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAllowBindingRedirsEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatAllowBindingRedirsEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAllowBindingRedirsEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- AllowBindingRedirsEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEEConfigSync(){ return TRUE;}
-extern "C" ULONG FireEtXplatEEConfigSync(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEEConfigSync()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EEConfigSync
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEEConfigSync_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatEEConfigSync_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEEConfigSync_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EEConfigSync_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEEConfigSyncEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatEEConfigSyncEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEEConfigSyncEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EEConfigSyncEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEEConfigSyncEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatEEConfigSyncEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEEConfigSyncEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EEConfigSyncEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionBinding(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionBinding(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionBinding()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionBinding
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionBinding_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionBinding_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionBinding_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionBinding_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionBindingEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionBindingEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionBindingEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionBindingEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionBindingEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionBindingEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionBindingEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionBindingEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLoaderCatchCall(){ return TRUE;}
-extern "C" ULONG FireEtXplatLoaderCatchCall(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLoaderCatchCall()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- LoaderCatchCall
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLoaderCatchCall_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatLoaderCatchCall_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLoaderCatchCall_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- LoaderCatchCall_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLoaderCatchCallEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatLoaderCatchCallEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLoaderCatchCallEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- LoaderCatchCallEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLoaderCatchCallEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatLoaderCatchCallEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLoaderCatchCallEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- LoaderCatchCallEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionInit(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionInit(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionInit()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionInit
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionInit_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionInit_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionInit_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionInit_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionInitEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionInitEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionInitEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionInitEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionInitEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionInitEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionInitEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionInitEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionAppCtx(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionAppCtx(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionAppCtx()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionAppCtx
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionAppCtx_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionAppCtx_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionAppCtx_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionAppCtx_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionAppCtxEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionAppCtxEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionAppCtxEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionAppCtxEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionAppCtxEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionAppCtxEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionAppCtxEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionAppCtxEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusion2EE(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusion2EE(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusion2EE()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- Fusion2EE
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusion2EE_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusion2EE_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusion2EE_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- Fusion2EE_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusion2EEEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusion2EEEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusion2EEEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- Fusion2EEEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusion2EEEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusion2EEEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusion2EEEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- Fusion2EEEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledSecurityCatchCall(){ return TRUE;}
-extern "C" ULONG FireEtXplatSecurityCatchCall(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledSecurityCatchCall()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- SecurityCatchCall
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledSecurityCatchCall_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatSecurityCatchCall_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledSecurityCatchCall_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- SecurityCatchCall_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledSecurityCatchCallEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatSecurityCatchCallEnd(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledSecurityCatchCallEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- SecurityCatchCallEnd
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledSecurityCatchCallEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatSecurityCatchCallEnd_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledSecurityCatchCallEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- SecurityCatchCallEnd_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledCLRStackWalkPrivate(){ return TRUE;}
-extern "C" ULONG FireEtXplatCLRStackWalkPrivate(
- const unsigned short ClrInstanceID,
- const unsigned char Reserved1,
- const unsigned char Reserved2,
- const unsigned int FrameCount,
- const void** Stack
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledCLRStackWalkPrivate()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- CLRStackWalkPrivate,
- ClrInstanceID,
- Reserved1,
- Reserved2,
- FrameCount,
- (const size_t*) Stack
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleRangeLoadPrivate(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleRangeLoadPrivate(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned int RangeBegin,
- const unsigned int RangeSize,
- const unsigned char RangeType,
- const unsigned char IBCType,
- const unsigned short SectionType
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleRangeLoadPrivate()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- ModuleRangeLoadPrivate,
- ClrInstanceID,
- ModuleID,
- RangeBegin,
- RangeSize,
- RangeType,
- IBCType,
- SectionType
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBindingPolicyPhaseStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatBindingPolicyPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBindingPolicyPhaseStart()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- BindingPolicyPhaseStart,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBindingPolicyPhaseEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatBindingPolicyPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBindingPolicyPhaseEnd()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- BindingPolicyPhaseEnd,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBindingNgenPhaseStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatBindingNgenPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBindingNgenPhaseStart()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- BindingNgenPhaseStart,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBindingNgenPhaseEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatBindingNgenPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBindingNgenPhaseEnd()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- BindingNgenPhaseEnd,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBindingLookupAndProbingPhaseStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatBindingLookupAndProbingPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBindingLookupAndProbingPhaseStart()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- BindingLookupAndProbingPhaseStart,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBindingLookupAndProbingPhaseEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatBindingLookupAndProbingPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBindingLookupAndProbingPhaseEnd()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- BindingLookupAndProbingPhaseEnd,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLoaderPhaseStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatLoaderPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLoaderPhaseStart()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- LoaderPhaseStart,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLoaderPhaseEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatLoaderPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLoaderPhaseEnd()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- LoaderPhaseEnd,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBindingPhaseStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatBindingPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBindingPhaseStart()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- BindingPhaseStart,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBindingPhaseEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatBindingPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBindingPhaseEnd()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- BindingPhaseEnd,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBindingDownloadPhaseStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatBindingDownloadPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBindingDownloadPhaseStart()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- BindingDownloadPhaseStart,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBindingDownloadPhaseEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatBindingDownloadPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBindingDownloadPhaseEnd()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- BindingDownloadPhaseEnd,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLoaderAssemblyInitPhaseStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatLoaderAssemblyInitPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLoaderAssemblyInitPhaseStart()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- LoaderAssemblyInitPhaseStart,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLoaderAssemblyInitPhaseEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatLoaderAssemblyInitPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLoaderAssemblyInitPhaseEnd()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- LoaderAssemblyInitPhaseEnd,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLoaderMappingPhaseStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatLoaderMappingPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLoaderMappingPhaseStart()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- LoaderMappingPhaseStart,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLoaderMappingPhaseEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatLoaderMappingPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLoaderMappingPhaseEnd()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- LoaderMappingPhaseEnd,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLoaderDeliverEventsPhaseStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatLoaderDeliverEventsPhaseStart(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLoaderDeliverEventsPhaseStart()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- LoaderDeliverEventsPhaseStart,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledLoaderDeliverEventsPhaseEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatLoaderDeliverEventsPhaseEnd(
- const unsigned int AppDomainID,
- const unsigned int LoadContextID,
- const unsigned int FromLoaderCache,
- const unsigned int DynamicLoad,
- PCWSTR AssemblyCodebase,
- PCWSTR AssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledLoaderDeliverEventsPhaseEnd()){ return ERROR_SUCCESS;};
- INT AssemblyCodebase_path_size = -1;
- INT AssemblyCodebase_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyCodebase_full_name=NULL;
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyCodebase_full_name != NULL);
- if(AssemblyCodebase_full_name == NULL){goto LExit;}
-
- AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
- if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- LoaderDeliverEventsPhaseEnd,
- AppDomainID,
- LoadContextID,
- FromLoaderCache,
- DynamicLoad,
- AssemblyCodebase_full_name,
- AssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
- if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEvidenceGenerated(){ return TRUE;}
-extern "C" ULONG FireEtXplatEvidenceGenerated(
- const unsigned int Type,
- const unsigned int AppDomain,
- PCWSTR ILImage,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEvidenceGenerated()){ return ERROR_SUCCESS;};
- INT ILImage_path_size = -1;
- INT ILImage_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ILImage, -1, NULL, 0, NULL, NULL );
- CHAR* ILImage_full_name=NULL;
-
- ILImage_full_name = (CHAR*)malloc(ILImage_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ILImage_full_name != NULL);
- if(ILImage_full_name == NULL){goto LExit;}
-
- ILImage_path_size = WideCharToMultiByte( CP_ACP, 0, ILImage, -1, ILImage_full_name, ILImage_full_name_path_size, NULL, NULL );
- _ASSERTE(ILImage_path_size == ILImage_full_name_path_size );
- if( ILImage_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- EvidenceGenerated,
- Type,
- AppDomain,
- ILImage_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ILImage_full_name != NULL) {free(ILImage_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleTransparencyComputationStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleTransparencyComputationStart(
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleTransparencyComputationStart()){ return ERROR_SUCCESS;};
- INT Module_path_size = -1;
- INT Module_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, NULL, 0, NULL, NULL );
- CHAR* Module_full_name=NULL;
-
- Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Module_full_name != NULL);
- if(Module_full_name == NULL){goto LExit;}
-
- Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
- _ASSERTE(Module_path_size == Module_full_name_path_size );
- if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- ModuleTransparencyComputationStart,
- Module_full_name,
- AppDomainID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Module_full_name != NULL) {free(Module_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleTransparencyComputationEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleTransparencyComputationEnd(
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsAllCritical,
- const BOOL IsAllTransparent,
- const BOOL IsTreatAsSafe,
- const BOOL IsOpportunisticallyCritical,
- const unsigned int SecurityRuleSet,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleTransparencyComputationEnd()){ return ERROR_SUCCESS;};
- INT Module_path_size = -1;
- INT Module_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, NULL, 0, NULL, NULL );
- CHAR* Module_full_name=NULL;
-
- Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Module_full_name != NULL);
- if(Module_full_name == NULL){goto LExit;}
-
- Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
- _ASSERTE(Module_path_size == Module_full_name_path_size );
- if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- ModuleTransparencyComputationEnd,
- Module_full_name,
- AppDomainID,
- IsAllCritical,
- IsAllTransparent,
- IsTreatAsSafe,
- IsOpportunisticallyCritical,
- SecurityRuleSet,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Module_full_name != NULL) {free(Module_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledTypeTransparencyComputationStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatTypeTransparencyComputationStart(
- PCWSTR Type,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledTypeTransparencyComputationStart()){ return ERROR_SUCCESS;};
- INT Type_path_size = -1;
- INT Type_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Type, -1, NULL, 0, NULL, NULL );
- CHAR* Type_full_name=NULL;
- INT Module_path_size = -1;
- INT Module_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, NULL, 0, NULL, NULL );
- CHAR* Module_full_name=NULL;
-
- Type_full_name = (CHAR*)malloc(Type_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Type_full_name != NULL);
- if(Type_full_name == NULL){goto LExit;}
-
- Type_path_size = WideCharToMultiByte( CP_ACP, 0, Type, -1, Type_full_name, Type_full_name_path_size, NULL, NULL );
- _ASSERTE(Type_path_size == Type_full_name_path_size );
- if( Type_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Module_full_name != NULL);
- if(Module_full_name == NULL){goto LExit;}
-
- Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
- _ASSERTE(Module_path_size == Module_full_name_path_size );
- if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- TypeTransparencyComputationStart,
- Type_full_name,
- Module_full_name,
- AppDomainID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Module_full_name != NULL) {free(Module_full_name);}
- if (Type_full_name != NULL) {free(Type_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledTypeTransparencyComputationEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatTypeTransparencyComputationEnd(
- PCWSTR Type,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsAllCritical,
- const BOOL IsAllTransparent,
- const BOOL IsCritical,
- const BOOL IsTreatAsSafe,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledTypeTransparencyComputationEnd()){ return ERROR_SUCCESS;};
- INT Type_path_size = -1;
- INT Type_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Type, -1, NULL, 0, NULL, NULL );
- CHAR* Type_full_name=NULL;
- INT Module_path_size = -1;
- INT Module_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, NULL, 0, NULL, NULL );
- CHAR* Module_full_name=NULL;
-
- Type_full_name = (CHAR*)malloc(Type_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Type_full_name != NULL);
- if(Type_full_name == NULL){goto LExit;}
-
- Type_path_size = WideCharToMultiByte( CP_ACP, 0, Type, -1, Type_full_name, Type_full_name_path_size, NULL, NULL );
- _ASSERTE(Type_path_size == Type_full_name_path_size );
- if( Type_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Module_full_name != NULL);
- if(Module_full_name == NULL){goto LExit;}
-
- Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
- _ASSERTE(Module_path_size == Module_full_name_path_size );
- if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- TypeTransparencyComputationEnd,
- Type_full_name,
- Module_full_name,
- AppDomainID,
- IsAllCritical,
- IsAllTransparent,
- IsCritical,
- IsTreatAsSafe,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Module_full_name != NULL) {free(Module_full_name);}
- if (Type_full_name != NULL) {free(Type_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodTransparencyComputationStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodTransparencyComputationStart(
- PCWSTR Method,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodTransparencyComputationStart()){ return ERROR_SUCCESS;};
- INT Method_path_size = -1;
- INT Method_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Method, -1, NULL, 0, NULL, NULL );
- CHAR* Method_full_name=NULL;
- INT Module_path_size = -1;
- INT Module_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, NULL, 0, NULL, NULL );
- CHAR* Module_full_name=NULL;
-
- Method_full_name = (CHAR*)malloc(Method_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Method_full_name != NULL);
- if(Method_full_name == NULL){goto LExit;}
-
- Method_path_size = WideCharToMultiByte( CP_ACP, 0, Method, -1, Method_full_name, Method_full_name_path_size, NULL, NULL );
- _ASSERTE(Method_path_size == Method_full_name_path_size );
- if( Method_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Module_full_name != NULL);
- if(Module_full_name == NULL){goto LExit;}
-
- Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
- _ASSERTE(Module_path_size == Module_full_name_path_size );
- if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- MethodTransparencyComputationStart,
- Method_full_name,
- Module_full_name,
- AppDomainID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Module_full_name != NULL) {free(Module_full_name);}
- if (Method_full_name != NULL) {free(Method_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodTransparencyComputationEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodTransparencyComputationEnd(
- PCWSTR Method,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsCritical,
- const BOOL IsTreatAsSafe,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodTransparencyComputationEnd()){ return ERROR_SUCCESS;};
- INT Method_path_size = -1;
- INT Method_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Method, -1, NULL, 0, NULL, NULL );
- CHAR* Method_full_name=NULL;
- INT Module_path_size = -1;
- INT Module_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, NULL, 0, NULL, NULL );
- CHAR* Module_full_name=NULL;
-
- Method_full_name = (CHAR*)malloc(Method_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Method_full_name != NULL);
- if(Method_full_name == NULL){goto LExit;}
-
- Method_path_size = WideCharToMultiByte( CP_ACP, 0, Method, -1, Method_full_name, Method_full_name_path_size, NULL, NULL );
- _ASSERTE(Method_path_size == Method_full_name_path_size );
- if( Method_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Module_full_name != NULL);
- if(Module_full_name == NULL){goto LExit;}
-
- Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
- _ASSERTE(Module_path_size == Module_full_name_path_size );
- if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- MethodTransparencyComputationEnd,
- Method_full_name,
- Module_full_name,
- AppDomainID,
- IsCritical,
- IsTreatAsSafe,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Module_full_name != NULL) {free(Module_full_name);}
- if (Method_full_name != NULL) {free(Method_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFieldTransparencyComputationStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatFieldTransparencyComputationStart(
- PCWSTR Field,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFieldTransparencyComputationStart()){ return ERROR_SUCCESS;};
- INT Field_path_size = -1;
- INT Field_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Field, -1, NULL, 0, NULL, NULL );
- CHAR* Field_full_name=NULL;
- INT Module_path_size = -1;
- INT Module_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, NULL, 0, NULL, NULL );
- CHAR* Module_full_name=NULL;
-
- Field_full_name = (CHAR*)malloc(Field_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Field_full_name != NULL);
- if(Field_full_name == NULL){goto LExit;}
-
- Field_path_size = WideCharToMultiByte( CP_ACP, 0, Field, -1, Field_full_name, Field_full_name_path_size, NULL, NULL );
- _ASSERTE(Field_path_size == Field_full_name_path_size );
- if( Field_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Module_full_name != NULL);
- if(Module_full_name == NULL){goto LExit;}
-
- Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
- _ASSERTE(Module_path_size == Module_full_name_path_size );
- if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- FieldTransparencyComputationStart,
- Field_full_name,
- Module_full_name,
- AppDomainID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Module_full_name != NULL) {free(Module_full_name);}
- if (Field_full_name != NULL) {free(Field_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFieldTransparencyComputationEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatFieldTransparencyComputationEnd(
- PCWSTR Field,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsCritical,
- const BOOL IsTreatAsSafe,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFieldTransparencyComputationEnd()){ return ERROR_SUCCESS;};
- INT Field_path_size = -1;
- INT Field_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Field, -1, NULL, 0, NULL, NULL );
- CHAR* Field_full_name=NULL;
- INT Module_path_size = -1;
- INT Module_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, NULL, 0, NULL, NULL );
- CHAR* Module_full_name=NULL;
-
- Field_full_name = (CHAR*)malloc(Field_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Field_full_name != NULL);
- if(Field_full_name == NULL){goto LExit;}
-
- Field_path_size = WideCharToMultiByte( CP_ACP, 0, Field, -1, Field_full_name, Field_full_name_path_size, NULL, NULL );
- _ASSERTE(Field_path_size == Field_full_name_path_size );
- if( Field_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Module_full_name != NULL);
- if(Module_full_name == NULL){goto LExit;}
-
- Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
- _ASSERTE(Module_path_size == Module_full_name_path_size );
- if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- FieldTransparencyComputationEnd,
- Field_full_name,
- Module_full_name,
- AppDomainID,
- IsCritical,
- IsTreatAsSafe,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Module_full_name != NULL) {free(Module_full_name);}
- if (Field_full_name != NULL) {free(Field_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledTokenTransparencyComputationStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatTokenTransparencyComputationStart(
- const unsigned int Token,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledTokenTransparencyComputationStart()){ return ERROR_SUCCESS;};
- INT Module_path_size = -1;
- INT Module_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, NULL, 0, NULL, NULL );
- CHAR* Module_full_name=NULL;
-
- Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Module_full_name != NULL);
- if(Module_full_name == NULL){goto LExit;}
-
- Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
- _ASSERTE(Module_path_size == Module_full_name_path_size );
- if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- TokenTransparencyComputationStart,
- Token,
- Module_full_name,
- AppDomainID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Module_full_name != NULL) {free(Module_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledTokenTransparencyComputationEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatTokenTransparencyComputationEnd(
- const unsigned int Token,
- PCWSTR Module,
- const unsigned int AppDomainID,
- const BOOL IsCritical,
- const BOOL IsTreatAsSafe,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledTokenTransparencyComputationEnd()){ return ERROR_SUCCESS;};
- INT Module_path_size = -1;
- INT Module_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, NULL, 0, NULL, NULL );
- CHAR* Module_full_name=NULL;
-
- Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Module_full_name != NULL);
- if(Module_full_name == NULL){goto LExit;}
-
- Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
- _ASSERTE(Module_path_size == Module_full_name_path_size );
- if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- TokenTransparencyComputationEnd,
- Token,
- Module_full_name,
- AppDomainID,
- IsCritical,
- IsTreatAsSafe,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Module_full_name != NULL) {free(Module_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledNgenBindEvent(){ return TRUE;}
-extern "C" ULONG FireEtXplatNgenBindEvent(
- const unsigned short ClrInstanceID,
- const unsigned __int64 BindingID,
- const unsigned int ReasonCode,
- PCWSTR AssemblyName
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledNgenBindEvent()){ return ERROR_SUCCESS;};
- INT AssemblyName_path_size = -1;
- INT AssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* AssemblyName_full_name=NULL;
-
- AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AssemblyName_full_name != NULL);
- if(AssemblyName_full_name == NULL){goto LExit;}
-
- AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
- if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- NgenBindEvent,
- ClrInstanceID,
- BindingID,
- ReasonCode,
- AssemblyName_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFailFast(){ return TRUE;}
-extern "C" ULONG FireEtXplatFailFast(
- PCWSTR FailFastUserMessage,
- const void* FailedEIP,
- const unsigned int OSExitCode,
- const unsigned int ClrExitCode,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFailFast()){ return ERROR_SUCCESS;};
- INT FailFastUserMessage_path_size = -1;
- INT FailFastUserMessage_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FailFastUserMessage, -1, NULL, 0, NULL, NULL );
- CHAR* FailFastUserMessage_full_name=NULL;
-
- FailFastUserMessage_full_name = (CHAR*)malloc(FailFastUserMessage_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FailFastUserMessage_full_name != NULL);
- if(FailFastUserMessage_full_name == NULL){goto LExit;}
-
- FailFastUserMessage_path_size = WideCharToMultiByte( CP_ACP, 0, FailFastUserMessage, -1, FailFastUserMessage_full_name, FailFastUserMessage_full_name_path_size, NULL, NULL );
- _ASSERTE(FailFastUserMessage_path_size == FailFastUserMessage_full_name_path_size );
- if( FailFastUserMessage_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- FailFast,
- FailFastUserMessage_full_name,
- (const size_t) FailedEIP,
- OSExitCode,
- ClrExitCode,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FailFastUserMessage_full_name != NULL) {free(FailFastUserMessage_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrvFinalizeObject(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrvFinalizeObject(
- const void* TypeID,
- const void* ObjectID,
- const unsigned short ClrInstanceID,
- PCWSTR TypeName
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrvFinalizeObject()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- PrvFinalizeObject,
- (const size_t) TypeID,
- (const size_t) ObjectID,
- ClrInstanceID,
- TypeName_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledCCWRefCountChange(){ return TRUE;}
-extern "C" ULONG FireEtXplatCCWRefCountChange(
- const void* HandleID,
- const void* ObjectID,
- const void* COMInterfacePointer,
- const unsigned int NewRefCount,
- const unsigned __int64 AppDomainID,
- LPCSTR ClassName,
- LPCSTR NameSpace,
- PCWSTR Operation,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledCCWRefCountChange()){ return ERROR_SUCCESS;};
- INT Operation_path_size = -1;
- INT Operation_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Operation, -1, NULL, 0, NULL, NULL );
- CHAR* Operation_full_name=NULL;
-
- Operation_full_name = (CHAR*)malloc(Operation_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Operation_full_name != NULL);
- if(Operation_full_name == NULL){goto LExit;}
-
- Operation_path_size = WideCharToMultiByte( CP_ACP, 0, Operation, -1, Operation_full_name, Operation_full_name_path_size, NULL, NULL );
- _ASSERTE(Operation_path_size == Operation_full_name_path_size );
- if( Operation_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- CCWRefCountChange,
- (const size_t) HandleID,
- (const size_t) ObjectID,
- (const size_t) COMInterfacePointer,
- NewRefCount,
- AppDomainID,
- ClassName,
- NameSpace,
- Operation_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Operation_full_name != NULL) {free(Operation_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrvSetGCHandle(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrvSetGCHandle(
- const void* HandleID,
- const void* ObjectID,
- const unsigned int Kind,
- const unsigned int Generation,
- const unsigned __int64 AppDomainID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrvSetGCHandle()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrvSetGCHandle,
- (const size_t) HandleID,
- (const size_t) ObjectID,
- Kind,
- Generation,
- AppDomainID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPrvDestroyGCHandle(){ return TRUE;}
-extern "C" ULONG FireEtXplatPrvDestroyGCHandle(
- const void* HandleID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPrvDestroyGCHandle()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PrvDestroyGCHandle,
- (const size_t) HandleID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionMessageEvent(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionMessageEvent(
- const unsigned short ClrInstanceID,
- const BOOL Prepend,
- PCWSTR Message
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionMessageEvent()){ return ERROR_SUCCESS;};
- INT Message_path_size = -1;
- INT Message_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, Message, -1, NULL, 0, NULL, NULL );
- CHAR* Message_full_name=NULL;
-
- Message_full_name = (CHAR*)malloc(Message_full_name_path_size*sizeof(CHAR));
- _ASSERTE(Message_full_name != NULL);
- if(Message_full_name == NULL){goto LExit;}
-
- Message_path_size = WideCharToMultiByte( CP_ACP, 0, Message, -1, Message_full_name, Message_full_name_path_size, NULL, NULL );
- _ASSERTE(Message_path_size == Message_full_name_path_size );
- if( Message_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionMessageEvent,
- ClrInstanceID,
- Prepend,
- Message_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (Message_full_name != NULL) {free(Message_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledFusionErrorCodeEvent(){ return TRUE;}
-extern "C" ULONG FireEtXplatFusionErrorCodeEvent(
- const unsigned short ClrInstanceID,
- const unsigned int Category,
- const unsigned int ErrorCode
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledFusionErrorCodeEvent()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- FusionErrorCodeEvent,
- ClrInstanceID,
- Category,
- ErrorCode
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledPinPlugAtGCTime(){ return TRUE;}
-extern "C" ULONG FireEtXplatPinPlugAtGCTime(
- const void* PlugStart,
- const void* PlugEnd,
- const void* GapBeforeSize,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledPinPlugAtGCTime()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- PinPlugAtGCTime,
- (const size_t) PlugStart,
- (const size_t) PlugEnd,
- (const size_t) GapBeforeSize,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAllocRequest(){ return TRUE;}
-extern "C" ULONG FireEtXplatAllocRequest(
- const void* LoaderHeapPtr,
- const void* MemoryAddress,
- const unsigned int RequestSize,
- const unsigned int Unused1,
- const unsigned __int64 Unused2,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAllocRequest()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- AllocRequest,
- (const size_t) LoaderHeapPtr,
- (const size_t) MemoryAddress,
- RequestSize,
- Unused1,
- Unused2,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMulticoreJit(){ return TRUE;}
-extern "C" ULONG FireEtXplatMulticoreJit(
- const unsigned short ClrInstanceID,
- PCWSTR String1,
- PCWSTR String2,
- const signed int Int1,
- const signed int Int2,
- const signed int Int3
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMulticoreJit()){ return ERROR_SUCCESS;};
- INT String1_path_size = -1;
- INT String1_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, String1, -1, NULL, 0, NULL, NULL );
- CHAR* String1_full_name=NULL;
- INT String2_path_size = -1;
- INT String2_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, String2, -1, NULL, 0, NULL, NULL );
- CHAR* String2_full_name=NULL;
-
- String1_full_name = (CHAR*)malloc(String1_full_name_path_size*sizeof(CHAR));
- _ASSERTE(String1_full_name != NULL);
- if(String1_full_name == NULL){goto LExit;}
-
- String1_path_size = WideCharToMultiByte( CP_ACP, 0, String1, -1, String1_full_name, String1_full_name_path_size, NULL, NULL );
- _ASSERTE(String1_path_size == String1_full_name_path_size );
- if( String1_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- String2_full_name = (CHAR*)malloc(String2_full_name_path_size*sizeof(CHAR));
- _ASSERTE(String2_full_name != NULL);
- if(String2_full_name == NULL){goto LExit;}
-
- String2_path_size = WideCharToMultiByte( CP_ACP, 0, String2, -1, String2_full_name, String2_full_name_path_size, NULL, NULL );
- _ASSERTE(String2_path_size == String2_full_name_path_size );
- if( String2_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- MulticoreJit,
- ClrInstanceID,
- String1_full_name,
- String2_full_name,
- Int1,
- Int2,
- Int3
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (String2_full_name != NULL) {free(String2_full_name);}
- if (String1_full_name != NULL) {free(String1_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMulticoreJitMethodCodeReturned(){ return TRUE;}
-extern "C" ULONG FireEtXplatMulticoreJitMethodCodeReturned(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMulticoreJitMethodCodeReturned()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- MulticoreJitMethodCodeReturned,
- ClrInstanceID,
- ModuleID,
- MethodID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledIInspectableRuntimeClassName(){ return TRUE;}
-extern "C" ULONG FireEtXplatIInspectableRuntimeClassName(
- PCWSTR TypeName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledIInspectableRuntimeClassName()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- IInspectableRuntimeClassName,
- TypeName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledWinRTUnbox(){ return TRUE;}
-extern "C" ULONG FireEtXplatWinRTUnbox(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledWinRTUnbox()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
- INT SecondTypeName_path_size = -1;
- INT SecondTypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, NULL, 0, NULL, NULL );
- CHAR* SecondTypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(SecondTypeName_full_name != NULL);
- if(SecondTypeName_full_name == NULL){goto LExit;}
-
- SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size );
- if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- WinRTUnbox,
- TypeName_full_name,
- SecondTypeName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);}
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledCreateRCW(){ return TRUE;}
-extern "C" ULONG FireEtXplatCreateRCW(
- PCWSTR TypeName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledCreateRCW()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- CreateRCW,
- TypeName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledRCWVariance(){ return TRUE;}
-extern "C" ULONG FireEtXplatRCWVariance(
- PCWSTR TypeName,
- PCWSTR InterfaceTypeName,
- PCWSTR VariantInterfaceTypeName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledRCWVariance()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
- INT InterfaceTypeName_path_size = -1;
- INT InterfaceTypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InterfaceTypeName, -1, NULL, 0, NULL, NULL );
- CHAR* InterfaceTypeName_full_name=NULL;
- INT VariantInterfaceTypeName_path_size = -1;
- INT VariantInterfaceTypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, VariantInterfaceTypeName, -1, NULL, 0, NULL, NULL );
- CHAR* VariantInterfaceTypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InterfaceTypeName_full_name = (CHAR*)malloc(InterfaceTypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InterfaceTypeName_full_name != NULL);
- if(InterfaceTypeName_full_name == NULL){goto LExit;}
-
- InterfaceTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, InterfaceTypeName, -1, InterfaceTypeName_full_name, InterfaceTypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(InterfaceTypeName_path_size == InterfaceTypeName_full_name_path_size );
- if( InterfaceTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- VariantInterfaceTypeName_full_name = (CHAR*)malloc(VariantInterfaceTypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(VariantInterfaceTypeName_full_name != NULL);
- if(VariantInterfaceTypeName_full_name == NULL){goto LExit;}
-
- VariantInterfaceTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, VariantInterfaceTypeName, -1, VariantInterfaceTypeName_full_name, VariantInterfaceTypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(VariantInterfaceTypeName_path_size == VariantInterfaceTypeName_full_name_path_size );
- if( VariantInterfaceTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- RCWVariance,
- TypeName_full_name,
- InterfaceTypeName_full_name,
- VariantInterfaceTypeName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (VariantInterfaceTypeName_full_name != NULL) {free(VariantInterfaceTypeName_full_name);}
- if (InterfaceTypeName_full_name != NULL) {free(InterfaceTypeName_full_name);}
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledRCWIEnumerableCasting(){ return TRUE;}
-extern "C" ULONG FireEtXplatRCWIEnumerableCasting(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledRCWIEnumerableCasting()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
- INT SecondTypeName_path_size = -1;
- INT SecondTypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, NULL, 0, NULL, NULL );
- CHAR* SecondTypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(SecondTypeName_full_name != NULL);
- if(SecondTypeName_full_name == NULL){goto LExit;}
-
- SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size );
- if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- RCWIEnumerableCasting,
- TypeName_full_name,
- SecondTypeName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);}
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledCreateCCW(){ return TRUE;}
-extern "C" ULONG FireEtXplatCreateCCW(
- PCWSTR TypeName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledCreateCCW()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- CreateCCW,
- TypeName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledCCWVariance(){ return TRUE;}
-extern "C" ULONG FireEtXplatCCWVariance(
- PCWSTR TypeName,
- PCWSTR InterfaceTypeName,
- PCWSTR VariantInterfaceTypeName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledCCWVariance()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
- INT InterfaceTypeName_path_size = -1;
- INT InterfaceTypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, InterfaceTypeName, -1, NULL, 0, NULL, NULL );
- CHAR* InterfaceTypeName_full_name=NULL;
- INT VariantInterfaceTypeName_path_size = -1;
- INT VariantInterfaceTypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, VariantInterfaceTypeName, -1, NULL, 0, NULL, NULL );
- CHAR* VariantInterfaceTypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- InterfaceTypeName_full_name = (CHAR*)malloc(InterfaceTypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(InterfaceTypeName_full_name != NULL);
- if(InterfaceTypeName_full_name == NULL){goto LExit;}
-
- InterfaceTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, InterfaceTypeName, -1, InterfaceTypeName_full_name, InterfaceTypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(InterfaceTypeName_path_size == InterfaceTypeName_full_name_path_size );
- if( InterfaceTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- VariantInterfaceTypeName_full_name = (CHAR*)malloc(VariantInterfaceTypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(VariantInterfaceTypeName_full_name != NULL);
- if(VariantInterfaceTypeName_full_name == NULL){goto LExit;}
-
- VariantInterfaceTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, VariantInterfaceTypeName, -1, VariantInterfaceTypeName_full_name, VariantInterfaceTypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(VariantInterfaceTypeName_path_size == VariantInterfaceTypeName_full_name_path_size );
- if( VariantInterfaceTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- CCWVariance,
- TypeName_full_name,
- InterfaceTypeName_full_name,
- VariantInterfaceTypeName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (VariantInterfaceTypeName_full_name != NULL) {free(VariantInterfaceTypeName_full_name);}
- if (InterfaceTypeName_full_name != NULL) {free(InterfaceTypeName_full_name);}
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledObjectVariantMarshallingToNative(){ return TRUE;}
-extern "C" ULONG FireEtXplatObjectVariantMarshallingToNative(
- PCWSTR TypeName,
- const signed int Int1,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledObjectVariantMarshallingToNative()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- ObjectVariantMarshallingToNative,
- TypeName_full_name,
- Int1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGetTypeFromGUID(){ return TRUE;}
-extern "C" ULONG FireEtXplatGetTypeFromGUID(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGetTypeFromGUID()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
- INT SecondTypeName_path_size = -1;
- INT SecondTypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, NULL, 0, NULL, NULL );
- CHAR* SecondTypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(SecondTypeName_full_name != NULL);
- if(SecondTypeName_full_name == NULL){goto LExit;}
-
- SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size );
- if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- GetTypeFromGUID,
- TypeName_full_name,
- SecondTypeName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);}
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledGetTypeFromProgID(){ return TRUE;}
-extern "C" ULONG FireEtXplatGetTypeFromProgID(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledGetTypeFromProgID()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
- INT SecondTypeName_path_size = -1;
- INT SecondTypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, NULL, 0, NULL, NULL );
- CHAR* SecondTypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(SecondTypeName_full_name != NULL);
- if(SecondTypeName_full_name == NULL){goto LExit;}
-
- SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size );
- if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- GetTypeFromProgID,
- TypeName_full_name,
- SecondTypeName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);}
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledConvertToCallbackEtw(){ return TRUE;}
-extern "C" ULONG FireEtXplatConvertToCallbackEtw(
- PCWSTR TypeName,
- PCWSTR SecondTypeName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledConvertToCallbackEtw()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
- INT SecondTypeName_path_size = -1;
- INT SecondTypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, NULL, 0, NULL, NULL );
- CHAR* SecondTypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(SecondTypeName_full_name != NULL);
- if(SecondTypeName_full_name == NULL){goto LExit;}
-
- SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size );
- if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- ConvertToCallbackEtw,
- TypeName_full_name,
- SecondTypeName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);}
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledBeginCreateManagedReference(){ return TRUE;}
-extern "C" ULONG FireEtXplatBeginCreateManagedReference(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledBeginCreateManagedReference()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- BeginCreateManagedReference,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledEndCreateManagedReference(){ return TRUE;}
-extern "C" ULONG FireEtXplatEndCreateManagedReference(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledEndCreateManagedReference()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimePrivate,
- EndCreateManagedReference,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledObjectVariantMarshallingToManaged(){ return TRUE;}
-extern "C" ULONG FireEtXplatObjectVariantMarshallingToManaged(
- PCWSTR TypeName,
- const signed int Int1,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledObjectVariantMarshallingToManaged()){ return ERROR_SUCCESS;};
- INT TypeName_path_size = -1;
- INT TypeName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, NULL, 0, NULL, NULL );
- CHAR* TypeName_full_name=NULL;
-
- TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(TypeName_full_name != NULL);
- if(TypeName_full_name == NULL){goto LExit;}
-
- TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
- _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
- if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimePrivate,
- ObjectVariantMarshallingToManaged,
- TypeName_full_name,
- Int1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (TypeName_full_name != NULL) {free(TypeName_full_name);}
-
-return Error;
-}
diff --git a/src/pal/src/eventprovider/lttng/eventprovdotnetruntimerundown.cpp b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimerundown.cpp
deleted file mode 100644
index 91f16e6912..0000000000
--- a/src/pal/src/eventprovider/lttng/eventprovdotnetruntimerundown.cpp
+++ /dev/null
@@ -1,1947 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-
-#define TRACEPOINT_DEFINE
-#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
-#include "lttng/tpdotnetruntimerundown.h"
-extern "C" BOOL EventXplatEnabledCLRStackWalkDCStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatCLRStackWalkDCStart(
- const unsigned short ClrInstanceID,
- const unsigned char Reserved1,
- const unsigned char Reserved2,
- const unsigned int FrameCount,
- const void** Stack
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledCLRStackWalkDCStart()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- CLRStackWalkDCStart,
- ClrInstanceID,
- Reserved1,
- Reserved2,
- FrameCount,
- (const size_t*) Stack
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCStart(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCStart()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCStart,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCStart_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCStart_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCStart_V1,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCStart_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCStart_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCStart_V2()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCStart_V2,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- ClrInstanceID,
- ReJITID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCEnd(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCEnd,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCEnd_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCEnd_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCEnd_V1,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCEnd_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCEnd_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCEnd_V2()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCEnd_V2,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- ClrInstanceID,
- ReJITID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCStartVerbose(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCStartVerbose(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCStartVerbose()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCStartVerbose,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCStartVerbose_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCStartVerbose_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCStartVerbose_V1()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCStartVerbose_V1,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCStartVerbose_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCStartVerbose_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCStartVerbose_V2()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCStartVerbose_V2,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name,
- ClrInstanceID
- );
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCStartVerbose_V2_1,
- ReJITID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCEndVerbose(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCEndVerbose(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCEndVerbose()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCEndVerbose,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCEndVerbose_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCEndVerbose_V1(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCEndVerbose_V1()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCEndVerbose_V1,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCEndVerbose_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCEndVerbose_V2(
- const unsigned __int64 MethodID,
- const unsigned __int64 ModuleID,
- const unsigned __int64 MethodStartAddress,
- const unsigned int MethodSize,
- const unsigned int MethodToken,
- const unsigned int MethodFlags,
- PCWSTR MethodNamespace,
- PCWSTR MethodName,
- PCWSTR MethodSignature,
- const unsigned short ClrInstanceID,
- const unsigned __int64 ReJITID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCEndVerbose_V2()){ return ERROR_SUCCESS;};
- INT MethodNamespace_path_size = -1;
- INT MethodNamespace_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, NULL, 0, NULL, NULL );
- CHAR* MethodNamespace_full_name=NULL;
- INT MethodName_path_size = -1;
- INT MethodName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, NULL, 0, NULL, NULL );
- CHAR* MethodName_full_name=NULL;
- INT MethodSignature_path_size = -1;
- INT MethodSignature_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, NULL, 0, NULL, NULL );
- CHAR* MethodSignature_full_name=NULL;
-
- MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodNamespace_full_name != NULL);
- if(MethodNamespace_full_name == NULL){goto LExit;}
-
- MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
- if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodName_full_name != NULL);
- if(MethodName_full_name == NULL){goto LExit;}
-
- MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
- if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
- _ASSERTE(MethodSignature_full_name != NULL);
- if(MethodSignature_full_name == NULL){goto LExit;}
-
- MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
- _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
- if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCEndVerbose_V2,
- MethodID,
- ModuleID,
- MethodStartAddress,
- MethodSize,
- MethodToken,
- MethodFlags,
- MethodNamespace_full_name,
- MethodName_full_name,
- MethodSignature_full_name,
- ClrInstanceID
- );
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCEndVerbose_V2_1,
- ReJITID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
- if (MethodName_full_name != NULL) {free(MethodName_full_name);}
- if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDCStartComplete(){ return TRUE;}
-extern "C" ULONG FireEtXplatDCStartComplete(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDCStartComplete()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntimeRundown,
- DCStartComplete
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDCStartComplete_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatDCStartComplete_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDCStartComplete_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- DCStartComplete_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDCEndComplete(){ return TRUE;}
-extern "C" ULONG FireEtXplatDCEndComplete(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDCEndComplete()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntimeRundown,
- DCEndComplete
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDCEndComplete_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatDCEndComplete_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDCEndComplete_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- DCEndComplete_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDCStartInit(){ return TRUE;}
-extern "C" ULONG FireEtXplatDCStartInit(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDCStartInit()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntimeRundown,
- DCStartInit
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDCStartInit_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatDCStartInit_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDCStartInit_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- DCStartInit_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDCEndInit(){ return TRUE;}
-extern "C" ULONG FireEtXplatDCEndInit(
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDCEndInit()){ return ERROR_SUCCESS;};
-
- tracepoint(
- DotNETRuntimeRundown,
- DCEndInit
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDCEndInit_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatDCEndInit_V1(
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDCEndInit_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- DCEndInit_V1,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCStartILToNativeMap(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCStartILToNativeMap(
- const unsigned __int64 MethodID,
- const unsigned __int64 ReJITID,
- const unsigned char MethodExtent,
- const unsigned short CountOfMapEntries,
- const unsigned int* ILOffsets,
- const unsigned int* NativeOffsets,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCStartILToNativeMap()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCStartILToNativeMap,
- MethodID,
- ReJITID,
- MethodExtent,
- CountOfMapEntries,
- (const unsigned int*) ILOffsets,
- (const unsigned int*) NativeOffsets,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledMethodDCEndILToNativeMap(){ return TRUE;}
-extern "C" ULONG FireEtXplatMethodDCEndILToNativeMap(
- const unsigned __int64 MethodID,
- const unsigned __int64 ReJITID,
- const unsigned char MethodExtent,
- const unsigned short CountOfMapEntries,
- const unsigned int* ILOffsets,
- const unsigned int* NativeOffsets,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledMethodDCEndILToNativeMap()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- MethodDCEndILToNativeMap,
- MethodID,
- ReJITID,
- MethodExtent,
- CountOfMapEntries,
- (const unsigned int*) ILOffsets,
- (const unsigned int*) NativeOffsets,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDomainModuleDCStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatDomainModuleDCStart(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDomainModuleDCStart()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- DomainModuleDCStart,
- ModuleID,
- AssemblyID,
- AppDomainID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDomainModuleDCStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatDomainModuleDCStart_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDomainModuleDCStart_V1()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- DomainModuleDCStart_V1,
- ModuleID,
- AssemblyID,
- AppDomainID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDomainModuleDCEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatDomainModuleDCEnd(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDomainModuleDCEnd()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- DomainModuleDCEnd,
- ModuleID,
- AssemblyID,
- AppDomainID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledDomainModuleDCEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatDomainModuleDCEnd_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledDomainModuleDCEnd_V1()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- DomainModuleDCEnd_V1,
- ModuleID,
- AssemblyID,
- AppDomainID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleDCStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleDCStart(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleDCStart()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- ModuleDCStart,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleDCStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleDCStart_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleDCStart_V1()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- ModuleDCStart_V1,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleDCStart_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleDCStart_V2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID,
- const GUID* ManagedPdbSignature,
- const unsigned int ManagedPdbAge,
- PCWSTR ManagedPdbBuildPath,
- const GUID* NativePdbSignature,
- const unsigned int NativePdbAge,
- PCWSTR NativePdbBuildPath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleDCStart_V2()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
- INT ManagedPdbBuildPath_path_size = -1;
- INT ManagedPdbBuildPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, NULL, 0, NULL, NULL );
- CHAR* ManagedPdbBuildPath_full_name=NULL;
- INT NativePdbBuildPath_path_size = -1;
- INT NativePdbBuildPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NULL, 0, NULL, NULL );
- CHAR* NativePdbBuildPath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ManagedPdbBuildPath_full_name = (CHAR*)malloc(ManagedPdbBuildPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ManagedPdbBuildPath_full_name != NULL);
- if(ManagedPdbBuildPath_full_name == NULL){goto LExit;}
-
- ManagedPdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, ManagedPdbBuildPath_full_name, ManagedPdbBuildPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ManagedPdbBuildPath_path_size == ManagedPdbBuildPath_full_name_path_size );
- if( ManagedPdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- NativePdbBuildPath_full_name = (CHAR*)malloc(NativePdbBuildPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(NativePdbBuildPath_full_name != NULL);
- if(NativePdbBuildPath_full_name == NULL){goto LExit;}
-
- NativePdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NativePdbBuildPath_full_name, NativePdbBuildPath_full_name_path_size, NULL, NULL );
- _ASSERTE(NativePdbBuildPath_path_size == NativePdbBuildPath_full_name_path_size );
- if( NativePdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- ModuleDCStart_V2,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name,
- ClrInstanceID,
- (const int*) ManagedPdbSignature,
- ManagedPdbAge,
- ManagedPdbBuildPath_full_name
- );
-
- tracepoint(
- DotNETRuntimeRundown,
- ModuleDCStart_V2_1,
- (const int*) NativePdbSignature,
- NativePdbAge,
- NativePdbBuildPath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (NativePdbBuildPath_full_name != NULL) {free(NativePdbBuildPath_full_name);}
- if (ManagedPdbBuildPath_full_name != NULL) {free(ManagedPdbBuildPath_full_name);}
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleDCEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleDCEnd(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleDCEnd()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- ModuleDCEnd,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleDCEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleDCEnd_V1(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleDCEnd_V1()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- ModuleDCEnd_V1,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleDCEnd_V2(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleDCEnd_V2(
- const unsigned __int64 ModuleID,
- const unsigned __int64 AssemblyID,
- const unsigned int ModuleFlags,
- const unsigned int Reserved1,
- PCWSTR ModuleILPath,
- PCWSTR ModuleNativePath,
- const unsigned short ClrInstanceID,
- const GUID* ManagedPdbSignature,
- const unsigned int ManagedPdbAge,
- PCWSTR ManagedPdbBuildPath,
- const GUID* NativePdbSignature,
- const unsigned int NativePdbAge,
- PCWSTR NativePdbBuildPath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleDCEnd_V2()){ return ERROR_SUCCESS;};
- INT ModuleILPath_path_size = -1;
- INT ModuleILPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleILPath_full_name=NULL;
- INT ModuleNativePath_path_size = -1;
- INT ModuleNativePath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, NULL, 0, NULL, NULL );
- CHAR* ModuleNativePath_full_name=NULL;
- INT ManagedPdbBuildPath_path_size = -1;
- INT ManagedPdbBuildPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, NULL, 0, NULL, NULL );
- CHAR* ManagedPdbBuildPath_full_name=NULL;
- INT NativePdbBuildPath_path_size = -1;
- INT NativePdbBuildPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NULL, 0, NULL, NULL );
- CHAR* NativePdbBuildPath_full_name=NULL;
-
- ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleILPath_full_name != NULL);
- if(ModuleILPath_full_name == NULL){goto LExit;}
-
- ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
- if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ModuleNativePath_full_name != NULL);
- if(ModuleNativePath_full_name == NULL){goto LExit;}
-
- ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
- _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
- if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- ManagedPdbBuildPath_full_name = (CHAR*)malloc(ManagedPdbBuildPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(ManagedPdbBuildPath_full_name != NULL);
- if(ManagedPdbBuildPath_full_name == NULL){goto LExit;}
-
- ManagedPdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, ManagedPdbBuildPath_full_name, ManagedPdbBuildPath_full_name_path_size, NULL, NULL );
- _ASSERTE(ManagedPdbBuildPath_path_size == ManagedPdbBuildPath_full_name_path_size );
- if( ManagedPdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- NativePdbBuildPath_full_name = (CHAR*)malloc(NativePdbBuildPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(NativePdbBuildPath_full_name != NULL);
- if(NativePdbBuildPath_full_name == NULL){goto LExit;}
-
- NativePdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NativePdbBuildPath_full_name, NativePdbBuildPath_full_name_path_size, NULL, NULL );
- _ASSERTE(NativePdbBuildPath_path_size == NativePdbBuildPath_full_name_path_size );
- if( NativePdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- ModuleDCEnd_V2,
- ModuleID,
- AssemblyID,
- ModuleFlags,
- Reserved1,
- ModuleILPath_full_name,
- ModuleNativePath_full_name,
- ClrInstanceID,
- (const int*) ManagedPdbSignature,
- ManagedPdbAge,
- ManagedPdbBuildPath_full_name
- );
-
- tracepoint(
- DotNETRuntimeRundown,
- ModuleDCEnd_V2_1,
- (const int*) NativePdbSignature,
- NativePdbAge,
- NativePdbBuildPath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (NativePdbBuildPath_full_name != NULL) {free(NativePdbBuildPath_full_name);}
- if (ManagedPdbBuildPath_full_name != NULL) {free(ManagedPdbBuildPath_full_name);}
- if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
- if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAssemblyDCStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatAssemblyDCStart(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAssemblyDCStart()){ return ERROR_SUCCESS;};
- INT FullyQualifiedAssemblyName_path_size = -1;
- INT FullyQualifiedAssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* FullyQualifiedAssemblyName_full_name=NULL;
-
- FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
- if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
-
- FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
- if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- AssemblyDCStart,
- AssemblyID,
- AppDomainID,
- AssemblyFlags,
- FullyQualifiedAssemblyName_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAssemblyDCStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatAssemblyDCStart_V1(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned __int64 BindingID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAssemblyDCStart_V1()){ return ERROR_SUCCESS;};
- INT FullyQualifiedAssemblyName_path_size = -1;
- INT FullyQualifiedAssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* FullyQualifiedAssemblyName_full_name=NULL;
-
- FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
- if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
-
- FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
- if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- AssemblyDCStart_V1,
- AssemblyID,
- AppDomainID,
- BindingID,
- AssemblyFlags,
- FullyQualifiedAssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAssemblyDCEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatAssemblyDCEnd(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAssemblyDCEnd()){ return ERROR_SUCCESS;};
- INT FullyQualifiedAssemblyName_path_size = -1;
- INT FullyQualifiedAssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* FullyQualifiedAssemblyName_full_name=NULL;
-
- FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
- if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
-
- FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
- if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- AssemblyDCEnd,
- AssemblyID,
- AppDomainID,
- AssemblyFlags,
- FullyQualifiedAssemblyName_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAssemblyDCEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatAssemblyDCEnd_V1(
- const unsigned __int64 AssemblyID,
- const unsigned __int64 AppDomainID,
- const unsigned __int64 BindingID,
- const unsigned int AssemblyFlags,
- PCWSTR FullyQualifiedAssemblyName,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAssemblyDCEnd_V1()){ return ERROR_SUCCESS;};
- INT FullyQualifiedAssemblyName_path_size = -1;
- INT FullyQualifiedAssemblyName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, NULL, 0, NULL, NULL );
- CHAR* FullyQualifiedAssemblyName_full_name=NULL;
-
- FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
- if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
-
- FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
- _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
- if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- AssemblyDCEnd_V1,
- AssemblyID,
- AppDomainID,
- BindingID,
- AssemblyFlags,
- FullyQualifiedAssemblyName_full_name,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAppDomainDCStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatAppDomainDCStart(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAppDomainDCStart()){ return ERROR_SUCCESS;};
- INT AppDomainName_path_size = -1;
- INT AppDomainName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, NULL, 0, NULL, NULL );
- CHAR* AppDomainName_full_name=NULL;
-
- AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AppDomainName_full_name != NULL);
- if(AppDomainName_full_name == NULL){goto LExit;}
-
- AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
- _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
- if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- AppDomainDCStart,
- AppDomainID,
- AppDomainFlags,
- AppDomainName_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAppDomainDCStart_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatAppDomainDCStart_V1(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName,
- const unsigned int AppDomainIndex,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAppDomainDCStart_V1()){ return ERROR_SUCCESS;};
- INT AppDomainName_path_size = -1;
- INT AppDomainName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, NULL, 0, NULL, NULL );
- CHAR* AppDomainName_full_name=NULL;
-
- AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AppDomainName_full_name != NULL);
- if(AppDomainName_full_name == NULL){goto LExit;}
-
- AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
- _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
- if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- AppDomainDCStart_V1,
- AppDomainID,
- AppDomainFlags,
- AppDomainName_full_name,
- AppDomainIndex,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAppDomainDCEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatAppDomainDCEnd(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAppDomainDCEnd()){ return ERROR_SUCCESS;};
- INT AppDomainName_path_size = -1;
- INT AppDomainName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, NULL, 0, NULL, NULL );
- CHAR* AppDomainName_full_name=NULL;
-
- AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AppDomainName_full_name != NULL);
- if(AppDomainName_full_name == NULL){goto LExit;}
-
- AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
- _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
- if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- AppDomainDCEnd,
- AppDomainID,
- AppDomainFlags,
- AppDomainName_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledAppDomainDCEnd_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatAppDomainDCEnd_V1(
- const unsigned __int64 AppDomainID,
- const unsigned int AppDomainFlags,
- PCWSTR AppDomainName,
- const unsigned int AppDomainIndex,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledAppDomainDCEnd_V1()){ return ERROR_SUCCESS;};
- INT AppDomainName_path_size = -1;
- INT AppDomainName_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, NULL, 0, NULL, NULL );
- CHAR* AppDomainName_full_name=NULL;
-
- AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
- _ASSERTE(AppDomainName_full_name != NULL);
- if(AppDomainName_full_name == NULL){goto LExit;}
-
- AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
- _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
- if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- AppDomainDCEnd_V1,
- AppDomainID,
- AppDomainFlags,
- AppDomainName_full_name,
- AppDomainIndex,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledThreadDC(){ return TRUE;}
-extern "C" ULONG FireEtXplatThreadDC(
- const unsigned __int64 ManagedThreadID,
- const unsigned __int64 AppDomainID,
- const unsigned int Flags,
- const unsigned int ManagedThreadIndex,
- const unsigned int OSThreadID,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledThreadDC()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- ThreadDC,
- ManagedThreadID,
- AppDomainID,
- Flags,
- ManagedThreadIndex,
- OSThreadID,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleRangeDCStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleRangeDCStart(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned int RangeBegin,
- const unsigned int RangeSize,
- const unsigned char RangeType
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleRangeDCStart()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- ModuleRangeDCStart,
- ClrInstanceID,
- ModuleID,
- RangeBegin,
- RangeSize,
- RangeType
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledModuleRangeDCEnd(){ return TRUE;}
-extern "C" ULONG FireEtXplatModuleRangeDCEnd(
- const unsigned short ClrInstanceID,
- const unsigned __int64 ModuleID,
- const unsigned int RangeBegin,
- const unsigned int RangeSize,
- const unsigned char RangeType
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledModuleRangeDCEnd()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeRundown,
- ModuleRangeDCEnd,
- ClrInstanceID,
- ModuleID,
- RangeBegin,
- RangeSize,
- RangeType
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledRuntimeInformationDCStart(){ return TRUE;}
-extern "C" ULONG FireEtXplatRuntimeInformationDCStart(
- const unsigned short ClrInstanceID,
- const unsigned short Sku,
- const unsigned short BclMajorVersion,
- const unsigned short BclMinorVersion,
- const unsigned short BclBuildNumber,
- const unsigned short BclQfeNumber,
- const unsigned short VMMajorVersion,
- const unsigned short VMMinorVersion,
- const unsigned short VMBuildNumber,
- const unsigned short VMQfeNumber,
- const unsigned int StartupFlags,
- const unsigned char StartupMode,
- PCWSTR CommandLine,
- const GUID* ComObjectGuid,
- PCWSTR RuntimeDllPath
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledRuntimeInformationDCStart()){ return ERROR_SUCCESS;};
- INT CommandLine_path_size = -1;
- INT CommandLine_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, CommandLine, -1, NULL, 0, NULL, NULL );
- CHAR* CommandLine_full_name=NULL;
- INT RuntimeDllPath_path_size = -1;
- INT RuntimeDllPath_full_name_path_size = WideCharToMultiByte( CP_ACP, 0, RuntimeDllPath, -1, NULL, 0, NULL, NULL );
- CHAR* RuntimeDllPath_full_name=NULL;
-
- CommandLine_full_name = (CHAR*)malloc(CommandLine_full_name_path_size*sizeof(CHAR));
- _ASSERTE(CommandLine_full_name != NULL);
- if(CommandLine_full_name == NULL){goto LExit;}
-
- CommandLine_path_size = WideCharToMultiByte( CP_ACP, 0, CommandLine, -1, CommandLine_full_name, CommandLine_full_name_path_size, NULL, NULL );
- _ASSERTE(CommandLine_path_size == CommandLine_full_name_path_size );
- if( CommandLine_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
- RuntimeDllPath_full_name = (CHAR*)malloc(RuntimeDllPath_full_name_path_size*sizeof(CHAR));
- _ASSERTE(RuntimeDllPath_full_name != NULL);
- if(RuntimeDllPath_full_name == NULL){goto LExit;}
-
- RuntimeDllPath_path_size = WideCharToMultiByte( CP_ACP, 0, RuntimeDllPath, -1, RuntimeDllPath_full_name, RuntimeDllPath_full_name_path_size, NULL, NULL );
- _ASSERTE(RuntimeDllPath_path_size == RuntimeDllPath_full_name_path_size );
- if( RuntimeDllPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
-
- tracepoint(
- DotNETRuntimeRundown,
- RuntimeInformationDCStart,
- ClrInstanceID,
- Sku,
- BclMajorVersion,
- BclMinorVersion,
- BclBuildNumber,
- BclQfeNumber,
- VMMajorVersion,
- VMMinorVersion,
- VMBuildNumber,
- VMQfeNumber
- );
-
- tracepoint(
- DotNETRuntimeRundown,
- RuntimeInformationDCStart_1,
- StartupFlags,
- StartupMode,
- CommandLine_full_name,
- (const int*) ComObjectGuid,
- RuntimeDllPath_full_name
- );
-
- Error = ERROR_SUCCESS;
-LExit:
- if (RuntimeDllPath_full_name != NULL) {free(RuntimeDllPath_full_name);}
- if (CommandLine_full_name != NULL) {free(CommandLine_full_name);}
-
-return Error;
-}
diff --git a/src/pal/src/eventprovider/lttng/eventprovdotnetruntimestress.cpp b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimestress.cpp
deleted file mode 100644
index 1bc07324cd..0000000000
--- a/src/pal/src/eventprovider/lttng/eventprovdotnetruntimestress.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-
-#define TRACEPOINT_DEFINE
-#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
-#include "lttng/tpdotnetruntimestress.h"
-extern "C" BOOL EventXplatEnabledStressLogEvent(){ return TRUE;}
-extern "C" ULONG FireEtXplatStressLogEvent(
- const unsigned int Facility,
- const unsigned char LogLevel,
- LPCSTR Message
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledStressLogEvent()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeStress,
- StressLogEvent,
- Facility,
- LogLevel,
- Message
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledStressLogEvent_V1(){ return TRUE;}
-extern "C" ULONG FireEtXplatStressLogEvent_V1(
- const unsigned int Facility,
- const unsigned char LogLevel,
- LPCSTR Message,
- const unsigned short ClrInstanceID
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledStressLogEvent_V1()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeStress,
- StressLogEvent_V1,
- Facility,
- LogLevel,
- Message,
- ClrInstanceID
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
-extern "C" BOOL EventXplatEnabledCLRStackWalkStress(){ return TRUE;}
-extern "C" ULONG FireEtXplatCLRStackWalkStress(
- const unsigned short ClrInstanceID,
- const unsigned char Reserved1,
- const unsigned char Reserved2,
- const unsigned int FrameCount,
- const void** Stack
-)
-{
- ULONG Error = ERROR_WRITE_FAULT;
- if (!EventXplatEnabledCLRStackWalkStress()){ return ERROR_SUCCESS;};
-
-
- tracepoint(
- DotNETRuntimeStress,
- CLRStackWalkStress,
- ClrInstanceID,
- Reserved1,
- Reserved2,
- FrameCount,
- (const size_t*) Stack
- );
-
- Error = ERROR_SUCCESS;
-
-return Error;
-}
diff --git a/src/pal/src/eventprovider/lttng/tpdotnetruntime.h b/src/pal/src/eventprovider/lttng/tpdotnetruntime.h
deleted file mode 100644
index 6e56d2e39b..0000000000
--- a/src/pal/src/eventprovider/lttng/tpdotnetruntime.h
+++ /dev/null
@@ -1,3235 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-
-#include "palrt.h"
-#include "pal.h"
-
-#undef TRACEPOINT_PROVIDER
-#define TRACEPOINT_PROVIDER DotNETRuntime
-
-#undef TRACEPOINT_INCLUDE
-#define TRACEPOINT_INCLUDE "./lttng/tpdotnetruntime.h"
-
-#if !defined(LTTNG_CORECLR_HDotNETRuntime) || defined(TRACEPOINT_HEADER_MULTI_READ)
-#define LTTNG_CORECLR_HDotNETRuntime
-
-#include <lttng/tracepoint.h>
-
-
-#define EventSource_TRACEPOINT_ARGS \
-TP_ARGS(\
- const signed int ,EventID,\
- const char* ,EventName,\
- const char* ,EventSourceName,\
- const char* ,Payload\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- EventSource,
- EventSource_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(signed int,EventID,EventID)
- ctf_string(EventName,EventName)
- ctf_string(EventSourceName,EventSourceName)
- ctf_string(Payload,Payload)
- )
-)
-#define EventSourceT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- EventSource ,\
- name ,\
- EventSource_TRACEPOINT_ARGS \
-)
-
-#define StrongNameVerification_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,VerificationFlags,\
- const unsigned int ,ErrorCode,\
- const char* ,FullyQualifiedAssemblyName\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- StrongNameVerification,
- StrongNameVerification_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,VerificationFlags,VerificationFlags)
- ctf_integer(unsigned int,ErrorCode,ErrorCode)
- ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName)
- )
-)
-#define StrongNameVerificationT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- StrongNameVerification ,\
- name ,\
- StrongNameVerification_TRACEPOINT_ARGS \
-)
-
-#define StrongNameVerification_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,VerificationFlags,\
- const unsigned int ,ErrorCode,\
- const char* ,FullyQualifiedAssemblyName,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- StrongNameVerification_V1,
- StrongNameVerification_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,VerificationFlags,VerificationFlags)
- ctf_integer(unsigned int,ErrorCode,ErrorCode)
- ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define StrongNameVerification_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- StrongNameVerification_V1 ,\
- name ,\
- StrongNameVerification_V1_TRACEPOINT_ARGS \
-)
-
-#define AuthenticodeVerification_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,VerificationFlags,\
- const unsigned int ,ErrorCode,\
- const char* ,ModulePath\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- AuthenticodeVerification,
- AuthenticodeVerification_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,VerificationFlags,VerificationFlags)
- ctf_integer(unsigned int,ErrorCode,ErrorCode)
- ctf_string(ModulePath,ModulePath)
- )
-)
-#define AuthenticodeVerificationT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- AuthenticodeVerification ,\
- name ,\
- AuthenticodeVerification_TRACEPOINT_ARGS \
-)
-
-#define AuthenticodeVerification_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,VerificationFlags,\
- const unsigned int ,ErrorCode,\
- const char* ,ModulePath,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- AuthenticodeVerification_V1,
- AuthenticodeVerification_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,VerificationFlags,VerificationFlags)
- ctf_integer(unsigned int,ErrorCode,ErrorCode)
- ctf_string(ModulePath,ModulePath)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define AuthenticodeVerification_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- AuthenticodeVerification_V1 ,\
- name ,\
- AuthenticodeVerification_V1_TRACEPOINT_ARGS \
-)
-
-#define RuntimeInformation_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned short ,Sku,\
- const unsigned short ,BclMajorVersion,\
- const unsigned short ,BclMinorVersion,\
- const unsigned short ,BclBuildNumber,\
- const unsigned short ,BclQfeNumber,\
- const unsigned short ,VMMajorVersion,\
- const unsigned short ,VMMinorVersion,\
- const unsigned short ,VMBuildNumber,\
- const unsigned short ,VMQfeNumber\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- RuntimeInformation,
- RuntimeInformation_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned short,Sku,Sku)
- ctf_integer(unsigned short,BclMajorVersion,BclMajorVersion)
- ctf_integer(unsigned short,BclMinorVersion,BclMinorVersion)
- ctf_integer(unsigned short,BclBuildNumber,BclBuildNumber)
- ctf_integer(unsigned short,BclQfeNumber,BclQfeNumber)
- ctf_integer(unsigned short,VMMajorVersion,VMMajorVersion)
- ctf_integer(unsigned short,VMMinorVersion,VMMinorVersion)
- ctf_integer(unsigned short,VMBuildNumber,VMBuildNumber)
- ctf_integer(unsigned short,VMQfeNumber,VMQfeNumber)
- )
-)
-#define RuntimeInformationT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- RuntimeInformation ,\
- name ,\
- RuntimeInformation_TRACEPOINT_ARGS \
-)
-
-#define RuntimeInformation_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,StartupFlags,\
- const unsigned char ,StartupMode,\
- const char* ,CommandLine,\
- const int* ,ComObjectGuid,\
- const char* ,RuntimeDllPath\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- RuntimeInformation_1,
- RuntimeInformation_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,StartupFlags,StartupFlags)
- ctf_integer(unsigned char,StartupMode,StartupMode)
- ctf_string(CommandLine,CommandLine)
- ctf_sequence(int, ComObjectGuid, ComObjectGuid,size_t,sizeof(GUID)/sizeof(int))
- ctf_string(RuntimeDllPath,RuntimeDllPath)
- )
-)
-#define RuntimeInformation_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- RuntimeInformation_1 ,\
- name ,\
- RuntimeInformation_1_TRACEPOINT_ARGS \
-)
-
-#define GCStart_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Count,\
- const unsigned int ,Reason\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCStart,
- GCStart_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned int,Reason,Reason)
- )
-)
-#define GCStartT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCStart ,\
- name ,\
- GCStart_TRACEPOINT_ARGS \
-)
-
-#define GCStart_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Count,\
- const unsigned int ,Depth,\
- const unsigned int ,Reason,\
- const unsigned int ,Type,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCStart_V1,
- GCStart_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned int,Depth,Depth)
- ctf_integer(unsigned int,Reason,Reason)
- ctf_integer(unsigned int,Type,Type)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCStart_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCStart_V1 ,\
- name ,\
- GCStart_V1_TRACEPOINT_ARGS \
-)
-
-#define GCStart_V2_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Count,\
- const unsigned int ,Depth,\
- const unsigned int ,Reason,\
- const unsigned int ,Type,\
- const unsigned short ,ClrInstanceID,\
- const unsigned __int64 ,ClientSequenceNumber\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCStart_V2,
- GCStart_V2_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned int,Depth,Depth)
- ctf_integer(unsigned int,Reason,Reason)
- ctf_integer(unsigned int,Type,Type)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned __int64,ClientSequenceNumber,ClientSequenceNumber)
- )
-)
-#define GCStart_V2T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCStart_V2 ,\
- name ,\
- GCStart_V2_TRACEPOINT_ARGS \
-)
-
-#define GCEnd_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Count,\
- const unsigned short ,Depth\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCEnd,
- GCEnd_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,Depth,Depth)
- )
-)
-#define GCEndT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCEnd ,\
- name ,\
- GCEnd_TRACEPOINT_ARGS \
-)
-
-#define GCEnd_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Count,\
- const unsigned int ,Depth,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCEnd_V1,
- GCEnd_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned int,Depth,Depth)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCEnd_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCEnd_V1 ,\
- name ,\
- GCEnd_V1_TRACEPOINT_ARGS \
-)
-
-#define GCHeapStats_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,GenerationSize0,\
- const unsigned __int64 ,TotalPromotedSize0,\
- const unsigned __int64 ,GenerationSize1,\
- const unsigned __int64 ,TotalPromotedSize1,\
- const unsigned __int64 ,GenerationSize2,\
- const unsigned __int64 ,TotalPromotedSize2,\
- const unsigned __int64 ,GenerationSize3,\
- const unsigned __int64 ,TotalPromotedSize3,\
- const unsigned __int64 ,FinalizationPromotedSize,\
- const unsigned __int64 ,FinalizationPromotedCount\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCHeapStats,
- GCHeapStats_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,GenerationSize0,GenerationSize0)
- ctf_integer(unsigned __int64,TotalPromotedSize0,TotalPromotedSize0)
- ctf_integer(unsigned __int64,GenerationSize1,GenerationSize1)
- ctf_integer(unsigned __int64,TotalPromotedSize1,TotalPromotedSize1)
- ctf_integer(unsigned __int64,GenerationSize2,GenerationSize2)
- ctf_integer(unsigned __int64,TotalPromotedSize2,TotalPromotedSize2)
- ctf_integer(unsigned __int64,GenerationSize3,GenerationSize3)
- ctf_integer(unsigned __int64,TotalPromotedSize3,TotalPromotedSize3)
- ctf_integer(unsigned __int64,FinalizationPromotedSize,FinalizationPromotedSize)
- ctf_integer(unsigned __int64,FinalizationPromotedCount,FinalizationPromotedCount)
- )
-)
-#define GCHeapStatsT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCHeapStats ,\
- name ,\
- GCHeapStats_TRACEPOINT_ARGS \
-)
-
-#define GCHeapStats_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,PinnedObjectCount,\
- const unsigned int ,SinkBlockCount,\
- const unsigned int ,GCHandleCount\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCHeapStats_1,
- GCHeapStats_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,PinnedObjectCount,PinnedObjectCount)
- ctf_integer(unsigned int,SinkBlockCount,SinkBlockCount)
- ctf_integer(unsigned int,GCHandleCount,GCHandleCount)
- )
-)
-#define GCHeapStats_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCHeapStats_1 ,\
- name ,\
- GCHeapStats_1_TRACEPOINT_ARGS \
-)
-
-#define GCHeapStats_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,GenerationSize0,\
- const unsigned __int64 ,TotalPromotedSize0,\
- const unsigned __int64 ,GenerationSize1,\
- const unsigned __int64 ,TotalPromotedSize1,\
- const unsigned __int64 ,GenerationSize2,\
- const unsigned __int64 ,TotalPromotedSize2,\
- const unsigned __int64 ,GenerationSize3,\
- const unsigned __int64 ,TotalPromotedSize3,\
- const unsigned __int64 ,FinalizationPromotedSize,\
- const unsigned __int64 ,FinalizationPromotedCount\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCHeapStats_V1,
- GCHeapStats_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,GenerationSize0,GenerationSize0)
- ctf_integer(unsigned __int64,TotalPromotedSize0,TotalPromotedSize0)
- ctf_integer(unsigned __int64,GenerationSize1,GenerationSize1)
- ctf_integer(unsigned __int64,TotalPromotedSize1,TotalPromotedSize1)
- ctf_integer(unsigned __int64,GenerationSize2,GenerationSize2)
- ctf_integer(unsigned __int64,TotalPromotedSize2,TotalPromotedSize2)
- ctf_integer(unsigned __int64,GenerationSize3,GenerationSize3)
- ctf_integer(unsigned __int64,TotalPromotedSize3,TotalPromotedSize3)
- ctf_integer(unsigned __int64,FinalizationPromotedSize,FinalizationPromotedSize)
- ctf_integer(unsigned __int64,FinalizationPromotedCount,FinalizationPromotedCount)
- )
-)
-#define GCHeapStats_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCHeapStats_V1 ,\
- name ,\
- GCHeapStats_V1_TRACEPOINT_ARGS \
-)
-
-#define GCHeapStats_V1_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,PinnedObjectCount,\
- const unsigned int ,SinkBlockCount,\
- const unsigned int ,GCHandleCount,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCHeapStats_V1_1,
- GCHeapStats_V1_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,PinnedObjectCount,PinnedObjectCount)
- ctf_integer(unsigned int,SinkBlockCount,SinkBlockCount)
- ctf_integer(unsigned int,GCHandleCount,GCHandleCount)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCHeapStats_V1_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCHeapStats_V1_1 ,\
- name ,\
- GCHeapStats_V1_1_TRACEPOINT_ARGS \
-)
-
-#define GCCreateSegment_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,Address,\
- const unsigned __int64 ,Size,\
- const unsigned int ,Type\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCCreateSegment,
- GCCreateSegment_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,Address,Address)
- ctf_integer(unsigned __int64,Size,Size)
- ctf_integer(unsigned int,Type,Type)
- )
-)
-#define GCCreateSegmentT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCCreateSegment ,\
- name ,\
- GCCreateSegment_TRACEPOINT_ARGS \
-)
-
-#define GCCreateSegment_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,Address,\
- const unsigned __int64 ,Size,\
- const unsigned int ,Type,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCCreateSegment_V1,
- GCCreateSegment_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,Address,Address)
- ctf_integer(unsigned __int64,Size,Size)
- ctf_integer(unsigned int,Type,Type)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCCreateSegment_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCCreateSegment_V1 ,\
- name ,\
- GCCreateSegment_V1_TRACEPOINT_ARGS \
-)
-
-#define GCFreeSegment_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,Address\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCFreeSegment,
- GCFreeSegment_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,Address,Address)
- )
-)
-#define GCFreeSegmentT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCFreeSegment ,\
- name ,\
- GCFreeSegment_TRACEPOINT_ARGS \
-)
-
-#define GCFreeSegment_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,Address,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCFreeSegment_V1,
- GCFreeSegment_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,Address,Address)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCFreeSegment_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCFreeSegment_V1 ,\
- name ,\
- GCFreeSegment_V1_TRACEPOINT_ARGS \
-)
-
-#define GCNoUserData_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCNoUserData,
- GCNoUserData_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCNoUserDataT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCNoUserData ,\
- name ,\
- GCNoUserData_TRACEPOINT_ARGS \
-)
-
-#define GCSuspendEE_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,Reason\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCSuspendEE,
- GCSuspendEE_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,Reason,Reason)
- )
-)
-#define GCSuspendEET_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCSuspendEE ,\
- name ,\
- GCSuspendEE_TRACEPOINT_ARGS \
-)
-
-#define GCSuspendEE_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Reason,\
- const unsigned int ,Count,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCSuspendEE_V1,
- GCSuspendEE_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Reason,Reason)
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCSuspendEE_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCSuspendEE_V1 ,\
- name ,\
- GCSuspendEE_V1_TRACEPOINT_ARGS \
-)
-
-#define GCAllocationTick_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,AllocationAmount,\
- const unsigned int ,AllocationKind\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCAllocationTick,
- GCAllocationTick_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,AllocationAmount,AllocationAmount)
- ctf_integer(unsigned int,AllocationKind,AllocationKind)
- )
-)
-#define GCAllocationTickT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCAllocationTick ,\
- name ,\
- GCAllocationTick_TRACEPOINT_ARGS \
-)
-
-#define GCAllocationTick_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,AllocationAmount,\
- const unsigned int ,AllocationKind,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCAllocationTick_V1,
- GCAllocationTick_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,AllocationAmount,AllocationAmount)
- ctf_integer(unsigned int,AllocationKind,AllocationKind)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCAllocationTick_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCAllocationTick_V1 ,\
- name ,\
- GCAllocationTick_V1_TRACEPOINT_ARGS \
-)
-
-#define GCAllocationTick_V2_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,AllocationAmount,\
- const unsigned int ,AllocationKind,\
- const unsigned short ,ClrInstanceID,\
- const unsigned __int64 ,AllocationAmount64,\
- const size_t ,TypeID,\
- const char* ,TypeName,\
- const unsigned int ,HeapIndex\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCAllocationTick_V2,
- GCAllocationTick_V2_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,AllocationAmount,AllocationAmount)
- ctf_integer(unsigned int,AllocationKind,AllocationKind)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned __int64,AllocationAmount64,AllocationAmount64)
- ctf_integer(size_t,TypeID,TypeID)
- ctf_string(TypeName,TypeName)
- ctf_integer(unsigned int,HeapIndex,HeapIndex)
- )
-)
-#define GCAllocationTick_V2T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCAllocationTick_V2 ,\
- name ,\
- GCAllocationTick_V2_TRACEPOINT_ARGS \
-)
-
-#define GCAllocationTick_V3_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,AllocationAmount,\
- const unsigned int ,AllocationKind,\
- const unsigned short ,ClrInstanceID,\
- const unsigned __int64 ,AllocationAmount64,\
- const size_t ,TypeID,\
- const char* ,TypeName,\
- const unsigned int ,HeapIndex,\
- const size_t ,Address\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCAllocationTick_V3,
- GCAllocationTick_V3_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,AllocationAmount,AllocationAmount)
- ctf_integer(unsigned int,AllocationKind,AllocationKind)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned __int64,AllocationAmount64,AllocationAmount64)
- ctf_integer(size_t,TypeID,TypeID)
- ctf_string(TypeName,TypeName)
- ctf_integer(unsigned int,HeapIndex,HeapIndex)
- ctf_integer(size_t,Address,Address)
- )
-)
-#define GCAllocationTick_V3T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCAllocationTick_V3 ,\
- name ,\
- GCAllocationTick_V3_TRACEPOINT_ARGS \
-)
-
-#define GCCreateConcurrentThread_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCCreateConcurrentThread,
- GCCreateConcurrentThread_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCCreateConcurrentThreadT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCCreateConcurrentThread ,\
- name ,\
- GCCreateConcurrentThread_TRACEPOINT_ARGS \
-)
-
-#define GCTerminateConcurrentThread_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCTerminateConcurrentThread,
- GCTerminateConcurrentThread_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCTerminateConcurrentThreadT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCTerminateConcurrentThread ,\
- name ,\
- GCTerminateConcurrentThread_TRACEPOINT_ARGS \
-)
-
-#define GCFinalizersEnd_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Count\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCFinalizersEnd,
- GCFinalizersEnd_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Count,Count)
- )
-)
-#define GCFinalizersEndT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCFinalizersEnd ,\
- name ,\
- GCFinalizersEnd_TRACEPOINT_ARGS \
-)
-
-#define GCFinalizersEnd_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Count,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCFinalizersEnd_V1,
- GCFinalizersEnd_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCFinalizersEnd_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCFinalizersEnd_V1 ,\
- name ,\
- GCFinalizersEnd_V1_TRACEPOINT_ARGS \
-)
-
-#define GCMark_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,HeapNum,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCMark,
- GCMark_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,HeapNum,HeapNum)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCMarkT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCMark ,\
- name ,\
- GCMark_TRACEPOINT_ARGS \
-)
-
-#define GCMarkWithType_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,HeapNum,\
- const unsigned short ,ClrInstanceID,\
- const unsigned int ,Type,\
- const unsigned __int64 ,Bytes\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCMarkWithType,
- GCMarkWithType_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,HeapNum,HeapNum)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned int,Type,Type)
- ctf_integer(unsigned __int64,Bytes,Bytes)
- )
-)
-#define GCMarkWithTypeT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCMarkWithType ,\
- name ,\
- GCMarkWithType_TRACEPOINT_ARGS \
-)
-
-#define GCJoin_V2_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Heap,\
- const unsigned int ,JoinTime,\
- const unsigned int ,JoinType,\
- const unsigned short ,ClrInstanceID,\
- const unsigned int ,JoinID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCJoin_V2,
- GCJoin_V2_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Heap,Heap)
- ctf_integer(unsigned int,JoinTime,JoinTime)
- ctf_integer(unsigned int,JoinType,JoinType)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned int,JoinID,JoinID)
- )
-)
-#define GCJoin_V2T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCJoin_V2 ,\
- name ,\
- GCJoin_V2_TRACEPOINT_ARGS \
-)
-
-#define GCPerHeapHistory_V3_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const size_t ,FreeListAllocated,\
- const size_t ,FreeListRejected,\
- const size_t ,EndOfSegAllocated,\
- const size_t ,CondemnedAllocated,\
- const size_t ,PinnedAllocated,\
- const size_t ,PinnedAllocatedAdvance,\
- const unsigned int ,RunningFreeListEfficiency,\
- const unsigned int ,CondemnReasons0,\
- const unsigned int ,CondemnReasons1\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCPerHeapHistory_V3,
- GCPerHeapHistory_V3_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(size_t,FreeListAllocated,FreeListAllocated)
- ctf_integer(size_t,FreeListRejected,FreeListRejected)
- ctf_integer(size_t,EndOfSegAllocated,EndOfSegAllocated)
- ctf_integer(size_t,CondemnedAllocated,CondemnedAllocated)
- ctf_integer(size_t,PinnedAllocated,PinnedAllocated)
- ctf_integer(size_t,PinnedAllocatedAdvance,PinnedAllocatedAdvance)
- ctf_integer(unsigned int,RunningFreeListEfficiency,RunningFreeListEfficiency)
- ctf_integer(unsigned int,CondemnReasons0,CondemnReasons0)
- ctf_integer(unsigned int,CondemnReasons1,CondemnReasons1)
- )
-)
-#define GCPerHeapHistory_V3T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCPerHeapHistory_V3 ,\
- name ,\
- GCPerHeapHistory_V3_TRACEPOINT_ARGS \
-)
-
-#define GCPerHeapHistory_V3_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,CompactMechanisms,\
- const unsigned int ,ExpandMechanisms,\
- const unsigned int ,HeapIndex,\
- const size_t ,ExtraGen0Commit,\
- const unsigned int ,Count,\
- const ULONG ,Arg15_Struct_Len_,\
- const int* ,Arg15_Struct_Pointer_\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCPerHeapHistory_V3_1,
- GCPerHeapHistory_V3_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,CompactMechanisms,CompactMechanisms)
- ctf_integer(unsigned int,ExpandMechanisms,ExpandMechanisms)
- ctf_integer(unsigned int,HeapIndex,HeapIndex)
- ctf_integer(size_t,ExtraGen0Commit,ExtraGen0Commit)
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(ULONG,Arg15_Struct_Len_,Arg15_Struct_Len_)
- ctf_sequence(int, Arg15_Struct_Pointer_, Arg15_Struct_Pointer_,size_t,Count*Arg15_Struct_Len_/sizeof(int))
- )
-)
-#define GCPerHeapHistory_V3_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCPerHeapHistory_V3_1 ,\
- name ,\
- GCPerHeapHistory_V3_1_TRACEPOINT_ARGS \
-)
-
-#define GCGlobalHeap_V2_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,FinalYoungestDesired,\
- const signed int ,NumHeaps,\
- const unsigned int ,CondemnedGeneration,\
- const unsigned int ,Gen0ReductionCount,\
- const unsigned int ,Reason,\
- const unsigned int ,GlobalMechanisms,\
- const unsigned short ,ClrInstanceID,\
- const unsigned int ,PauseMode,\
- const unsigned int ,MemoryPressure\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCGlobalHeap_V2,
- GCGlobalHeap_V2_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,FinalYoungestDesired,FinalYoungestDesired)
- ctf_integer(signed int,NumHeaps,NumHeaps)
- ctf_integer(unsigned int,CondemnedGeneration,CondemnedGeneration)
- ctf_integer(unsigned int,Gen0ReductionCount,Gen0ReductionCount)
- ctf_integer(unsigned int,Reason,Reason)
- ctf_integer(unsigned int,GlobalMechanisms,GlobalMechanisms)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned int,PauseMode,PauseMode)
- ctf_integer(unsigned int,MemoryPressure,MemoryPressure)
- )
-)
-#define GCGlobalHeap_V2T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCGlobalHeap_V2 ,\
- name ,\
- GCGlobalHeap_V2_TRACEPOINT_ARGS \
-)
-
-#define FinalizeObject_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,TypeID,\
- const size_t ,ObjectID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- FinalizeObject,
- FinalizeObject_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,TypeID,TypeID)
- ctf_integer(size_t,ObjectID,ObjectID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define FinalizeObjectT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- FinalizeObject ,\
- name ,\
- FinalizeObject_TRACEPOINT_ARGS \
-)
-
-#define DestroyGCHandle_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,HandleID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- DestroyGCHandle,
- DestroyGCHandle_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,HandleID,HandleID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define DestroyGCHandleT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- DestroyGCHandle ,\
- name ,\
- DestroyGCHandle_TRACEPOINT_ARGS \
-)
-
-#define SetGCHandle_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,HandleID,\
- const size_t ,ObjectID,\
- const unsigned int ,Kind,\
- const unsigned int ,Generation,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- SetGCHandle,
- SetGCHandle_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,HandleID,HandleID)
- ctf_integer(size_t,ObjectID,ObjectID)
- ctf_integer(unsigned int,Kind,Kind)
- ctf_integer(unsigned int,Generation,Generation)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define SetGCHandleT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- SetGCHandle ,\
- name ,\
- SetGCHandle_TRACEPOINT_ARGS \
-)
-
-#define GCTriggered_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Reason,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCTriggered,
- GCTriggered_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Reason,Reason)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCTriggeredT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCTriggered ,\
- name ,\
- GCTriggered_TRACEPOINT_ARGS \
-)
-
-#define PinObjectAtGCTime_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,HandleID,\
- const size_t ,ObjectID,\
- const unsigned __int64 ,ObjectSize,\
- const char* ,TypeName,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- PinObjectAtGCTime,
- PinObjectAtGCTime_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,HandleID,HandleID)
- ctf_integer(size_t,ObjectID,ObjectID)
- ctf_integer(unsigned __int64,ObjectSize,ObjectSize)
- ctf_string(TypeName,TypeName)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define PinObjectAtGCTimeT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- PinObjectAtGCTime ,\
- name ,\
- PinObjectAtGCTime_TRACEPOINT_ARGS \
-)
-
-#define IncreaseMemoryPressure_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,BytesAllocated,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- IncreaseMemoryPressure,
- IncreaseMemoryPressure_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,BytesAllocated,BytesAllocated)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define IncreaseMemoryPressureT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- IncreaseMemoryPressure ,\
- name ,\
- IncreaseMemoryPressure_TRACEPOINT_ARGS \
-)
-
-#define DecreaseMemoryPressure_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,BytesFreed,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- DecreaseMemoryPressure,
- DecreaseMemoryPressure_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,BytesFreed,BytesFreed)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define DecreaseMemoryPressureT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- DecreaseMemoryPressure ,\
- name ,\
- DecreaseMemoryPressure_TRACEPOINT_ARGS \
-)
-
-#define ClrWorkerThread_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,WorkerThreadCount,\
- const unsigned int ,RetiredWorkerThreads\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ClrWorkerThread,
- ClrWorkerThread_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,WorkerThreadCount,WorkerThreadCount)
- ctf_integer(unsigned int,RetiredWorkerThreads,RetiredWorkerThreads)
- )
-)
-#define ClrWorkerThreadT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ClrWorkerThread ,\
- name ,\
- ClrWorkerThread_TRACEPOINT_ARGS \
-)
-
-#define IOThread_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,IOThreadCount,\
- const unsigned int ,RetiredIOThreads\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- IOThread,
- IOThread_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,IOThreadCount,IOThreadCount)
- ctf_integer(unsigned int,RetiredIOThreads,RetiredIOThreads)
- )
-)
-#define IOThreadT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- IOThread ,\
- name ,\
- IOThread_TRACEPOINT_ARGS \
-)
-
-#define IOThread_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,IOThreadCount,\
- const unsigned int ,RetiredIOThreads,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- IOThread_V1,
- IOThread_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,IOThreadCount,IOThreadCount)
- ctf_integer(unsigned int,RetiredIOThreads,RetiredIOThreads)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define IOThread_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- IOThread_V1 ,\
- name ,\
- IOThread_V1_TRACEPOINT_ARGS \
-)
-
-#define ClrThreadPoolSuspend_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,ClrThreadID,\
- const unsigned int ,CpuUtilization\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ClrThreadPoolSuspend,
- ClrThreadPoolSuspend_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,ClrThreadID,ClrThreadID)
- ctf_integer(unsigned int,CpuUtilization,CpuUtilization)
- )
-)
-#define ClrThreadPoolSuspendT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ClrThreadPoolSuspend ,\
- name ,\
- ClrThreadPoolSuspend_TRACEPOINT_ARGS \
-)
-
-#define ThreadPoolWorkerThread_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,ActiveWorkerThreadCount,\
- const unsigned int ,RetiredWorkerThreadCount,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ThreadPoolWorkerThread,
- ThreadPoolWorkerThread_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,ActiveWorkerThreadCount,ActiveWorkerThreadCount)
- ctf_integer(unsigned int,RetiredWorkerThreadCount,RetiredWorkerThreadCount)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ThreadPoolWorkerThread ,\
- name ,\
- ThreadPoolWorkerThread_TRACEPOINT_ARGS \
-)
-
-#define ThreadPoolWorkerThreadAdjustmentSample_TRACEPOINT_ARGS \
-TP_ARGS(\
- const double ,Throughput,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ThreadPoolWorkerThreadAdjustmentSample,
- ThreadPoolWorkerThreadAdjustmentSample_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_float(double,Throughput,Throughput)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ThreadPoolWorkerThreadAdjustmentSampleT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ThreadPoolWorkerThreadAdjustmentSample ,\
- name ,\
- ThreadPoolWorkerThreadAdjustmentSample_TRACEPOINT_ARGS \
-)
-
-#define ThreadPoolWorkerThreadAdjustmentAdjustment_TRACEPOINT_ARGS \
-TP_ARGS(\
- const double ,AverageThroughput,\
- const unsigned int ,NewWorkerThreadCount,\
- const unsigned int ,Reason,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ThreadPoolWorkerThreadAdjustmentAdjustment,
- ThreadPoolWorkerThreadAdjustmentAdjustment_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_float(double,AverageThroughput,AverageThroughput)
- ctf_integer(unsigned int,NewWorkerThreadCount,NewWorkerThreadCount)
- ctf_integer(unsigned int,Reason,Reason)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ThreadPoolWorkerThreadAdjustmentAdjustmentT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ThreadPoolWorkerThreadAdjustmentAdjustment ,\
- name ,\
- ThreadPoolWorkerThreadAdjustmentAdjustment_TRACEPOINT_ARGS \
-)
-
-#define ThreadPoolWorkerThreadAdjustmentStats_TRACEPOINT_ARGS \
-TP_ARGS(\
- const double ,Duration,\
- const double ,Throughput,\
- const double ,ThreadWave,\
- const double ,ThroughputWave,\
- const double ,ThroughputErrorEstimate,\
- const double ,AverageThroughputErrorEstimate,\
- const double ,ThroughputRatio,\
- const double ,Confidence,\
- const double ,NewControlSetting,\
- const unsigned short ,NewThreadWaveMagnitude\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ThreadPoolWorkerThreadAdjustmentStats,
- ThreadPoolWorkerThreadAdjustmentStats_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_float(double,Duration,Duration)
- ctf_float(double,Throughput,Throughput)
- ctf_float(double,ThreadWave,ThreadWave)
- ctf_float(double,ThroughputWave,ThroughputWave)
- ctf_float(double,ThroughputErrorEstimate,ThroughputErrorEstimate)
- ctf_float(double,AverageThroughputErrorEstimate,AverageThroughputErrorEstimate)
- ctf_float(double,ThroughputRatio,ThroughputRatio)
- ctf_float(double,Confidence,Confidence)
- ctf_float(double,NewControlSetting,NewControlSetting)
- ctf_integer(unsigned short,NewThreadWaveMagnitude,NewThreadWaveMagnitude)
- )
-)
-#define ThreadPoolWorkerThreadAdjustmentStatsT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ThreadPoolWorkerThreadAdjustmentStats ,\
- name ,\
- ThreadPoolWorkerThreadAdjustmentStats_TRACEPOINT_ARGS \
-)
-
-#define ThreadPoolWorkerThreadAdjustmentStats_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ThreadPoolWorkerThreadAdjustmentStats_1,
- ThreadPoolWorkerThreadAdjustmentStats_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ThreadPoolWorkerThreadAdjustmentStats_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ThreadPoolWorkerThreadAdjustmentStats_1 ,\
- name ,\
- ThreadPoolWorkerThreadAdjustmentStats_1_TRACEPOINT_ARGS \
-)
-
-#define ThreadPoolWork_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,WorkID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ThreadPoolWork,
- ThreadPoolWork_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,WorkID,WorkID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ThreadPoolWorkT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ThreadPoolWork ,\
- name ,\
- ThreadPoolWork_TRACEPOINT_ARGS \
-)
-
-#define ThreadPoolIOWork_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,NativeOverlapped,\
- const size_t ,Overlapped,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ThreadPoolIOWork,
- ThreadPoolIOWork_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,NativeOverlapped,NativeOverlapped)
- ctf_integer(size_t,Overlapped,Overlapped)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ThreadPoolIOWorkT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ThreadPoolIOWork ,\
- name ,\
- ThreadPoolIOWork_TRACEPOINT_ARGS \
-)
-
-#define ThreadPoolIOWorkEnqueue_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,NativeOverlapped,\
- const size_t ,Overlapped,\
- const BOOL ,MultiDequeues,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ThreadPoolIOWorkEnqueue,
- ThreadPoolIOWorkEnqueue_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,NativeOverlapped,NativeOverlapped)
- ctf_integer(size_t,Overlapped,Overlapped)
- ctf_integer(BOOL,MultiDequeues,MultiDequeues)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ThreadPoolIOWorkEnqueueT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ThreadPoolIOWorkEnqueue ,\
- name ,\
- ThreadPoolIOWorkEnqueue_TRACEPOINT_ARGS \
-)
-
-#define ThreadPoolWorkingThreadCount_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Count,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ThreadPoolWorkingThreadCount,
- ThreadPoolWorkingThreadCount_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ThreadPoolWorkingThreadCountT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ThreadPoolWorkingThreadCount ,\
- name ,\
- ThreadPoolWorkingThreadCount_TRACEPOINT_ARGS \
-)
-
-#define ThreadStartWork_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,ID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ThreadStartWork,
- ThreadStartWork_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,ID,ID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ThreadStartWorkT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ThreadStartWork ,\
- name ,\
- ThreadStartWork_TRACEPOINT_ARGS \
-)
-
-#define Exception_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,ExceptionType,\
- const char* ,ExceptionMessage,\
- const size_t ,ExceptionEIP,\
- const unsigned int ,ExceptionHRESULT,\
- const unsigned short ,ExceptionFlags,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- Exception,
- Exception_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(ExceptionType,ExceptionType)
- ctf_string(ExceptionMessage,ExceptionMessage)
- ctf_integer(size_t,ExceptionEIP,ExceptionEIP)
- ctf_integer(unsigned int,ExceptionHRESULT,ExceptionHRESULT)
- ctf_integer(unsigned short,ExceptionFlags,ExceptionFlags)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ExceptionT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- Exception ,\
- name ,\
- Exception_TRACEPOINT_ARGS \
-)
-
-#define ExceptionHandling_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,EntryEIP,\
- const unsigned __int64 ,MethodID,\
- const char* ,MethodName,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ExceptionHandling,
- ExceptionHandling_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,EntryEIP,EntryEIP)
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_string(MethodName,MethodName)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ExceptionHandlingT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ExceptionHandling ,\
- name ,\
- ExceptionHandling_TRACEPOINT_ARGS \
-)
-
-#define Contention_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned char ,ContentionFlags,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- Contention,
- Contention_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned char,ContentionFlags,ContentionFlags)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ContentionT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- Contention ,\
- name ,\
- Contention_TRACEPOINT_ARGS \
-)
-
-#define DomainModuleLoadUnload_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,AssemblyID,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned int ,ModuleFlags,\
- const unsigned int ,Reserved1,\
- const char* ,ModuleILPath,\
- const char* ,ModuleNativePath\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- DomainModuleLoadUnload,
- DomainModuleLoadUnload_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
- ctf_integer(unsigned int,Reserved1,Reserved1)
- ctf_string(ModuleILPath,ModuleILPath)
- ctf_string(ModuleNativePath,ModuleNativePath)
- )
-)
-#define DomainModuleLoadUnloadT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- DomainModuleLoadUnload ,\
- name ,\
- DomainModuleLoadUnload_TRACEPOINT_ARGS \
-)
-
-#define DomainModuleLoadUnload_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,AssemblyID,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned int ,ModuleFlags,\
- const unsigned int ,Reserved1,\
- const char* ,ModuleILPath,\
- const char* ,ModuleNativePath,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- DomainModuleLoadUnload_V1,
- DomainModuleLoadUnload_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
- ctf_integer(unsigned int,Reserved1,Reserved1)
- ctf_string(ModuleILPath,ModuleILPath)
- ctf_string(ModuleNativePath,ModuleNativePath)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define DomainModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- DomainModuleLoadUnload_V1 ,\
- name ,\
- DomainModuleLoadUnload_V1_TRACEPOINT_ARGS \
-)
-
-#define ModuleLoadUnload_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,AssemblyID,\
- const unsigned int ,ModuleFlags,\
- const unsigned int ,Reserved1,\
- const char* ,ModuleILPath,\
- const char* ,ModuleNativePath\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ModuleLoadUnload,
- ModuleLoadUnload_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
- ctf_integer(unsigned int,Reserved1,Reserved1)
- ctf_string(ModuleILPath,ModuleILPath)
- ctf_string(ModuleNativePath,ModuleNativePath)
- )
-)
-#define ModuleLoadUnloadT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ModuleLoadUnload ,\
- name ,\
- ModuleLoadUnload_TRACEPOINT_ARGS \
-)
-
-#define ModuleLoadUnload_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,AssemblyID,\
- const unsigned int ,ModuleFlags,\
- const unsigned int ,Reserved1,\
- const char* ,ModuleILPath,\
- const char* ,ModuleNativePath,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ModuleLoadUnload_V1,
- ModuleLoadUnload_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
- ctf_integer(unsigned int,Reserved1,Reserved1)
- ctf_string(ModuleILPath,ModuleILPath)
- ctf_string(ModuleNativePath,ModuleNativePath)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ModuleLoadUnload_V1 ,\
- name ,\
- ModuleLoadUnload_V1_TRACEPOINT_ARGS \
-)
-
-#define ModuleLoadUnload_V2_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,AssemblyID,\
- const unsigned int ,ModuleFlags,\
- const unsigned int ,Reserved1,\
- const char* ,ModuleILPath,\
- const char* ,ModuleNativePath,\
- const unsigned short ,ClrInstanceID,\
- const int* ,ManagedPdbSignature,\
- const unsigned int ,ManagedPdbAge,\
- const char* ,ManagedPdbBuildPath\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ModuleLoadUnload_V2,
- ModuleLoadUnload_V2_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
- ctf_integer(unsigned int,Reserved1,Reserved1)
- ctf_string(ModuleILPath,ModuleILPath)
- ctf_string(ModuleNativePath,ModuleNativePath)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_sequence(int, ManagedPdbSignature, ManagedPdbSignature,size_t,sizeof(GUID)/sizeof(int))
- ctf_integer(unsigned int,ManagedPdbAge,ManagedPdbAge)
- ctf_string(ManagedPdbBuildPath,ManagedPdbBuildPath)
- )
-)
-#define ModuleLoadUnload_V2T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ModuleLoadUnload_V2 ,\
- name ,\
- ModuleLoadUnload_V2_TRACEPOINT_ARGS \
-)
-
-#define ModuleLoadUnload_V2_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const int* ,NativePdbSignature,\
- const unsigned int ,NativePdbAge,\
- const char* ,NativePdbBuildPath\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ModuleLoadUnload_V2_1,
- ModuleLoadUnload_V2_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_sequence(int, NativePdbSignature, NativePdbSignature,size_t,sizeof(GUID)/sizeof(int))
- ctf_integer(unsigned int,NativePdbAge,NativePdbAge)
- ctf_string(NativePdbBuildPath,NativePdbBuildPath)
- )
-)
-#define ModuleLoadUnload_V2_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ModuleLoadUnload_V2_1 ,\
- name ,\
- ModuleLoadUnload_V2_1_TRACEPOINT_ARGS \
-)
-
-#define AssemblyLoadUnload_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,AssemblyID,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned int ,AssemblyFlags,\
- const char* ,FullyQualifiedAssemblyName\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- AssemblyLoadUnload,
- AssemblyLoadUnload_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,AssemblyFlags,AssemblyFlags)
- ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName)
- )
-)
-#define AssemblyLoadUnloadT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- AssemblyLoadUnload ,\
- name ,\
- AssemblyLoadUnload_TRACEPOINT_ARGS \
-)
-
-#define AssemblyLoadUnload_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,AssemblyID,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned __int64 ,BindingID,\
- const unsigned int ,AssemblyFlags,\
- const char* ,FullyQualifiedAssemblyName,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- AssemblyLoadUnload_V1,
- AssemblyLoadUnload_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned __int64,BindingID,BindingID)
- ctf_integer(unsigned int,AssemblyFlags,AssemblyFlags)
- ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define AssemblyLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- AssemblyLoadUnload_V1 ,\
- name ,\
- AssemblyLoadUnload_V1_TRACEPOINT_ARGS \
-)
-
-#define AppDomainLoadUnload_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,AppDomainID,\
- const unsigned int ,AppDomainFlags,\
- const char* ,AppDomainName\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- AppDomainLoadUnload,
- AppDomainLoadUnload_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,AppDomainFlags,AppDomainFlags)
- ctf_string(AppDomainName,AppDomainName)
- )
-)
-#define AppDomainLoadUnloadT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- AppDomainLoadUnload ,\
- name ,\
- AppDomainLoadUnload_TRACEPOINT_ARGS \
-)
-
-#define AppDomainLoadUnload_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,AppDomainID,\
- const unsigned int ,AppDomainFlags,\
- const char* ,AppDomainName,\
- const unsigned int ,AppDomainIndex,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- AppDomainLoadUnload_V1,
- AppDomainLoadUnload_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,AppDomainFlags,AppDomainFlags)
- ctf_string(AppDomainName,AppDomainName)
- ctf_integer(unsigned int,AppDomainIndex,AppDomainIndex)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define AppDomainLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- AppDomainLoadUnload_V1 ,\
- name ,\
- AppDomainLoadUnload_V1_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnload_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodStartAddress,\
- const unsigned int ,MethodSize,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodFlags\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodLoadUnload,
- MethodLoadUnload_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
- ctf_integer(unsigned int,MethodSize,MethodSize)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodFlags,MethodFlags)
- )
-)
-#define MethodLoadUnloadT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodLoadUnload ,\
- name ,\
- MethodLoadUnload_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnload_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodStartAddress,\
- const unsigned int ,MethodSize,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodFlags,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodLoadUnload_V1,
- MethodLoadUnload_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
- ctf_integer(unsigned int,MethodSize,MethodSize)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodFlags,MethodFlags)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodLoadUnload_V1 ,\
- name ,\
- MethodLoadUnload_V1_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnload_V2_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodStartAddress,\
- const unsigned int ,MethodSize,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodFlags,\
- const unsigned short ,ClrInstanceID,\
- const unsigned __int64 ,ReJITID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodLoadUnload_V2,
- MethodLoadUnload_V2_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
- ctf_integer(unsigned int,MethodSize,MethodSize)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodFlags,MethodFlags)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned __int64,ReJITID,ReJITID)
- )
-)
-#define MethodLoadUnload_V2T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodLoadUnload_V2 ,\
- name ,\
- MethodLoadUnload_V2_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnloadVerbose_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodStartAddress,\
- const unsigned int ,MethodSize,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodFlags,\
- const char* ,MethodNamespace,\
- const char* ,MethodName,\
- const char* ,MethodSignature\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodLoadUnloadVerbose,
- MethodLoadUnloadVerbose_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
- ctf_integer(unsigned int,MethodSize,MethodSize)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodFlags,MethodFlags)
- ctf_string(MethodNamespace,MethodNamespace)
- ctf_string(MethodName,MethodName)
- ctf_string(MethodSignature,MethodSignature)
- )
-)
-#define MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodLoadUnloadVerbose ,\
- name ,\
- MethodLoadUnloadVerbose_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnloadVerbose_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodStartAddress,\
- const unsigned int ,MethodSize,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodFlags,\
- const char* ,MethodNamespace,\
- const char* ,MethodName,\
- const char* ,MethodSignature,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodLoadUnloadVerbose_V1,
- MethodLoadUnloadVerbose_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
- ctf_integer(unsigned int,MethodSize,MethodSize)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodFlags,MethodFlags)
- ctf_string(MethodNamespace,MethodNamespace)
- ctf_string(MethodName,MethodName)
- ctf_string(MethodSignature,MethodSignature)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodLoadUnloadVerbose_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodLoadUnloadVerbose_V1 ,\
- name ,\
- MethodLoadUnloadVerbose_V1_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnloadVerbose_V2_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodStartAddress,\
- const unsigned int ,MethodSize,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodFlags,\
- const char* ,MethodNamespace,\
- const char* ,MethodName,\
- const char* ,MethodSignature,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodLoadUnloadVerbose_V2,
- MethodLoadUnloadVerbose_V2_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
- ctf_integer(unsigned int,MethodSize,MethodSize)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodFlags,MethodFlags)
- ctf_string(MethodNamespace,MethodNamespace)
- ctf_string(MethodName,MethodName)
- ctf_string(MethodSignature,MethodSignature)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodLoadUnloadVerbose_V2T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodLoadUnloadVerbose_V2 ,\
- name ,\
- MethodLoadUnloadVerbose_V2_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnloadVerbose_V2_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ReJITID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodLoadUnloadVerbose_V2_1,
- MethodLoadUnloadVerbose_V2_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ReJITID,ReJITID)
- )
-)
-#define MethodLoadUnloadVerbose_V2_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodLoadUnloadVerbose_V2_1 ,\
- name ,\
- MethodLoadUnloadVerbose_V2_1_TRACEPOINT_ARGS \
-)
-
-#define MethodJittingStarted_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodILSize,\
- const char* ,MethodNamespace,\
- const char* ,MethodName,\
- const char* ,MethodSignature\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodJittingStarted,
- MethodJittingStarted_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodILSize,MethodILSize)
- ctf_string(MethodNamespace,MethodNamespace)
- ctf_string(MethodName,MethodName)
- ctf_string(MethodSignature,MethodSignature)
- )
-)
-#define MethodJittingStartedT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodJittingStarted ,\
- name ,\
- MethodJittingStarted_TRACEPOINT_ARGS \
-)
-
-#define MethodJittingStarted_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodILSize,\
- const char* ,MethodNamespace,\
- const char* ,MethodName,\
- const char* ,MethodSignature,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodJittingStarted_V1,
- MethodJittingStarted_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodILSize,MethodILSize)
- ctf_string(MethodNamespace,MethodNamespace)
- ctf_string(MethodName,MethodName)
- ctf_string(MethodSignature,MethodSignature)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodJittingStarted_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodJittingStarted_V1 ,\
- name ,\
- MethodJittingStarted_V1_TRACEPOINT_ARGS \
-)
-
-#define MethodJitInliningSucceeded_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,MethodBeingCompiledNamespace,\
- const char* ,MethodBeingCompiledName,\
- const char* ,MethodBeingCompiledNameSignature,\
- const char* ,InlinerNamespace,\
- const char* ,InlinerName,\
- const char* ,InlinerNameSignature,\
- const char* ,InlineeNamespace,\
- const char* ,InlineeName,\
- const char* ,InlineeNameSignature,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodJitInliningSucceeded,
- MethodJitInliningSucceeded_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(MethodBeingCompiledNamespace,MethodBeingCompiledNamespace)
- ctf_string(MethodBeingCompiledName,MethodBeingCompiledName)
- ctf_string(MethodBeingCompiledNameSignature,MethodBeingCompiledNameSignature)
- ctf_string(InlinerNamespace,InlinerNamespace)
- ctf_string(InlinerName,InlinerName)
- ctf_string(InlinerNameSignature,InlinerNameSignature)
- ctf_string(InlineeNamespace,InlineeNamespace)
- ctf_string(InlineeName,InlineeName)
- ctf_string(InlineeNameSignature,InlineeNameSignature)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodJitInliningSucceededT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodJitInliningSucceeded ,\
- name ,\
- MethodJitInliningSucceeded_TRACEPOINT_ARGS \
-)
-
-#define MethodJitInliningFailed_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,MethodBeingCompiledNamespace,\
- const char* ,MethodBeingCompiledName,\
- const char* ,MethodBeingCompiledNameSignature,\
- const char* ,InlinerNamespace,\
- const char* ,InlinerName,\
- const char* ,InlinerNameSignature,\
- const char* ,InlineeNamespace,\
- const char* ,InlineeName,\
- const char* ,InlineeNameSignature,\
- const BOOL ,FailAlways\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodJitInliningFailed,
- MethodJitInliningFailed_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(MethodBeingCompiledNamespace,MethodBeingCompiledNamespace)
- ctf_string(MethodBeingCompiledName,MethodBeingCompiledName)
- ctf_string(MethodBeingCompiledNameSignature,MethodBeingCompiledNameSignature)
- ctf_string(InlinerNamespace,InlinerNamespace)
- ctf_string(InlinerName,InlinerName)
- ctf_string(InlinerNameSignature,InlinerNameSignature)
- ctf_string(InlineeNamespace,InlineeNamespace)
- ctf_string(InlineeName,InlineeName)
- ctf_string(InlineeNameSignature,InlineeNameSignature)
- ctf_integer(BOOL,FailAlways,FailAlways)
- )
-)
-#define MethodJitInliningFailedT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodJitInliningFailed ,\
- name ,\
- MethodJitInliningFailed_TRACEPOINT_ARGS \
-)
-
-#define MethodJitInliningFailed_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,FailReason,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodJitInliningFailed_1,
- MethodJitInliningFailed_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(FailReason,FailReason)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodJitInliningFailed_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodJitInliningFailed_1 ,\
- name ,\
- MethodJitInliningFailed_1_TRACEPOINT_ARGS \
-)
-
-#define MethodJitTailCallSucceeded_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,MethodBeingCompiledNamespace,\
- const char* ,MethodBeingCompiledName,\
- const char* ,MethodBeingCompiledNameSignature,\
- const char* ,CallerNamespace,\
- const char* ,CallerName,\
- const char* ,CallerNameSignature,\
- const char* ,CalleeNamespace,\
- const char* ,CalleeName,\
- const char* ,CalleeNameSignature,\
- const BOOL ,TailPrefix\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodJitTailCallSucceeded,
- MethodJitTailCallSucceeded_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(MethodBeingCompiledNamespace,MethodBeingCompiledNamespace)
- ctf_string(MethodBeingCompiledName,MethodBeingCompiledName)
- ctf_string(MethodBeingCompiledNameSignature,MethodBeingCompiledNameSignature)
- ctf_string(CallerNamespace,CallerNamespace)
- ctf_string(CallerName,CallerName)
- ctf_string(CallerNameSignature,CallerNameSignature)
- ctf_string(CalleeNamespace,CalleeNamespace)
- ctf_string(CalleeName,CalleeName)
- ctf_string(CalleeNameSignature,CalleeNameSignature)
- ctf_integer(BOOL,TailPrefix,TailPrefix)
- )
-)
-#define MethodJitTailCallSucceededT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodJitTailCallSucceeded ,\
- name ,\
- MethodJitTailCallSucceeded_TRACEPOINT_ARGS \
-)
-
-#define MethodJitTailCallSucceeded_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,TailCallType,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodJitTailCallSucceeded_1,
- MethodJitTailCallSucceeded_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,TailCallType,TailCallType)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodJitTailCallSucceeded_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodJitTailCallSucceeded_1 ,\
- name ,\
- MethodJitTailCallSucceeded_1_TRACEPOINT_ARGS \
-)
-
-#define MethodJitTailCallFailed_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,MethodBeingCompiledNamespace,\
- const char* ,MethodBeingCompiledName,\
- const char* ,MethodBeingCompiledNameSignature,\
- const char* ,CallerNamespace,\
- const char* ,CallerName,\
- const char* ,CallerNameSignature,\
- const char* ,CalleeNamespace,\
- const char* ,CalleeName,\
- const char* ,CalleeNameSignature,\
- const BOOL ,TailPrefix\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodJitTailCallFailed,
- MethodJitTailCallFailed_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(MethodBeingCompiledNamespace,MethodBeingCompiledNamespace)
- ctf_string(MethodBeingCompiledName,MethodBeingCompiledName)
- ctf_string(MethodBeingCompiledNameSignature,MethodBeingCompiledNameSignature)
- ctf_string(CallerNamespace,CallerNamespace)
- ctf_string(CallerName,CallerName)
- ctf_string(CallerNameSignature,CallerNameSignature)
- ctf_string(CalleeNamespace,CalleeNamespace)
- ctf_string(CalleeName,CalleeName)
- ctf_string(CalleeNameSignature,CalleeNameSignature)
- ctf_integer(BOOL,TailPrefix,TailPrefix)
- )
-)
-#define MethodJitTailCallFailedT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodJitTailCallFailed ,\
- name ,\
- MethodJitTailCallFailed_TRACEPOINT_ARGS \
-)
-
-#define MethodJitTailCallFailed_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,FailReason,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodJitTailCallFailed_1,
- MethodJitTailCallFailed_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(FailReason,FailReason)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodJitTailCallFailed_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodJitTailCallFailed_1 ,\
- name ,\
- MethodJitTailCallFailed_1_TRACEPOINT_ARGS \
-)
-
-#define MethodILToNativeMap_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ReJITID,\
- const unsigned char ,MethodExtent,\
- const unsigned short ,CountOfMapEntries,\
- const unsigned int* ,ILOffsets,\
- const unsigned int* ,NativeOffsets,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- MethodILToNativeMap,
- MethodILToNativeMap_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ReJITID,ReJITID)
- ctf_integer(unsigned char,MethodExtent,MethodExtent)
- ctf_integer(unsigned short,CountOfMapEntries,CountOfMapEntries)
- ctf_sequence(unsigned int, ILOffsets, ILOffsets,size_t,CountOfMapEntries)
- ctf_sequence(unsigned int, NativeOffsets, NativeOffsets,size_t,CountOfMapEntries)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodILToNativeMapT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- MethodILToNativeMap ,\
- name ,\
- MethodILToNativeMap_TRACEPOINT_ARGS \
-)
-
-#define ClrStackWalk_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned char ,Reserved1,\
- const unsigned char ,Reserved2,\
- const unsigned int ,FrameCount,\
- const size_t* ,Stack\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ClrStackWalk,
- ClrStackWalk_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned char,Reserved1,Reserved1)
- ctf_integer(unsigned char,Reserved2,Reserved2)
- ctf_integer(unsigned int,FrameCount,FrameCount)
- ctf_sequence(size_t, Stack, Stack,size_t,2)
- )
-)
-#define ClrStackWalkT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ClrStackWalk ,\
- name ,\
- ClrStackWalk_TRACEPOINT_ARGS \
-)
-
-#define AppDomainMemAllocated_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,AppDomainID,\
- const unsigned __int64 ,Allocated,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- AppDomainMemAllocated,
- AppDomainMemAllocated_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned __int64,Allocated,Allocated)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define AppDomainMemAllocatedT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- AppDomainMemAllocated ,\
- name ,\
- AppDomainMemAllocated_TRACEPOINT_ARGS \
-)
-
-#define AppDomainMemSurvived_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,AppDomainID,\
- const unsigned __int64 ,Survived,\
- const unsigned __int64 ,ProcessSurvived,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- AppDomainMemSurvived,
- AppDomainMemSurvived_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned __int64,Survived,Survived)
- ctf_integer(unsigned __int64,ProcessSurvived,ProcessSurvived)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define AppDomainMemSurvivedT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- AppDomainMemSurvived ,\
- name ,\
- AppDomainMemSurvived_TRACEPOINT_ARGS \
-)
-
-#define ThreadCreated_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ManagedThreadID,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned int ,Flags,\
- const unsigned int ,ManagedThreadIndex,\
- const unsigned int ,OSThreadID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ThreadCreated,
- ThreadCreated_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ManagedThreadID,ManagedThreadID)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,Flags,Flags)
- ctf_integer(unsigned int,ManagedThreadIndex,ManagedThreadIndex)
- ctf_integer(unsigned int,OSThreadID,OSThreadID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ThreadCreatedT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ThreadCreated ,\
- name ,\
- ThreadCreated_TRACEPOINT_ARGS \
-)
-
-#define ThreadTerminatedOrTransition_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ManagedThreadID,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ThreadTerminatedOrTransition,
- ThreadTerminatedOrTransition_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ManagedThreadID,ManagedThreadID)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ThreadTerminatedOrTransitionT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ThreadTerminatedOrTransition ,\
- name ,\
- ThreadTerminatedOrTransition_TRACEPOINT_ARGS \
-)
-
-#define ILStubGenerated_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,StubMethodID,\
- const unsigned int ,StubFlags,\
- const unsigned int ,ManagedInteropMethodToken,\
- const char* ,ManagedInteropMethodNamespace,\
- const char* ,ManagedInteropMethodName,\
- const char* ,ManagedInteropMethodSignature,\
- const char* ,NativeMethodSignature,\
- const char* ,StubMethodSignature\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ILStubGenerated,
- ILStubGenerated_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,StubMethodID,StubMethodID)
- ctf_integer(unsigned int,StubFlags,StubFlags)
- ctf_integer(unsigned int,ManagedInteropMethodToken,ManagedInteropMethodToken)
- ctf_string(ManagedInteropMethodNamespace,ManagedInteropMethodNamespace)
- ctf_string(ManagedInteropMethodName,ManagedInteropMethodName)
- ctf_string(ManagedInteropMethodSignature,ManagedInteropMethodSignature)
- ctf_string(NativeMethodSignature,NativeMethodSignature)
- ctf_string(StubMethodSignature,StubMethodSignature)
- )
-)
-#define ILStubGeneratedT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ILStubGenerated ,\
- name ,\
- ILStubGenerated_TRACEPOINT_ARGS \
-)
-
-#define ILStubGenerated_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,StubMethodILCode\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ILStubGenerated_1,
- ILStubGenerated_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(StubMethodILCode,StubMethodILCode)
- )
-)
-#define ILStubGenerated_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ILStubGenerated_1 ,\
- name ,\
- ILStubGenerated_1_TRACEPOINT_ARGS \
-)
-
-#define ILStubCacheHit_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,StubMethodID,\
- const unsigned int ,ManagedInteropMethodToken,\
- const char* ,ManagedInteropMethodNamespace,\
- const char* ,ManagedInteropMethodName,\
- const char* ,ManagedInteropMethodSignature\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ILStubCacheHit,
- ILStubCacheHit_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,StubMethodID,StubMethodID)
- ctf_integer(unsigned int,ManagedInteropMethodToken,ManagedInteropMethodToken)
- ctf_string(ManagedInteropMethodNamespace,ManagedInteropMethodNamespace)
- ctf_string(ManagedInteropMethodName,ManagedInteropMethodName)
- ctf_string(ManagedInteropMethodSignature,ManagedInteropMethodSignature)
- )
-)
-#define ILStubCacheHitT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ILStubCacheHit ,\
- name ,\
- ILStubCacheHit_TRACEPOINT_ARGS \
-)
-
-#define ModuleRange_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned int ,RangeBegin,\
- const unsigned int ,RangeSize,\
- const unsigned char ,RangeType\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- ModuleRange,
- ModuleRange_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned int,RangeBegin,RangeBegin)
- ctf_integer(unsigned int,RangeSize,RangeSize)
- ctf_integer(unsigned char,RangeType,RangeType)
- )
-)
-#define ModuleRangeT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- ModuleRange ,\
- name ,\
- ModuleRange_TRACEPOINT_ARGS \
-)
-
-#define BulkType_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Count,\
- const unsigned short ,ClrInstanceID,\
- const ULONG ,Arg2_Struct_Len_,\
- const int* ,Arg2_Struct_Pointer_\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- BulkType,
- BulkType_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(ULONG,Arg2_Struct_Len_,Arg2_Struct_Len_)
- ctf_sequence(int, Arg2_Struct_Pointer_, Arg2_Struct_Pointer_,size_t,Count*Arg2_Struct_Len_/sizeof(int))
- )
-)
-#define BulkTypeT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- BulkType ,\
- name ,\
- BulkType_TRACEPOINT_ARGS \
-)
-
-#define GCBulkRootEdge_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Index,\
- const unsigned int ,Count,\
- const unsigned short ,ClrInstanceID,\
- const ULONG ,Arg3_Struct_Len_,\
- const int* ,Arg3_Struct_Pointer_\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCBulkRootEdge,
- GCBulkRootEdge_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Index,Index)
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
- ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
- )
-)
-#define GCBulkRootEdgeT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCBulkRootEdge ,\
- name ,\
- GCBulkRootEdge_TRACEPOINT_ARGS \
-)
-
-#define GCBulkRootCCW_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Count,\
- const unsigned short ,ClrInstanceID,\
- const ULONG ,Arg2_Struct_Len_,\
- const int* ,Arg2_Struct_Pointer_\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCBulkRootCCW,
- GCBulkRootCCW_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(ULONG,Arg2_Struct_Len_,Arg2_Struct_Len_)
- ctf_sequence(int, Arg2_Struct_Pointer_, Arg2_Struct_Pointer_,size_t,Count*Arg2_Struct_Len_/sizeof(int))
- )
-)
-#define GCBulkRootCCWT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCBulkRootCCW ,\
- name ,\
- GCBulkRootCCW_TRACEPOINT_ARGS \
-)
-
-#define GCBulkRCW_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Count,\
- const unsigned short ,ClrInstanceID,\
- const ULONG ,Arg2_Struct_Len_,\
- const int* ,Arg2_Struct_Pointer_\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCBulkRCW,
- GCBulkRCW_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(ULONG,Arg2_Struct_Len_,Arg2_Struct_Len_)
- ctf_sequence(int, Arg2_Struct_Pointer_, Arg2_Struct_Pointer_,size_t,Count*Arg2_Struct_Len_/sizeof(int))
- )
-)
-#define GCBulkRCWT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCBulkRCW ,\
- name ,\
- GCBulkRCW_TRACEPOINT_ARGS \
-)
-
-#define GCBulkRootStaticVar_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Count,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned short ,ClrInstanceID,\
- const ULONG ,Arg3_Struct_Len_,\
- const int* ,Arg3_Struct_Pointer_\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCBulkRootStaticVar,
- GCBulkRootStaticVar_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
- ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
- )
-)
-#define GCBulkRootStaticVarT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCBulkRootStaticVar ,\
- name ,\
- GCBulkRootStaticVar_TRACEPOINT_ARGS \
-)
-
-#define GCBulkRootConditionalWeakTableElementEdge_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Index,\
- const unsigned int ,Count,\
- const unsigned short ,ClrInstanceID,\
- const ULONG ,Arg3_Struct_Len_,\
- const int* ,Arg3_Struct_Pointer_\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCBulkRootConditionalWeakTableElementEdge,
- GCBulkRootConditionalWeakTableElementEdge_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Index,Index)
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
- ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
- )
-)
-#define GCBulkRootConditionalWeakTableElementEdgeT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCBulkRootConditionalWeakTableElementEdge ,\
- name ,\
- GCBulkRootConditionalWeakTableElementEdge_TRACEPOINT_ARGS \
-)
-
-#define GCBulkNode_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Index,\
- const unsigned int ,Count,\
- const unsigned short ,ClrInstanceID,\
- const ULONG ,Arg3_Struct_Len_,\
- const int* ,Arg3_Struct_Pointer_\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCBulkNode,
- GCBulkNode_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Index,Index)
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
- ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
- )
-)
-#define GCBulkNodeT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCBulkNode ,\
- name ,\
- GCBulkNode_TRACEPOINT_ARGS \
-)
-
-#define GCBulkEdge_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Index,\
- const unsigned int ,Count,\
- const unsigned short ,ClrInstanceID,\
- const ULONG ,Arg3_Struct_Len_,\
- const int* ,Arg3_Struct_Pointer_\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCBulkEdge,
- GCBulkEdge_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Index,Index)
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
- ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
- )
-)
-#define GCBulkEdgeT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCBulkEdge ,\
- name ,\
- GCBulkEdge_TRACEPOINT_ARGS \
-)
-
-#define GCSampledObjectAllocation_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,Address,\
- const size_t ,TypeID,\
- const unsigned int ,ObjectCountForTypeSample,\
- const unsigned __int64 ,TotalSizeForTypeSample,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCSampledObjectAllocation,
- GCSampledObjectAllocation_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,Address,Address)
- ctf_integer(size_t,TypeID,TypeID)
- ctf_integer(unsigned int,ObjectCountForTypeSample,ObjectCountForTypeSample)
- ctf_integer(unsigned __int64,TotalSizeForTypeSample,TotalSizeForTypeSample)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCSampledObjectAllocationT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCSampledObjectAllocation ,\
- name ,\
- GCSampledObjectAllocation_TRACEPOINT_ARGS \
-)
-
-#define GCBulkSurvivingObjectRanges_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Index,\
- const unsigned int ,Count,\
- const unsigned short ,ClrInstanceID,\
- const ULONG ,Arg3_Struct_Len_,\
- const int* ,Arg3_Struct_Pointer_\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCBulkSurvivingObjectRanges,
- GCBulkSurvivingObjectRanges_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Index,Index)
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
- ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
- )
-)
-#define GCBulkSurvivingObjectRangesT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCBulkSurvivingObjectRanges ,\
- name ,\
- GCBulkSurvivingObjectRanges_TRACEPOINT_ARGS \
-)
-
-#define GCBulkMovedObjectRanges_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Index,\
- const unsigned int ,Count,\
- const unsigned short ,ClrInstanceID,\
- const ULONG ,Arg3_Struct_Len_,\
- const int* ,Arg3_Struct_Pointer_\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCBulkMovedObjectRanges,
- GCBulkMovedObjectRanges_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Index,Index)
- ctf_integer(unsigned int,Count,Count)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
- ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
- )
-)
-#define GCBulkMovedObjectRangesT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCBulkMovedObjectRanges ,\
- name ,\
- GCBulkMovedObjectRanges_TRACEPOINT_ARGS \
-)
-
-#define GCGenerationRange_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned char ,Generation,\
- const size_t ,RangeStart,\
- const unsigned __int64 ,RangeUsedLength,\
- const unsigned __int64 ,RangeReservedLength,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- GCGenerationRange,
- GCGenerationRange_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned char,Generation,Generation)
- ctf_integer(size_t,RangeStart,RangeStart)
- ctf_integer(unsigned __int64,RangeUsedLength,RangeUsedLength)
- ctf_integer(unsigned __int64,RangeReservedLength,RangeReservedLength)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCGenerationRangeT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- GCGenerationRange ,\
- name ,\
- GCGenerationRange_TRACEPOINT_ARGS \
-)
-
-#define CodeSymbols_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ModuleId,\
- const unsigned short ,TotalChunks,\
- const unsigned short ,ChunkNumber,\
- const unsigned int ,ChunkLength,\
- const BYTE* ,Chunk,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- CodeSymbols,
- CodeSymbols_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ModuleId,ModuleId)
- ctf_integer(unsigned short,TotalChunks,TotalChunks)
- ctf_integer(unsigned short,ChunkNumber,ChunkNumber)
- ctf_integer(unsigned int,ChunkLength,ChunkLength)
- ctf_sequence(BYTE, Chunk, Chunk,size_t,ChunkLength)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define CodeSymbolsT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- CodeSymbols ,\
- name ,\
- CodeSymbols_TRACEPOINT_ARGS \
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntime,
- emptyTemplate ,
- TP_ARGS(),
- TP_FIELDS()
-)
-#define T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntime,\
- emptyTemplate,\
- name ,\
- TP_ARGS()\
-)
-GCStartT_TRACEPOINT_INSTANCE(GCStart)
-GCStart_V1T_TRACEPOINT_INSTANCE(GCStart_V1)
-GCStart_V2T_TRACEPOINT_INSTANCE(GCStart_V2)
-GCEndT_TRACEPOINT_INSTANCE(GCEnd)
-GCEnd_V1T_TRACEPOINT_INSTANCE(GCEnd_V1)
-T_TRACEPOINT_INSTANCE(GCRestartEEEnd)
-GCNoUserDataT_TRACEPOINT_INSTANCE(GCRestartEEEnd_V1)
-GCHeapStatsT_TRACEPOINT_INSTANCE(GCHeapStats)
-GCHeapStats_1T_TRACEPOINT_INSTANCE(GCHeapStats_1)
-GCHeapStats_V1T_TRACEPOINT_INSTANCE(GCHeapStats_V1)
-GCHeapStats_V1_1T_TRACEPOINT_INSTANCE(GCHeapStats_V1_1)
-GCCreateSegmentT_TRACEPOINT_INSTANCE(GCCreateSegment)
-GCCreateSegment_V1T_TRACEPOINT_INSTANCE(GCCreateSegment_V1)
-GCFreeSegmentT_TRACEPOINT_INSTANCE(GCFreeSegment)
-GCFreeSegment_V1T_TRACEPOINT_INSTANCE(GCFreeSegment_V1)
-T_TRACEPOINT_INSTANCE(GCRestartEEBegin)
-GCNoUserDataT_TRACEPOINT_INSTANCE(GCRestartEEBegin_V1)
-T_TRACEPOINT_INSTANCE(GCSuspendEEEnd)
-GCNoUserDataT_TRACEPOINT_INSTANCE(GCSuspendEEEnd_V1)
-GCSuspendEET_TRACEPOINT_INSTANCE(GCSuspendEEBegin)
-GCSuspendEE_V1T_TRACEPOINT_INSTANCE(GCSuspendEEBegin_V1)
-GCAllocationTickT_TRACEPOINT_INSTANCE(GCAllocationTick)
-GCAllocationTick_V1T_TRACEPOINT_INSTANCE(GCAllocationTick_V1)
-GCAllocationTick_V2T_TRACEPOINT_INSTANCE(GCAllocationTick_V2)
-GCAllocationTick_V3T_TRACEPOINT_INSTANCE(GCAllocationTick_V3)
-T_TRACEPOINT_INSTANCE(GCCreateConcurrentThread)
-GCCreateConcurrentThreadT_TRACEPOINT_INSTANCE(GCCreateConcurrentThread_V1)
-T_TRACEPOINT_INSTANCE(GCTerminateConcurrentThread)
-GCTerminateConcurrentThreadT_TRACEPOINT_INSTANCE(GCTerminateConcurrentThread_V1)
-GCFinalizersEndT_TRACEPOINT_INSTANCE(GCFinalizersEnd)
-GCFinalizersEnd_V1T_TRACEPOINT_INSTANCE(GCFinalizersEnd_V1)
-T_TRACEPOINT_INSTANCE(GCFinalizersBegin)
-GCNoUserDataT_TRACEPOINT_INSTANCE(GCFinalizersBegin_V1)
-BulkTypeT_TRACEPOINT_INSTANCE(BulkType)
-GCBulkRootEdgeT_TRACEPOINT_INSTANCE(GCBulkRootEdge)
-GCBulkRootConditionalWeakTableElementEdgeT_TRACEPOINT_INSTANCE(GCBulkRootConditionalWeakTableElementEdge)
-GCBulkNodeT_TRACEPOINT_INSTANCE(GCBulkNode)
-GCBulkEdgeT_TRACEPOINT_INSTANCE(GCBulkEdge)
-GCSampledObjectAllocationT_TRACEPOINT_INSTANCE(GCSampledObjectAllocationHigh)
-GCBulkSurvivingObjectRangesT_TRACEPOINT_INSTANCE(GCBulkSurvivingObjectRanges)
-GCBulkMovedObjectRangesT_TRACEPOINT_INSTANCE(GCBulkMovedObjectRanges)
-GCGenerationRangeT_TRACEPOINT_INSTANCE(GCGenerationRange)
-GCMarkT_TRACEPOINT_INSTANCE(GCMarkStackRoots)
-GCMarkT_TRACEPOINT_INSTANCE(GCMarkFinalizeQueueRoots)
-GCMarkT_TRACEPOINT_INSTANCE(GCMarkHandles)
-GCMarkT_TRACEPOINT_INSTANCE(GCMarkOlderGenerationRoots)
-FinalizeObjectT_TRACEPOINT_INSTANCE(FinalizeObject)
-SetGCHandleT_TRACEPOINT_INSTANCE(SetGCHandle)
-DestroyGCHandleT_TRACEPOINT_INSTANCE(DestroyGCHandle)
-GCSampledObjectAllocationT_TRACEPOINT_INSTANCE(GCSampledObjectAllocationLow)
-PinObjectAtGCTimeT_TRACEPOINT_INSTANCE(PinObjectAtGCTime)
-GCTriggeredT_TRACEPOINT_INSTANCE(GCTriggered)
-GCBulkRootCCWT_TRACEPOINT_INSTANCE(GCBulkRootCCW)
-GCBulkRCWT_TRACEPOINT_INSTANCE(GCBulkRCW)
-GCBulkRootStaticVarT_TRACEPOINT_INSTANCE(GCBulkRootStaticVar)
-ClrWorkerThreadT_TRACEPOINT_INSTANCE(WorkerThreadCreate)
-ClrWorkerThreadT_TRACEPOINT_INSTANCE(WorkerThreadTerminate)
-ClrWorkerThreadT_TRACEPOINT_INSTANCE(WorkerThreadRetire)
-ClrWorkerThreadT_TRACEPOINT_INSTANCE(WorkerThreadUnretire)
-IOThreadT_TRACEPOINT_INSTANCE(IOThreadCreate)
-IOThread_V1T_TRACEPOINT_INSTANCE(IOThreadCreate_V1)
-IOThreadT_TRACEPOINT_INSTANCE(IOThreadTerminate)
-IOThread_V1T_TRACEPOINT_INSTANCE(IOThreadTerminate_V1)
-IOThreadT_TRACEPOINT_INSTANCE(IOThreadRetire)
-IOThread_V1T_TRACEPOINT_INSTANCE(IOThreadRetire_V1)
-IOThreadT_TRACEPOINT_INSTANCE(IOThreadUnretire)
-IOThread_V1T_TRACEPOINT_INSTANCE(IOThreadUnretire_V1)
-ClrThreadPoolSuspendT_TRACEPOINT_INSTANCE(ThreadpoolSuspensionSuspendThread)
-ClrThreadPoolSuspendT_TRACEPOINT_INSTANCE(ThreadpoolSuspensionResumeThread)
-ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadStart)
-ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadStop)
-ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadRetirementStart)
-ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadRetirementStop)
-ThreadPoolWorkerThreadAdjustmentSampleT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadAdjustmentSample)
-ThreadPoolWorkerThreadAdjustmentAdjustmentT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadAdjustmentAdjustment)
-ThreadPoolWorkerThreadAdjustmentStatsT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadAdjustmentStats)
-ThreadPoolWorkerThreadAdjustmentStats_1T_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadAdjustmentStats_1)
-ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadWait)
-ThreadPoolWorkingThreadCountT_TRACEPOINT_INSTANCE(ThreadPoolWorkingThreadCount)
-ThreadPoolWorkT_TRACEPOINT_INSTANCE(ThreadPoolEnqueue)
-ThreadPoolWorkT_TRACEPOINT_INSTANCE(ThreadPoolDequeue)
-ThreadPoolIOWorkEnqueueT_TRACEPOINT_INSTANCE(ThreadPoolIOEnqueue)
-ThreadPoolIOWorkT_TRACEPOINT_INSTANCE(ThreadPoolIODequeue)
-ThreadPoolIOWorkT_TRACEPOINT_INSTANCE(ThreadPoolIOPack)
-ThreadStartWorkT_TRACEPOINT_INSTANCE(ThreadCreating)
-ThreadStartWorkT_TRACEPOINT_INSTANCE(ThreadRunning)
-T_TRACEPOINT_INSTANCE(ExceptionThrown)
-ExceptionT_TRACEPOINT_INSTANCE(ExceptionThrown_V1)
-ExceptionHandlingT_TRACEPOINT_INSTANCE(ExceptionCatchStart)
-T_TRACEPOINT_INSTANCE(ExceptionCatchStop)
-ExceptionHandlingT_TRACEPOINT_INSTANCE(ExceptionFinallyStart)
-T_TRACEPOINT_INSTANCE(ExceptionFinallyStop)
-ExceptionHandlingT_TRACEPOINT_INSTANCE(ExceptionFilterStart)
-T_TRACEPOINT_INSTANCE(ExceptionFilterStop)
-T_TRACEPOINT_INSTANCE(ExceptionThrownStop)
-T_TRACEPOINT_INSTANCE(Contention)
-ContentionT_TRACEPOINT_INSTANCE(ContentionStart_V1)
-ContentionT_TRACEPOINT_INSTANCE(ContentionStop)
-ClrStackWalkT_TRACEPOINT_INSTANCE(CLRStackWalk)
-AppDomainMemAllocatedT_TRACEPOINT_INSTANCE(AppDomainMemAllocated)
-AppDomainMemSurvivedT_TRACEPOINT_INSTANCE(AppDomainMemSurvived)
-ThreadCreatedT_TRACEPOINT_INSTANCE(ThreadCreated)
-ThreadTerminatedOrTransitionT_TRACEPOINT_INSTANCE(ThreadTerminated)
-ThreadTerminatedOrTransitionT_TRACEPOINT_INSTANCE(ThreadDomainEnter)
-ILStubGeneratedT_TRACEPOINT_INSTANCE(ILStubGenerated)
-ILStubGenerated_1T_TRACEPOINT_INSTANCE(ILStubGenerated_1)
-ILStubCacheHitT_TRACEPOINT_INSTANCE(ILStubCacheHit)
-T_TRACEPOINT_INSTANCE(DCStartCompleteV2)
-T_TRACEPOINT_INSTANCE(DCEndCompleteV2)
-MethodLoadUnloadT_TRACEPOINT_INSTANCE(MethodDCStartV2)
-MethodLoadUnloadT_TRACEPOINT_INSTANCE(MethodDCEndV2)
-MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(MethodDCStartVerboseV2)
-MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(MethodDCEndVerboseV2)
-MethodLoadUnloadT_TRACEPOINT_INSTANCE(MethodLoad)
-MethodLoadUnload_V1T_TRACEPOINT_INSTANCE(MethodLoad_V1)
-MethodLoadUnload_V2T_TRACEPOINT_INSTANCE(MethodLoad_V2)
-MethodLoadUnloadT_TRACEPOINT_INSTANCE(MethodUnload)
-MethodLoadUnload_V1T_TRACEPOINT_INSTANCE(MethodUnload_V1)
-MethodLoadUnload_V2T_TRACEPOINT_INSTANCE(MethodUnload_V2)
-MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(MethodLoadVerbose)
-MethodLoadUnloadVerbose_V1T_TRACEPOINT_INSTANCE(MethodLoadVerbose_V1)
-MethodLoadUnloadVerbose_V2T_TRACEPOINT_INSTANCE(MethodLoadVerbose_V2)
-MethodLoadUnloadVerbose_V2_1T_TRACEPOINT_INSTANCE(MethodLoadVerbose_V2_1)
-MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(MethodUnloadVerbose)
-MethodLoadUnloadVerbose_V1T_TRACEPOINT_INSTANCE(MethodUnloadVerbose_V1)
-MethodLoadUnloadVerbose_V2T_TRACEPOINT_INSTANCE(MethodUnloadVerbose_V2)
-MethodLoadUnloadVerbose_V2_1T_TRACEPOINT_INSTANCE(MethodUnloadVerbose_V2_1)
-MethodJittingStartedT_TRACEPOINT_INSTANCE(MethodJittingStarted)
-MethodJittingStarted_V1T_TRACEPOINT_INSTANCE(MethodJittingStarted_V1)
-MethodJitInliningSucceededT_TRACEPOINT_INSTANCE(MethodJitInliningSucceeded)
-MethodJitInliningFailedT_TRACEPOINT_INSTANCE(MethodJitInliningFailed)
-MethodJitInliningFailed_1T_TRACEPOINT_INSTANCE(MethodJitInliningFailed_1)
-MethodJitTailCallSucceededT_TRACEPOINT_INSTANCE(MethodJitTailCallSucceeded)
-MethodJitTailCallSucceeded_1T_TRACEPOINT_INSTANCE(MethodJitTailCallSucceeded_1)
-MethodJitTailCallFailedT_TRACEPOINT_INSTANCE(MethodJitTailCallFailed)
-MethodJitTailCallFailed_1T_TRACEPOINT_INSTANCE(MethodJitTailCallFailed_1)
-MethodILToNativeMapT_TRACEPOINT_INSTANCE(MethodILToNativeMap)
-ModuleLoadUnloadT_TRACEPOINT_INSTANCE(ModuleDCStartV2)
-ModuleLoadUnloadT_TRACEPOINT_INSTANCE(ModuleDCEndV2)
-DomainModuleLoadUnloadT_TRACEPOINT_INSTANCE(DomainModuleLoad)
-DomainModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(DomainModuleLoad_V1)
-ModuleLoadUnloadT_TRACEPOINT_INSTANCE(ModuleLoad)
-ModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(ModuleLoad_V1)
-ModuleLoadUnload_V2T_TRACEPOINT_INSTANCE(ModuleLoad_V2)
-ModuleLoadUnload_V2_1T_TRACEPOINT_INSTANCE(ModuleLoad_V2_1)
-ModuleLoadUnloadT_TRACEPOINT_INSTANCE(ModuleUnload)
-ModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(ModuleUnload_V1)
-ModuleLoadUnload_V2T_TRACEPOINT_INSTANCE(ModuleUnload_V2)
-ModuleLoadUnload_V2_1T_TRACEPOINT_INSTANCE(ModuleUnload_V2_1)
-AssemblyLoadUnloadT_TRACEPOINT_INSTANCE(AssemblyLoad)
-AssemblyLoadUnload_V1T_TRACEPOINT_INSTANCE(AssemblyLoad_V1)
-AssemblyLoadUnloadT_TRACEPOINT_INSTANCE(AssemblyUnload)
-AssemblyLoadUnload_V1T_TRACEPOINT_INSTANCE(AssemblyUnload_V1)
-AppDomainLoadUnloadT_TRACEPOINT_INSTANCE(AppDomainLoad)
-AppDomainLoadUnload_V1T_TRACEPOINT_INSTANCE(AppDomainLoad_V1)
-AppDomainLoadUnloadT_TRACEPOINT_INSTANCE(AppDomainUnload)
-AppDomainLoadUnload_V1T_TRACEPOINT_INSTANCE(AppDomainUnload_V1)
-ModuleRangeT_TRACEPOINT_INSTANCE(ModuleRangeLoad)
-StrongNameVerificationT_TRACEPOINT_INSTANCE(StrongNameVerificationStart)
-StrongNameVerification_V1T_TRACEPOINT_INSTANCE(StrongNameVerificationStart_V1)
-StrongNameVerificationT_TRACEPOINT_INSTANCE(StrongNameVerificationStop)
-StrongNameVerification_V1T_TRACEPOINT_INSTANCE(StrongNameVerificationStop_V1)
-AuthenticodeVerificationT_TRACEPOINT_INSTANCE(AuthenticodeVerificationStart)
-AuthenticodeVerification_V1T_TRACEPOINT_INSTANCE(AuthenticodeVerificationStart_V1)
-AuthenticodeVerificationT_TRACEPOINT_INSTANCE(AuthenticodeVerificationStop)
-AuthenticodeVerification_V1T_TRACEPOINT_INSTANCE(AuthenticodeVerificationStop_V1)
-RuntimeInformationT_TRACEPOINT_INSTANCE(RuntimeInformationStart)
-RuntimeInformation_1T_TRACEPOINT_INSTANCE(RuntimeInformationStart_1)
-IncreaseMemoryPressureT_TRACEPOINT_INSTANCE(IncreaseMemoryPressure)
-DecreaseMemoryPressureT_TRACEPOINT_INSTANCE(DecreaseMemoryPressure)
-GCMarkWithTypeT_TRACEPOINT_INSTANCE(GCMarkWithType)
-GCJoin_V2T_TRACEPOINT_INSTANCE(GCJoin_V2)
-GCPerHeapHistory_V3T_TRACEPOINT_INSTANCE(GCPerHeapHistory_V3)
-GCPerHeapHistory_V3_1T_TRACEPOINT_INSTANCE(GCPerHeapHistory_V3_1)
-GCGlobalHeap_V2T_TRACEPOINT_INSTANCE(GCGlobalHeapHistory_V2)
-T_TRACEPOINT_INSTANCE(DebugIPCEventStart)
-T_TRACEPOINT_INSTANCE(DebugIPCEventEnd)
-T_TRACEPOINT_INSTANCE(DebugExceptionProcessingStart)
-T_TRACEPOINT_INSTANCE(DebugExceptionProcessingEnd)
-CodeSymbolsT_TRACEPOINT_INSTANCE(CodeSymbols)
-EventSourceT_TRACEPOINT_INSTANCE(EventSource)
-#endif /* LTTNG_CORECLR_HDotNETRuntime */
-#include <lttng/tracepoint-event.h>
diff --git a/src/pal/src/eventprovider/lttng/tpdotnetruntimeprivate.h b/src/pal/src/eventprovider/lttng/tpdotnetruntimeprivate.h
deleted file mode 100644
index 12960fcc9d..0000000000
--- a/src/pal/src/eventprovider/lttng/tpdotnetruntimeprivate.h
+++ /dev/null
@@ -1,1607 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-
-#include "palrt.h"
-#include "pal.h"
-
-#undef TRACEPOINT_PROVIDER
-#define TRACEPOINT_PROVIDER DotNETRuntimePrivate
-
-#undef TRACEPOINT_INCLUDE
-#define TRACEPOINT_INCLUDE "./lttng/tpdotnetruntimeprivate.h"
-
-#if !defined(LTTNG_CORECLR_HDotNETRuntimePrivate) || defined(TRACEPOINT_HEADER_MULTI_READ)
-#define LTTNG_CORECLR_HDotNETRuntimePrivate
-
-#include <lttng/tracepoint.h>
-
-
-#define ClrStackWalk_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned char ,Reserved1,\
- const unsigned char ,Reserved2,\
- const unsigned int ,FrameCount,\
- const size_t* ,Stack\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- ClrStackWalk,
- ClrStackWalk_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned char,Reserved1,Reserved1)
- ctf_integer(unsigned char,Reserved2,Reserved2)
- ctf_integer(unsigned int,FrameCount,FrameCount)
- ctf_sequence(size_t, Stack, Stack,size_t,2)
- )
-)
-#define ClrStackWalkT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- ClrStackWalk ,\
- name ,\
- ClrStackWalk_TRACEPOINT_ARGS \
-)
-
-#define EvidenceGenerated_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Type,\
- const unsigned int ,AppDomain,\
- const char* ,ILImage,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- EvidenceGenerated,
- EvidenceGenerated_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Type,Type)
- ctf_integer(unsigned int,AppDomain,AppDomain)
- ctf_string(ILImage,ILImage)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define EvidenceGeneratedT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- EvidenceGenerated ,\
- name ,\
- EvidenceGenerated_TRACEPOINT_ARGS \
-)
-
-#define GCDecision_TRACEPOINT_ARGS \
-TP_ARGS(\
- const BOOL ,DoCompact\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCDecision,
- GCDecision_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(BOOL,DoCompact,DoCompact)
- )
-)
-#define GCDecisionT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCDecision ,\
- name ,\
- GCDecision_TRACEPOINT_ARGS \
-)
-
-#define GCDecision_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const BOOL ,DoCompact,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCDecision_V1,
- GCDecision_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(BOOL,DoCompact,DoCompact)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCDecision_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCDecision_V1 ,\
- name ,\
- GCDecision_V1_TRACEPOINT_ARGS \
-)
-
-#define PrvGCMark_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,HeapNum\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- PrvGCMark,
- PrvGCMark_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,HeapNum,HeapNum)
- )
-)
-#define PrvGCMarkT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- PrvGCMark ,\
- name ,\
- PrvGCMark_TRACEPOINT_ARGS \
-)
-
-#define PrvGCMark_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,HeapNum,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- PrvGCMark_V1,
- PrvGCMark_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,HeapNum,HeapNum)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define PrvGCMark_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- PrvGCMark_V1 ,\
- name ,\
- PrvGCMark_V1_TRACEPOINT_ARGS \
-)
-
-#define GCPerHeapHistory_TRACEPOINT_ARGS \
-TP_ARGS(\
-\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCPerHeapHistory,
- GCPerHeapHistory_TRACEPOINT_ARGS,
- TP_FIELDS(
- )
-)
-#define GCPerHeapHistoryT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCPerHeapHistory ,\
- name ,\
- GCPerHeapHistory_TRACEPOINT_ARGS \
-)
-
-#define GCPerHeapHistory_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCPerHeapHistory_V1,
- GCPerHeapHistory_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCPerHeapHistory_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCPerHeapHistory_V1 ,\
- name ,\
- GCPerHeapHistory_V1_TRACEPOINT_ARGS \
-)
-
-#define GCGlobalHeap_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,FinalYoungestDesired,\
- const signed int ,NumHeaps,\
- const unsigned int ,CondemnedGeneration,\
- const unsigned int ,Gen0ReductionCount,\
- const unsigned int ,Reason,\
- const unsigned int ,GlobalMechanisms\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCGlobalHeap,
- GCGlobalHeap_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,FinalYoungestDesired,FinalYoungestDesired)
- ctf_integer(signed int,NumHeaps,NumHeaps)
- ctf_integer(unsigned int,CondemnedGeneration,CondemnedGeneration)
- ctf_integer(unsigned int,Gen0ReductionCount,Gen0ReductionCount)
- ctf_integer(unsigned int,Reason,Reason)
- ctf_integer(unsigned int,GlobalMechanisms,GlobalMechanisms)
- )
-)
-#define GCGlobalHeapT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCGlobalHeap ,\
- name ,\
- GCGlobalHeap_TRACEPOINT_ARGS \
-)
-
-#define GCGlobalHeap_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,FinalYoungestDesired,\
- const signed int ,NumHeaps,\
- const unsigned int ,CondemnedGeneration,\
- const unsigned int ,Gen0ReductionCount,\
- const unsigned int ,Reason,\
- const unsigned int ,GlobalMechanisms,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCGlobalHeap_V1,
- GCGlobalHeap_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,FinalYoungestDesired,FinalYoungestDesired)
- ctf_integer(signed int,NumHeaps,NumHeaps)
- ctf_integer(unsigned int,CondemnedGeneration,CondemnedGeneration)
- ctf_integer(unsigned int,Gen0ReductionCount,Gen0ReductionCount)
- ctf_integer(unsigned int,Reason,Reason)
- ctf_integer(unsigned int,GlobalMechanisms,GlobalMechanisms)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCGlobalHeap_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCGlobalHeap_V1 ,\
- name ,\
- GCGlobalHeap_V1_TRACEPOINT_ARGS \
-)
-
-#define GCJoin_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Heap,\
- const unsigned int ,JoinTime,\
- const unsigned int ,JoinType\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCJoin,
- GCJoin_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Heap,Heap)
- ctf_integer(unsigned int,JoinTime,JoinTime)
- ctf_integer(unsigned int,JoinType,JoinType)
- )
-)
-#define GCJoinT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCJoin ,\
- name ,\
- GCJoin_TRACEPOINT_ARGS \
-)
-
-#define GCJoin_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Heap,\
- const unsigned int ,JoinTime,\
- const unsigned int ,JoinType,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCJoin_V1,
- GCJoin_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Heap,Heap)
- ctf_integer(unsigned int,JoinTime,JoinTime)
- ctf_integer(unsigned int,JoinType,JoinType)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCJoin_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCJoin_V1 ,\
- name ,\
- GCJoin_V1_TRACEPOINT_ARGS \
-)
-
-#define GCOptimized_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,DesiredAllocation,\
- const unsigned __int64 ,NewAllocation,\
- const unsigned int ,GenerationNumber\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCOptimized,
- GCOptimized_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,DesiredAllocation,DesiredAllocation)
- ctf_integer(unsigned __int64,NewAllocation,NewAllocation)
- ctf_integer(unsigned int,GenerationNumber,GenerationNumber)
- )
-)
-#define GCOptimizedT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCOptimized ,\
- name ,\
- GCOptimized_TRACEPOINT_ARGS \
-)
-
-#define GCOptimized_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,DesiredAllocation,\
- const unsigned __int64 ,NewAllocation,\
- const unsigned int ,GenerationNumber,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCOptimized_V1,
- GCOptimized_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,DesiredAllocation,DesiredAllocation)
- ctf_integer(unsigned __int64,NewAllocation,NewAllocation)
- ctf_integer(unsigned int,GenerationNumber,GenerationNumber)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCOptimized_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCOptimized_V1 ,\
- name ,\
- GCOptimized_V1_TRACEPOINT_ARGS \
-)
-
-#define GCSettings_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,SegmentSize,\
- const unsigned __int64 ,LargeObjectSegmentSize,\
- const BOOL ,ServerGC\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCSettings,
- GCSettings_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,SegmentSize,SegmentSize)
- ctf_integer(unsigned __int64,LargeObjectSegmentSize,LargeObjectSegmentSize)
- ctf_integer(BOOL,ServerGC,ServerGC)
- )
-)
-#define GCSettingsT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCSettings ,\
- name ,\
- GCSettings_TRACEPOINT_ARGS \
-)
-
-#define GCSettings_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,SegmentSize,\
- const unsigned __int64 ,LargeObjectSegmentSize,\
- const BOOL ,ServerGC,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCSettings_V1,
- GCSettings_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,SegmentSize,SegmentSize)
- ctf_integer(unsigned __int64,LargeObjectSegmentSize,LargeObjectSegmentSize)
- ctf_integer(BOOL,ServerGC,ServerGC)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCSettings_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCSettings_V1 ,\
- name ,\
- GCSettings_V1_TRACEPOINT_ARGS \
-)
-
-#define BGCDrainMark_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,Objects,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- BGCDrainMark,
- BGCDrainMark_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,Objects,Objects)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define BGCDrainMarkT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- BGCDrainMark ,\
- name ,\
- BGCDrainMark_TRACEPOINT_ARGS \
-)
-
-#define BGCRevisit_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,Pages,\
- const unsigned __int64 ,Objects,\
- const unsigned int ,IsLarge,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- BGCRevisit,
- BGCRevisit_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,Pages,Pages)
- ctf_integer(unsigned __int64,Objects,Objects)
- ctf_integer(unsigned int,IsLarge,IsLarge)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define BGCRevisitT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- BGCRevisit ,\
- name ,\
- BGCRevisit_TRACEPOINT_ARGS \
-)
-
-#define BGCOverflow_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,Min,\
- const unsigned __int64 ,Max,\
- const unsigned __int64 ,Objects,\
- const unsigned int ,IsLarge,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- BGCOverflow,
- BGCOverflow_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,Min,Min)
- ctf_integer(unsigned __int64,Max,Max)
- ctf_integer(unsigned __int64,Objects,Objects)
- ctf_integer(unsigned int,IsLarge,IsLarge)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define BGCOverflowT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- BGCOverflow ,\
- name ,\
- BGCOverflow_TRACEPOINT_ARGS \
-)
-
-#define BGCAllocWait_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Reason,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- BGCAllocWait,
- BGCAllocWait_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Reason,Reason)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define BGCAllocWaitT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- BGCAllocWait ,\
- name ,\
- BGCAllocWait_TRACEPOINT_ARGS \
-)
-
-#define GCFullNotify_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,GenNumber,\
- const unsigned int ,IsAlloc\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCFullNotify,
- GCFullNotify_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,GenNumber,GenNumber)
- ctf_integer(unsigned int,IsAlloc,IsAlloc)
- )
-)
-#define GCFullNotifyT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCFullNotify ,\
- name ,\
- GCFullNotify_TRACEPOINT_ARGS \
-)
-
-#define GCFullNotify_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,GenNumber,\
- const unsigned int ,IsAlloc,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCFullNotify_V1,
- GCFullNotify_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,GenNumber,GenNumber)
- ctf_integer(unsigned int,IsAlloc,IsAlloc)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCFullNotify_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCFullNotify_V1 ,\
- name ,\
- GCFullNotify_V1_TRACEPOINT_ARGS \
-)
-
-#define GCNoUserData_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- GCNoUserData,
- GCNoUserData_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define GCNoUserDataT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- GCNoUserData ,\
- name ,\
- GCNoUserData_TRACEPOINT_ARGS \
-)
-
-#define Startup_TRACEPOINT_ARGS \
-TP_ARGS(\
-\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- Startup,
- Startup_TRACEPOINT_ARGS,
- TP_FIELDS(
- )
-)
-#define StartupT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- Startup ,\
- name ,\
- Startup_TRACEPOINT_ARGS \
-)
-
-#define Startup_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- Startup_V1,
- Startup_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define Startup_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- Startup_V1 ,\
- name ,\
- Startup_V1_TRACEPOINT_ARGS \
-)
-
-#define FusionMessage_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const BOOL ,Prepend,\
- const char* ,Message\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- FusionMessage,
- FusionMessage_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(BOOL,Prepend,Prepend)
- ctf_string(Message,Message)
- )
-)
-#define FusionMessageT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- FusionMessage ,\
- name ,\
- FusionMessage_TRACEPOINT_ARGS \
-)
-
-#define FusionErrorCode_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned int ,Category,\
- const unsigned int ,ErrorCode\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- FusionErrorCode,
- FusionErrorCode_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned int,Category,Category)
- ctf_integer(unsigned int,ErrorCode,ErrorCode)
- )
-)
-#define FusionErrorCodeT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- FusionErrorCode ,\
- name ,\
- FusionErrorCode_TRACEPOINT_ARGS \
-)
-
-#define Binding_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,AppDomainID,\
- const unsigned int ,LoadContextID,\
- const unsigned int ,FromLoaderCache,\
- const unsigned int ,DynamicLoad,\
- const char* ,AssemblyCodebase,\
- const char* ,AssemblyName,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- Binding,
- Binding_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,LoadContextID,LoadContextID)
- ctf_integer(unsigned int,FromLoaderCache,FromLoaderCache)
- ctf_integer(unsigned int,DynamicLoad,DynamicLoad)
- ctf_string(AssemblyCodebase,AssemblyCodebase)
- ctf_string(AssemblyName,AssemblyName)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define BindingT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- Binding ,\
- name ,\
- Binding_TRACEPOINT_ARGS \
-)
-
-#define NgenBindEvent_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned __int64 ,BindingID,\
- const unsigned int ,ReasonCode,\
- const char* ,AssemblyName\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- NgenBindEvent,
- NgenBindEvent_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned __int64,BindingID,BindingID)
- ctf_integer(unsigned int,ReasonCode,ReasonCode)
- ctf_string(AssemblyName,AssemblyName)
- )
-)
-#define NgenBindEventT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- NgenBindEvent ,\
- name ,\
- NgenBindEvent_TRACEPOINT_ARGS \
-)
-
-#define ModuleTransparencyCalculation_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,Module,\
- const unsigned int ,AppDomainID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- ModuleTransparencyCalculation,
- ModuleTransparencyCalculation_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(Module,Module)
- ctf_integer(unsigned int,AppDomainID,AppDomainID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ModuleTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- ModuleTransparencyCalculation ,\
- name ,\
- ModuleTransparencyCalculation_TRACEPOINT_ARGS \
-)
-
-#define TypeTransparencyCalculation_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,Type,\
- const char* ,Module,\
- const unsigned int ,AppDomainID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- TypeTransparencyCalculation,
- TypeTransparencyCalculation_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(Type,Type)
- ctf_string(Module,Module)
- ctf_integer(unsigned int,AppDomainID,AppDomainID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define TypeTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- TypeTransparencyCalculation ,\
- name ,\
- TypeTransparencyCalculation_TRACEPOINT_ARGS \
-)
-
-#define MethodTransparencyCalculation_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,Method,\
- const char* ,Module,\
- const unsigned int ,AppDomainID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- MethodTransparencyCalculation,
- MethodTransparencyCalculation_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(Method,Method)
- ctf_string(Module,Module)
- ctf_integer(unsigned int,AppDomainID,AppDomainID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- MethodTransparencyCalculation ,\
- name ,\
- MethodTransparencyCalculation_TRACEPOINT_ARGS \
-)
-
-#define FieldTransparencyCalculation_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,Field,\
- const char* ,Module,\
- const unsigned int ,AppDomainID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- FieldTransparencyCalculation,
- FieldTransparencyCalculation_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(Field,Field)
- ctf_string(Module,Module)
- ctf_integer(unsigned int,AppDomainID,AppDomainID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define FieldTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- FieldTransparencyCalculation ,\
- name ,\
- FieldTransparencyCalculation_TRACEPOINT_ARGS \
-)
-
-#define TokenTransparencyCalculation_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Token,\
- const char* ,Module,\
- const unsigned int ,AppDomainID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- TokenTransparencyCalculation,
- TokenTransparencyCalculation_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Token,Token)
- ctf_string(Module,Module)
- ctf_integer(unsigned int,AppDomainID,AppDomainID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define TokenTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- TokenTransparencyCalculation ,\
- name ,\
- TokenTransparencyCalculation_TRACEPOINT_ARGS \
-)
-
-#define ModuleTransparencyCalculationResult_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,Module,\
- const unsigned int ,AppDomainID,\
- const BOOL ,IsAllCritical,\
- const BOOL ,IsAllTransparent,\
- const BOOL ,IsTreatAsSafe,\
- const BOOL ,IsOpportunisticallyCritical,\
- const unsigned int ,SecurityRuleSet,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- ModuleTransparencyCalculationResult,
- ModuleTransparencyCalculationResult_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(Module,Module)
- ctf_integer(unsigned int,AppDomainID,AppDomainID)
- ctf_integer(BOOL,IsAllCritical,IsAllCritical)
- ctf_integer(BOOL,IsAllTransparent,IsAllTransparent)
- ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe)
- ctf_integer(BOOL,IsOpportunisticallyCritical,IsOpportunisticallyCritical)
- ctf_integer(unsigned int,SecurityRuleSet,SecurityRuleSet)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ModuleTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- ModuleTransparencyCalculationResult ,\
- name ,\
- ModuleTransparencyCalculationResult_TRACEPOINT_ARGS \
-)
-
-#define TypeTransparencyCalculationResult_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,Type,\
- const char* ,Module,\
- const unsigned int ,AppDomainID,\
- const BOOL ,IsAllCritical,\
- const BOOL ,IsAllTransparent,\
- const BOOL ,IsCritical,\
- const BOOL ,IsTreatAsSafe,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- TypeTransparencyCalculationResult,
- TypeTransparencyCalculationResult_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(Type,Type)
- ctf_string(Module,Module)
- ctf_integer(unsigned int,AppDomainID,AppDomainID)
- ctf_integer(BOOL,IsAllCritical,IsAllCritical)
- ctf_integer(BOOL,IsAllTransparent,IsAllTransparent)
- ctf_integer(BOOL,IsCritical,IsCritical)
- ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define TypeTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- TypeTransparencyCalculationResult ,\
- name ,\
- TypeTransparencyCalculationResult_TRACEPOINT_ARGS \
-)
-
-#define MethodTransparencyCalculationResult_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,Method,\
- const char* ,Module,\
- const unsigned int ,AppDomainID,\
- const BOOL ,IsCritical,\
- const BOOL ,IsTreatAsSafe,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- MethodTransparencyCalculationResult,
- MethodTransparencyCalculationResult_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(Method,Method)
- ctf_string(Module,Module)
- ctf_integer(unsigned int,AppDomainID,AppDomainID)
- ctf_integer(BOOL,IsCritical,IsCritical)
- ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- MethodTransparencyCalculationResult ,\
- name ,\
- MethodTransparencyCalculationResult_TRACEPOINT_ARGS \
-)
-
-#define FieldTransparencyCalculationResult_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,Field,\
- const char* ,Module,\
- const unsigned int ,AppDomainID,\
- const BOOL ,IsCritical,\
- const BOOL ,IsTreatAsSafe,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- FieldTransparencyCalculationResult,
- FieldTransparencyCalculationResult_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(Field,Field)
- ctf_string(Module,Module)
- ctf_integer(unsigned int,AppDomainID,AppDomainID)
- ctf_integer(BOOL,IsCritical,IsCritical)
- ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define FieldTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- FieldTransparencyCalculationResult ,\
- name ,\
- FieldTransparencyCalculationResult_TRACEPOINT_ARGS \
-)
-
-#define TokenTransparencyCalculationResult_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Token,\
- const char* ,Module,\
- const unsigned int ,AppDomainID,\
- const BOOL ,IsCritical,\
- const BOOL ,IsTreatAsSafe,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- TokenTransparencyCalculationResult,
- TokenTransparencyCalculationResult_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Token,Token)
- ctf_string(Module,Module)
- ctf_integer(unsigned int,AppDomainID,AppDomainID)
- ctf_integer(BOOL,IsCritical,IsCritical)
- ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define TokenTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- TokenTransparencyCalculationResult ,\
- name ,\
- TokenTransparencyCalculationResult_TRACEPOINT_ARGS \
-)
-
-#define FailFast_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,FailFastUserMessage,\
- const size_t ,FailedEIP,\
- const unsigned int ,OSExitCode,\
- const unsigned int ,ClrExitCode,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- FailFast,
- FailFast_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(FailFastUserMessage,FailFastUserMessage)
- ctf_integer(size_t,FailedEIP,FailedEIP)
- ctf_integer(unsigned int,OSExitCode,OSExitCode)
- ctf_integer(unsigned int,ClrExitCode,ClrExitCode)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define FailFastT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- FailFast ,\
- name ,\
- FailFast_TRACEPOINT_ARGS \
-)
-
-#define PrvFinalizeObject_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,TypeID,\
- const size_t ,ObjectID,\
- const unsigned short ,ClrInstanceID,\
- const char* ,TypeName\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- PrvFinalizeObject,
- PrvFinalizeObject_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,TypeID,TypeID)
- ctf_integer(size_t,ObjectID,ObjectID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_string(TypeName,TypeName)
- )
-)
-#define PrvFinalizeObjectT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- PrvFinalizeObject ,\
- name ,\
- PrvFinalizeObject_TRACEPOINT_ARGS \
-)
-
-#define CCWRefCountChange_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,HandleID,\
- const size_t ,ObjectID,\
- const size_t ,COMInterfacePointer,\
- const unsigned int ,NewRefCount,\
- const unsigned __int64 ,AppDomainID,\
- const char* ,ClassName,\
- const char* ,NameSpace,\
- const char* ,Operation,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- CCWRefCountChange,
- CCWRefCountChange_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,HandleID,HandleID)
- ctf_integer(size_t,ObjectID,ObjectID)
- ctf_integer(size_t,COMInterfacePointer,COMInterfacePointer)
- ctf_integer(unsigned int,NewRefCount,NewRefCount)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_string(ClassName,ClassName)
- ctf_string(NameSpace,NameSpace)
- ctf_string(Operation,Operation)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define CCWRefCountChangeT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- CCWRefCountChange ,\
- name ,\
- CCWRefCountChange_TRACEPOINT_ARGS \
-)
-
-#define PinPlugAtGCTime_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,PlugStart,\
- const size_t ,PlugEnd,\
- const size_t ,GapBeforeSize,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- PinPlugAtGCTime,
- PinPlugAtGCTime_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,PlugStart,PlugStart)
- ctf_integer(size_t,PlugEnd,PlugEnd)
- ctf_integer(size_t,GapBeforeSize,GapBeforeSize)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define PinPlugAtGCTimeT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- PinPlugAtGCTime ,\
- name ,\
- PinPlugAtGCTime_TRACEPOINT_ARGS \
-)
-
-#define PrvDestroyGCHandle_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,HandleID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- PrvDestroyGCHandle,
- PrvDestroyGCHandle_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,HandleID,HandleID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define PrvDestroyGCHandleT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- PrvDestroyGCHandle ,\
- name ,\
- PrvDestroyGCHandle_TRACEPOINT_ARGS \
-)
-
-#define PrvSetGCHandle_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,HandleID,\
- const size_t ,ObjectID,\
- const unsigned int ,Kind,\
- const unsigned int ,Generation,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- PrvSetGCHandle,
- PrvSetGCHandle_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,HandleID,HandleID)
- ctf_integer(size_t,ObjectID,ObjectID)
- ctf_integer(unsigned int,Kind,Kind)
- ctf_integer(unsigned int,Generation,Generation)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define PrvSetGCHandleT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- PrvSetGCHandle ,\
- name ,\
- PrvSetGCHandle_TRACEPOINT_ARGS \
-)
-
-#define LoaderHeapPrivate_TRACEPOINT_ARGS \
-TP_ARGS(\
- const size_t ,LoaderHeapPtr,\
- const size_t ,MemoryAddress,\
- const unsigned int ,RequestSize,\
- const unsigned int ,Unused1,\
- const unsigned __int64 ,Unused2,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- LoaderHeapPrivate,
- LoaderHeapPrivate_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(size_t,LoaderHeapPtr,LoaderHeapPtr)
- ctf_integer(size_t,MemoryAddress,MemoryAddress)
- ctf_integer(unsigned int,RequestSize,RequestSize)
- ctf_integer(unsigned int,Unused1,Unused1)
- ctf_integer(unsigned __int64,Unused2,Unused2)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define LoaderHeapPrivateT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- LoaderHeapPrivate ,\
- name ,\
- LoaderHeapPrivate_TRACEPOINT_ARGS \
-)
-
-#define ModuleRangePrivate_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned int ,RangeBegin,\
- const unsigned int ,RangeSize,\
- const unsigned char ,RangeType,\
- const unsigned char ,IBCType,\
- const unsigned short ,SectionType\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- ModuleRangePrivate,
- ModuleRangePrivate_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned int,RangeBegin,RangeBegin)
- ctf_integer(unsigned int,RangeSize,RangeSize)
- ctf_integer(unsigned char,RangeType,RangeType)
- ctf_integer(unsigned char,IBCType,IBCType)
- ctf_integer(unsigned short,SectionType,SectionType)
- )
-)
-#define ModuleRangePrivateT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- ModuleRangePrivate ,\
- name ,\
- ModuleRangePrivate_TRACEPOINT_ARGS \
-)
-
-#define MulticoreJitPrivate_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const char* ,String1,\
- const char* ,String2,\
- const signed int ,Int1,\
- const signed int ,Int2,\
- const signed int ,Int3\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- MulticoreJitPrivate,
- MulticoreJitPrivate_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_string(String1,String1)
- ctf_string(String2,String2)
- ctf_integer(signed int,Int1,Int1)
- ctf_integer(signed int,Int2,Int2)
- ctf_integer(signed int,Int3,Int3)
- )
-)
-#define MulticoreJitPrivateT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- MulticoreJitPrivate ,\
- name ,\
- MulticoreJitPrivate_TRACEPOINT_ARGS \
-)
-
-#define MulticoreJitMethodCodeReturnedPrivate_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- MulticoreJitMethodCodeReturnedPrivate,
- MulticoreJitMethodCodeReturnedPrivate_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodID,MethodID)
- )
-)
-#define MulticoreJitMethodCodeReturnedPrivateT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- MulticoreJitMethodCodeReturnedPrivate ,\
- name ,\
- MulticoreJitMethodCodeReturnedPrivate_TRACEPOINT_ARGS \
-)
-
-#define DynamicTypeUsePrivate_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,TypeName,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- DynamicTypeUsePrivate,
- DynamicTypeUsePrivate_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(TypeName,TypeName)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define DynamicTypeUsePrivateT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- DynamicTypeUsePrivate ,\
- name ,\
- DynamicTypeUsePrivate_TRACEPOINT_ARGS \
-)
-
-#define DynamicTypeUseTwoParametersPrivate_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,TypeName,\
- const char* ,SecondTypeName,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- DynamicTypeUseTwoParametersPrivate,
- DynamicTypeUseTwoParametersPrivate_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(TypeName,TypeName)
- ctf_string(SecondTypeName,SecondTypeName)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- DynamicTypeUseTwoParametersPrivate ,\
- name ,\
- DynamicTypeUseTwoParametersPrivate_TRACEPOINT_ARGS \
-)
-
-#define DynamicTypeUsePrivateVariance_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,TypeName,\
- const char* ,InterfaceTypeName,\
- const char* ,VariantInterfaceTypeName,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- DynamicTypeUsePrivateVariance,
- DynamicTypeUsePrivateVariance_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(TypeName,TypeName)
- ctf_string(InterfaceTypeName,InterfaceTypeName)
- ctf_string(VariantInterfaceTypeName,VariantInterfaceTypeName)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define DynamicTypeUsePrivateVarianceT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- DynamicTypeUsePrivateVariance ,\
- name ,\
- DynamicTypeUsePrivateVariance_TRACEPOINT_ARGS \
-)
-
-#define DynamicTypeUseStringAndIntPrivate_TRACEPOINT_ARGS \
-TP_ARGS(\
- const char* ,TypeName,\
- const signed int ,Int1,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- DynamicTypeUseStringAndIntPrivate,
- DynamicTypeUseStringAndIntPrivate_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_string(TypeName,TypeName)
- ctf_integer(signed int,Int1,Int1)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define DynamicTypeUseStringAndIntPrivateT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- DynamicTypeUseStringAndIntPrivate ,\
- name ,\
- DynamicTypeUseStringAndIntPrivate_TRACEPOINT_ARGS \
-)
-
-#define DynamicTypeUseNoParametersPrivate_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- DynamicTypeUseNoParametersPrivate,
- DynamicTypeUseNoParametersPrivate_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define DynamicTypeUseNoParametersPrivateT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- DynamicTypeUseNoParametersPrivate ,\
- name ,\
- DynamicTypeUseNoParametersPrivate_TRACEPOINT_ARGS \
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimePrivate,
- emptyTemplate ,
- TP_ARGS(),
- TP_FIELDS()
-)
-#define T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimePrivate,\
- emptyTemplate,\
- name ,\
- TP_ARGS()\
-)
-GCDecisionT_TRACEPOINT_INSTANCE(GCDecision)
-GCDecision_V1T_TRACEPOINT_INSTANCE(GCDecision_V1)
-GCSettingsT_TRACEPOINT_INSTANCE(GCSettings)
-GCSettings_V1T_TRACEPOINT_INSTANCE(GCSettings_V1)
-GCOptimizedT_TRACEPOINT_INSTANCE(GCOptimized)
-GCOptimized_V1T_TRACEPOINT_INSTANCE(GCOptimized_V1)
-GCPerHeapHistoryT_TRACEPOINT_INSTANCE(GCPerHeapHistory)
-GCPerHeapHistory_V1T_TRACEPOINT_INSTANCE(GCPerHeapHistory_V1)
-GCGlobalHeapT_TRACEPOINT_INSTANCE(GCGlobalHeapHistory)
-GCGlobalHeap_V1T_TRACEPOINT_INSTANCE(GCGlobalHeapHistory_V1)
-GCJoinT_TRACEPOINT_INSTANCE(GCJoin)
-GCJoin_V1T_TRACEPOINT_INSTANCE(GCJoin_V1)
-PrvGCMarkT_TRACEPOINT_INSTANCE(PrvGCMarkStackRoots)
-PrvGCMark_V1T_TRACEPOINT_INSTANCE(PrvGCMarkStackRoots_V1)
-PrvGCMarkT_TRACEPOINT_INSTANCE(PrvGCMarkFinalizeQueueRoots)
-PrvGCMark_V1T_TRACEPOINT_INSTANCE(PrvGCMarkFinalizeQueueRoots_V1)
-PrvGCMarkT_TRACEPOINT_INSTANCE(PrvGCMarkHandles)
-PrvGCMark_V1T_TRACEPOINT_INSTANCE(PrvGCMarkHandles_V1)
-PrvGCMarkT_TRACEPOINT_INSTANCE(PrvGCMarkCards)
-PrvGCMark_V1T_TRACEPOINT_INSTANCE(PrvGCMarkCards_V1)
-GCNoUserDataT_TRACEPOINT_INSTANCE(BGCBegin)
-GCNoUserDataT_TRACEPOINT_INSTANCE(BGC1stNonConEnd)
-GCNoUserDataT_TRACEPOINT_INSTANCE(BGC1stConEnd)
-GCNoUserDataT_TRACEPOINT_INSTANCE(BGC2ndNonConBegin)
-GCNoUserDataT_TRACEPOINT_INSTANCE(BGC2ndNonConEnd)
-GCNoUserDataT_TRACEPOINT_INSTANCE(BGC2ndConBegin)
-GCNoUserDataT_TRACEPOINT_INSTANCE(BGC2ndConEnd)
-GCNoUserDataT_TRACEPOINT_INSTANCE(BGCPlanEnd)
-GCNoUserDataT_TRACEPOINT_INSTANCE(BGCSweepEnd)
-BGCDrainMarkT_TRACEPOINT_INSTANCE(BGCDrainMark)
-BGCRevisitT_TRACEPOINT_INSTANCE(BGCRevisit)
-BGCOverflowT_TRACEPOINT_INSTANCE(BGCOverflow)
-BGCAllocWaitT_TRACEPOINT_INSTANCE(BGCAllocWaitBegin)
-BGCAllocWaitT_TRACEPOINT_INSTANCE(BGCAllocWaitEnd)
-GCFullNotifyT_TRACEPOINT_INSTANCE(GCFullNotify)
-GCFullNotify_V1T_TRACEPOINT_INSTANCE(GCFullNotify_V1)
-StartupT_TRACEPOINT_INSTANCE(EEStartupStart)
-Startup_V1T_TRACEPOINT_INSTANCE(EEStartupStart_V1)
-StartupT_TRACEPOINT_INSTANCE(EEStartupEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(EEStartupEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(EEConfigSetup)
-Startup_V1T_TRACEPOINT_INSTANCE(EEConfigSetup_V1)
-StartupT_TRACEPOINT_INSTANCE(EEConfigSetupEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(EEConfigSetupEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(LdSysBases)
-Startup_V1T_TRACEPOINT_INSTANCE(LdSysBases_V1)
-StartupT_TRACEPOINT_INSTANCE(LdSysBasesEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(LdSysBasesEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(ExecExe)
-Startup_V1T_TRACEPOINT_INSTANCE(ExecExe_V1)
-StartupT_TRACEPOINT_INSTANCE(ExecExeEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(ExecExeEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(Main)
-Startup_V1T_TRACEPOINT_INSTANCE(Main_V1)
-StartupT_TRACEPOINT_INSTANCE(MainEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(MainEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(ApplyPolicyStart)
-Startup_V1T_TRACEPOINT_INSTANCE(ApplyPolicyStart_V1)
-StartupT_TRACEPOINT_INSTANCE(ApplyPolicyEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(ApplyPolicyEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(LdLibShFolder)
-Startup_V1T_TRACEPOINT_INSTANCE(LdLibShFolder_V1)
-StartupT_TRACEPOINT_INSTANCE(LdLibShFolderEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(LdLibShFolderEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(PrestubWorker)
-Startup_V1T_TRACEPOINT_INSTANCE(PrestubWorker_V1)
-StartupT_TRACEPOINT_INSTANCE(PrestubWorkerEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(PrestubWorkerEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(GetInstallationStart)
-Startup_V1T_TRACEPOINT_INSTANCE(GetInstallationStart_V1)
-StartupT_TRACEPOINT_INSTANCE(GetInstallationEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(GetInstallationEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(OpenHModule)
-Startup_V1T_TRACEPOINT_INSTANCE(OpenHModule_V1)
-StartupT_TRACEPOINT_INSTANCE(OpenHModuleEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(OpenHModuleEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(ExplicitBindStart)
-Startup_V1T_TRACEPOINT_INSTANCE(ExplicitBindStart_V1)
-StartupT_TRACEPOINT_INSTANCE(ExplicitBindEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(ExplicitBindEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(ParseXml)
-Startup_V1T_TRACEPOINT_INSTANCE(ParseXml_V1)
-StartupT_TRACEPOINT_INSTANCE(ParseXmlEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(ParseXmlEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(InitDefaultDomain)
-Startup_V1T_TRACEPOINT_INSTANCE(InitDefaultDomain_V1)
-StartupT_TRACEPOINT_INSTANCE(InitDefaultDomainEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(InitDefaultDomainEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(InitSecurity)
-Startup_V1T_TRACEPOINT_INSTANCE(InitSecurity_V1)
-StartupT_TRACEPOINT_INSTANCE(InitSecurityEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(InitSecurityEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(AllowBindingRedirs)
-Startup_V1T_TRACEPOINT_INSTANCE(AllowBindingRedirs_V1)
-StartupT_TRACEPOINT_INSTANCE(AllowBindingRedirsEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(AllowBindingRedirsEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(EEConfigSync)
-Startup_V1T_TRACEPOINT_INSTANCE(EEConfigSync_V1)
-StartupT_TRACEPOINT_INSTANCE(EEConfigSyncEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(EEConfigSyncEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(FusionBinding)
-Startup_V1T_TRACEPOINT_INSTANCE(FusionBinding_V1)
-StartupT_TRACEPOINT_INSTANCE(FusionBindingEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(FusionBindingEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(LoaderCatchCall)
-Startup_V1T_TRACEPOINT_INSTANCE(LoaderCatchCall_V1)
-StartupT_TRACEPOINT_INSTANCE(LoaderCatchCallEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(LoaderCatchCallEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(FusionInit)
-Startup_V1T_TRACEPOINT_INSTANCE(FusionInit_V1)
-StartupT_TRACEPOINT_INSTANCE(FusionInitEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(FusionInitEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(FusionAppCtx)
-Startup_V1T_TRACEPOINT_INSTANCE(FusionAppCtx_V1)
-StartupT_TRACEPOINT_INSTANCE(FusionAppCtxEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(FusionAppCtxEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(Fusion2EE)
-Startup_V1T_TRACEPOINT_INSTANCE(Fusion2EE_V1)
-StartupT_TRACEPOINT_INSTANCE(Fusion2EEEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(Fusion2EEEnd_V1)
-StartupT_TRACEPOINT_INSTANCE(SecurityCatchCall)
-Startup_V1T_TRACEPOINT_INSTANCE(SecurityCatchCall_V1)
-StartupT_TRACEPOINT_INSTANCE(SecurityCatchCallEnd)
-Startup_V1T_TRACEPOINT_INSTANCE(SecurityCatchCallEnd_V1)
-ClrStackWalkT_TRACEPOINT_INSTANCE(CLRStackWalkPrivate)
-ModuleRangePrivateT_TRACEPOINT_INSTANCE(ModuleRangeLoadPrivate)
-BindingT_TRACEPOINT_INSTANCE(BindingPolicyPhaseStart)
-BindingT_TRACEPOINT_INSTANCE(BindingPolicyPhaseEnd)
-BindingT_TRACEPOINT_INSTANCE(BindingNgenPhaseStart)
-BindingT_TRACEPOINT_INSTANCE(BindingNgenPhaseEnd)
-BindingT_TRACEPOINT_INSTANCE(BindingLookupAndProbingPhaseStart)
-BindingT_TRACEPOINT_INSTANCE(BindingLookupAndProbingPhaseEnd)
-BindingT_TRACEPOINT_INSTANCE(LoaderPhaseStart)
-BindingT_TRACEPOINT_INSTANCE(LoaderPhaseEnd)
-BindingT_TRACEPOINT_INSTANCE(BindingPhaseStart)
-BindingT_TRACEPOINT_INSTANCE(BindingPhaseEnd)
-BindingT_TRACEPOINT_INSTANCE(BindingDownloadPhaseStart)
-BindingT_TRACEPOINT_INSTANCE(BindingDownloadPhaseEnd)
-BindingT_TRACEPOINT_INSTANCE(LoaderAssemblyInitPhaseStart)
-BindingT_TRACEPOINT_INSTANCE(LoaderAssemblyInitPhaseEnd)
-BindingT_TRACEPOINT_INSTANCE(LoaderMappingPhaseStart)
-BindingT_TRACEPOINT_INSTANCE(LoaderMappingPhaseEnd)
-BindingT_TRACEPOINT_INSTANCE(LoaderDeliverEventsPhaseStart)
-BindingT_TRACEPOINT_INSTANCE(LoaderDeliverEventsPhaseEnd)
-EvidenceGeneratedT_TRACEPOINT_INSTANCE(EvidenceGenerated)
-ModuleTransparencyCalculationT_TRACEPOINT_INSTANCE(ModuleTransparencyComputationStart)
-ModuleTransparencyCalculationResultT_TRACEPOINT_INSTANCE(ModuleTransparencyComputationEnd)
-TypeTransparencyCalculationT_TRACEPOINT_INSTANCE(TypeTransparencyComputationStart)
-TypeTransparencyCalculationResultT_TRACEPOINT_INSTANCE(TypeTransparencyComputationEnd)
-MethodTransparencyCalculationT_TRACEPOINT_INSTANCE(MethodTransparencyComputationStart)
-MethodTransparencyCalculationResultT_TRACEPOINT_INSTANCE(MethodTransparencyComputationEnd)
-FieldTransparencyCalculationT_TRACEPOINT_INSTANCE(FieldTransparencyComputationStart)
-FieldTransparencyCalculationResultT_TRACEPOINT_INSTANCE(FieldTransparencyComputationEnd)
-TokenTransparencyCalculationT_TRACEPOINT_INSTANCE(TokenTransparencyComputationStart)
-TokenTransparencyCalculationResultT_TRACEPOINT_INSTANCE(TokenTransparencyComputationEnd)
-NgenBindEventT_TRACEPOINT_INSTANCE(NgenBindEvent)
-FailFastT_TRACEPOINT_INSTANCE(FailFast)
-PrvFinalizeObjectT_TRACEPOINT_INSTANCE(PrvFinalizeObject)
-CCWRefCountChangeT_TRACEPOINT_INSTANCE(CCWRefCountChange)
-PrvSetGCHandleT_TRACEPOINT_INSTANCE(PrvSetGCHandle)
-PrvDestroyGCHandleT_TRACEPOINT_INSTANCE(PrvDestroyGCHandle)
-FusionMessageT_TRACEPOINT_INSTANCE(FusionMessageEvent)
-FusionErrorCodeT_TRACEPOINT_INSTANCE(FusionErrorCodeEvent)
-PinPlugAtGCTimeT_TRACEPOINT_INSTANCE(PinPlugAtGCTime)
-LoaderHeapPrivateT_TRACEPOINT_INSTANCE(AllocRequest)
-MulticoreJitPrivateT_TRACEPOINT_INSTANCE(MulticoreJit)
-MulticoreJitMethodCodeReturnedPrivateT_TRACEPOINT_INSTANCE(MulticoreJitMethodCodeReturned)
-DynamicTypeUsePrivateT_TRACEPOINT_INSTANCE(IInspectableRuntimeClassName)
-DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(WinRTUnbox)
-DynamicTypeUsePrivateT_TRACEPOINT_INSTANCE(CreateRCW)
-DynamicTypeUsePrivateVarianceT_TRACEPOINT_INSTANCE(RCWVariance)
-DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(RCWIEnumerableCasting)
-DynamicTypeUsePrivateT_TRACEPOINT_INSTANCE(CreateCCW)
-DynamicTypeUsePrivateVarianceT_TRACEPOINT_INSTANCE(CCWVariance)
-DynamicTypeUseStringAndIntPrivateT_TRACEPOINT_INSTANCE(ObjectVariantMarshallingToNative)
-DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(GetTypeFromGUID)
-DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(GetTypeFromProgID)
-DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(ConvertToCallbackEtw)
-DynamicTypeUseNoParametersPrivateT_TRACEPOINT_INSTANCE(BeginCreateManagedReference)
-DynamicTypeUseNoParametersPrivateT_TRACEPOINT_INSTANCE(EndCreateManagedReference)
-DynamicTypeUseStringAndIntPrivateT_TRACEPOINT_INSTANCE(ObjectVariantMarshallingToManaged)
-#endif /* LTTNG_CORECLR_HDotNETRuntimePrivate */
-#include <lttng/tracepoint-event.h>
diff --git a/src/pal/src/eventprovider/lttng/tpdotnetruntimerundown.h b/src/pal/src/eventprovider/lttng/tpdotnetruntimerundown.h
deleted file mode 100644
index 789a90cb05..0000000000
--- a/src/pal/src/eventprovider/lttng/tpdotnetruntimerundown.h
+++ /dev/null
@@ -1,822 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-
-#include "palrt.h"
-#include "pal.h"
-
-#undef TRACEPOINT_PROVIDER
-#define TRACEPOINT_PROVIDER DotNETRuntimeRundown
-
-#undef TRACEPOINT_INCLUDE
-#define TRACEPOINT_INCLUDE "./lttng/tpdotnetruntimerundown.h"
-
-#if !defined(LTTNG_CORECLR_HDotNETRuntimeRundown) || defined(TRACEPOINT_HEADER_MULTI_READ)
-#define LTTNG_CORECLR_HDotNETRuntimeRundown
-
-#include <lttng/tracepoint.h>
-
-
-#define RuntimeInformationRundown_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned short ,Sku,\
- const unsigned short ,BclMajorVersion,\
- const unsigned short ,BclMinorVersion,\
- const unsigned short ,BclBuildNumber,\
- const unsigned short ,BclQfeNumber,\
- const unsigned short ,VMMajorVersion,\
- const unsigned short ,VMMinorVersion,\
- const unsigned short ,VMBuildNumber,\
- const unsigned short ,VMQfeNumber\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- RuntimeInformationRundown,
- RuntimeInformationRundown_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned short,Sku,Sku)
- ctf_integer(unsigned short,BclMajorVersion,BclMajorVersion)
- ctf_integer(unsigned short,BclMinorVersion,BclMinorVersion)
- ctf_integer(unsigned short,BclBuildNumber,BclBuildNumber)
- ctf_integer(unsigned short,BclQfeNumber,BclQfeNumber)
- ctf_integer(unsigned short,VMMajorVersion,VMMajorVersion)
- ctf_integer(unsigned short,VMMinorVersion,VMMinorVersion)
- ctf_integer(unsigned short,VMBuildNumber,VMBuildNumber)
- ctf_integer(unsigned short,VMQfeNumber,VMQfeNumber)
- )
-)
-#define RuntimeInformationRundownT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- RuntimeInformationRundown ,\
- name ,\
- RuntimeInformationRundown_TRACEPOINT_ARGS \
-)
-
-#define RuntimeInformationRundown_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,StartupFlags,\
- const unsigned char ,StartupMode,\
- const char* ,CommandLine,\
- const int* ,ComObjectGuid,\
- const char* ,RuntimeDllPath\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- RuntimeInformationRundown_1,
- RuntimeInformationRundown_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,StartupFlags,StartupFlags)
- ctf_integer(unsigned char,StartupMode,StartupMode)
- ctf_string(CommandLine,CommandLine)
- ctf_sequence(int, ComObjectGuid, ComObjectGuid,size_t,sizeof(GUID)/sizeof(int))
- ctf_string(RuntimeDllPath,RuntimeDllPath)
- )
-)
-#define RuntimeInformationRundown_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- RuntimeInformationRundown_1 ,\
- name ,\
- RuntimeInformationRundown_1_TRACEPOINT_ARGS \
-)
-
-#define DomainModuleLoadUnloadRundown_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,AssemblyID,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned int ,ModuleFlags,\
- const unsigned int ,Reserved1,\
- const char* ,ModuleILPath,\
- const char* ,ModuleNativePath\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- DomainModuleLoadUnloadRundown,
- DomainModuleLoadUnloadRundown_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
- ctf_integer(unsigned int,Reserved1,Reserved1)
- ctf_string(ModuleILPath,ModuleILPath)
- ctf_string(ModuleNativePath,ModuleNativePath)
- )
-)
-#define DomainModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- DomainModuleLoadUnloadRundown ,\
- name ,\
- DomainModuleLoadUnloadRundown_TRACEPOINT_ARGS \
-)
-
-#define DomainModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,AssemblyID,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned int ,ModuleFlags,\
- const unsigned int ,Reserved1,\
- const char* ,ModuleILPath,\
- const char* ,ModuleNativePath,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- DomainModuleLoadUnloadRundown_V1,
- DomainModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
- ctf_integer(unsigned int,Reserved1,Reserved1)
- ctf_string(ModuleILPath,ModuleILPath)
- ctf_string(ModuleNativePath,ModuleNativePath)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define DomainModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- DomainModuleLoadUnloadRundown_V1 ,\
- name ,\
- DomainModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS \
-)
-
-#define ModuleLoadUnloadRundown_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,AssemblyID,\
- const unsigned int ,ModuleFlags,\
- const unsigned int ,Reserved1,\
- const char* ,ModuleILPath,\
- const char* ,ModuleNativePath\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- ModuleLoadUnloadRundown,
- ModuleLoadUnloadRundown_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
- ctf_integer(unsigned int,Reserved1,Reserved1)
- ctf_string(ModuleILPath,ModuleILPath)
- ctf_string(ModuleNativePath,ModuleNativePath)
- )
-)
-#define ModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- ModuleLoadUnloadRundown ,\
- name ,\
- ModuleLoadUnloadRundown_TRACEPOINT_ARGS \
-)
-
-#define ModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,AssemblyID,\
- const unsigned int ,ModuleFlags,\
- const unsigned int ,Reserved1,\
- const char* ,ModuleILPath,\
- const char* ,ModuleNativePath,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- ModuleLoadUnloadRundown_V1,
- ModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
- ctf_integer(unsigned int,Reserved1,Reserved1)
- ctf_string(ModuleILPath,ModuleILPath)
- ctf_string(ModuleNativePath,ModuleNativePath)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- ModuleLoadUnloadRundown_V1 ,\
- name ,\
- ModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS \
-)
-
-#define ModuleLoadUnloadRundown_V2_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,AssemblyID,\
- const unsigned int ,ModuleFlags,\
- const unsigned int ,Reserved1,\
- const char* ,ModuleILPath,\
- const char* ,ModuleNativePath,\
- const unsigned short ,ClrInstanceID,\
- const int* ,ManagedPdbSignature,\
- const unsigned int ,ManagedPdbAge,\
- const char* ,ManagedPdbBuildPath\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- ModuleLoadUnloadRundown_V2,
- ModuleLoadUnloadRundown_V2_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
- ctf_integer(unsigned int,Reserved1,Reserved1)
- ctf_string(ModuleILPath,ModuleILPath)
- ctf_string(ModuleNativePath,ModuleNativePath)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_sequence(int, ManagedPdbSignature, ManagedPdbSignature,size_t,sizeof(GUID)/sizeof(int))
- ctf_integer(unsigned int,ManagedPdbAge,ManagedPdbAge)
- ctf_string(ManagedPdbBuildPath,ManagedPdbBuildPath)
- )
-)
-#define ModuleLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- ModuleLoadUnloadRundown_V2 ,\
- name ,\
- ModuleLoadUnloadRundown_V2_TRACEPOINT_ARGS \
-)
-
-#define ModuleLoadUnloadRundown_V2_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const int* ,NativePdbSignature,\
- const unsigned int ,NativePdbAge,\
- const char* ,NativePdbBuildPath\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- ModuleLoadUnloadRundown_V2_1,
- ModuleLoadUnloadRundown_V2_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_sequence(int, NativePdbSignature, NativePdbSignature,size_t,sizeof(GUID)/sizeof(int))
- ctf_integer(unsigned int,NativePdbAge,NativePdbAge)
- ctf_string(NativePdbBuildPath,NativePdbBuildPath)
- )
-)
-#define ModuleLoadUnloadRundown_V2_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- ModuleLoadUnloadRundown_V2_1 ,\
- name ,\
- ModuleLoadUnloadRundown_V2_1_TRACEPOINT_ARGS \
-)
-
-#define AssemblyLoadUnloadRundown_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,AssemblyID,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned int ,AssemblyFlags,\
- const char* ,FullyQualifiedAssemblyName\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- AssemblyLoadUnloadRundown,
- AssemblyLoadUnloadRundown_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,AssemblyFlags,AssemblyFlags)
- ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName)
- )
-)
-#define AssemblyLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- AssemblyLoadUnloadRundown ,\
- name ,\
- AssemblyLoadUnloadRundown_TRACEPOINT_ARGS \
-)
-
-#define AssemblyLoadUnloadRundown_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,AssemblyID,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned __int64 ,BindingID,\
- const unsigned int ,AssemblyFlags,\
- const char* ,FullyQualifiedAssemblyName,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- AssemblyLoadUnloadRundown_V1,
- AssemblyLoadUnloadRundown_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned __int64,BindingID,BindingID)
- ctf_integer(unsigned int,AssemblyFlags,AssemblyFlags)
- ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define AssemblyLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- AssemblyLoadUnloadRundown_V1 ,\
- name ,\
- AssemblyLoadUnloadRundown_V1_TRACEPOINT_ARGS \
-)
-
-#define AppDomainLoadUnloadRundown_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,AppDomainID,\
- const unsigned int ,AppDomainFlags,\
- const char* ,AppDomainName\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- AppDomainLoadUnloadRundown,
- AppDomainLoadUnloadRundown_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,AppDomainFlags,AppDomainFlags)
- ctf_string(AppDomainName,AppDomainName)
- )
-)
-#define AppDomainLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- AppDomainLoadUnloadRundown ,\
- name ,\
- AppDomainLoadUnloadRundown_TRACEPOINT_ARGS \
-)
-
-#define AppDomainLoadUnloadRundown_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,AppDomainID,\
- const unsigned int ,AppDomainFlags,\
- const char* ,AppDomainName,\
- const unsigned int ,AppDomainIndex,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- AppDomainLoadUnloadRundown_V1,
- AppDomainLoadUnloadRundown_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,AppDomainFlags,AppDomainFlags)
- ctf_string(AppDomainName,AppDomainName)
- ctf_integer(unsigned int,AppDomainIndex,AppDomainIndex)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define AppDomainLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- AppDomainLoadUnloadRundown_V1 ,\
- name ,\
- AppDomainLoadUnloadRundown_V1_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnloadRundown_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodStartAddress,\
- const unsigned int ,MethodSize,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodFlags\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- MethodLoadUnloadRundown,
- MethodLoadUnloadRundown_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
- ctf_integer(unsigned int,MethodSize,MethodSize)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodFlags,MethodFlags)
- )
-)
-#define MethodLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- MethodLoadUnloadRundown ,\
- name ,\
- MethodLoadUnloadRundown_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnloadRundown_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodStartAddress,\
- const unsigned int ,MethodSize,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodFlags,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- MethodLoadUnloadRundown_V1,
- MethodLoadUnloadRundown_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
- ctf_integer(unsigned int,MethodSize,MethodSize)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodFlags,MethodFlags)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- MethodLoadUnloadRundown_V1 ,\
- name ,\
- MethodLoadUnloadRundown_V1_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnloadRundown_V2_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodStartAddress,\
- const unsigned int ,MethodSize,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodFlags,\
- const unsigned short ,ClrInstanceID,\
- const unsigned __int64 ,ReJITID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- MethodLoadUnloadRundown_V2,
- MethodLoadUnloadRundown_V2_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
- ctf_integer(unsigned int,MethodSize,MethodSize)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodFlags,MethodFlags)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned __int64,ReJITID,ReJITID)
- )
-)
-#define MethodLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- MethodLoadUnloadRundown_V2 ,\
- name ,\
- MethodLoadUnloadRundown_V2_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnloadRundownVerbose_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodStartAddress,\
- const unsigned int ,MethodSize,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodFlags,\
- const char* ,MethodNamespace,\
- const char* ,MethodName,\
- const char* ,MethodSignature\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- MethodLoadUnloadRundownVerbose,
- MethodLoadUnloadRundownVerbose_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
- ctf_integer(unsigned int,MethodSize,MethodSize)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodFlags,MethodFlags)
- ctf_string(MethodNamespace,MethodNamespace)
- ctf_string(MethodName,MethodName)
- ctf_string(MethodSignature,MethodSignature)
- )
-)
-#define MethodLoadUnloadRundownVerboseT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- MethodLoadUnloadRundownVerbose ,\
- name ,\
- MethodLoadUnloadRundownVerbose_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnloadRundownVerbose_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodStartAddress,\
- const unsigned int ,MethodSize,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodFlags,\
- const char* ,MethodNamespace,\
- const char* ,MethodName,\
- const char* ,MethodSignature,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- MethodLoadUnloadRundownVerbose_V1,
- MethodLoadUnloadRundownVerbose_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
- ctf_integer(unsigned int,MethodSize,MethodSize)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodFlags,MethodFlags)
- ctf_string(MethodNamespace,MethodNamespace)
- ctf_string(MethodName,MethodName)
- ctf_string(MethodSignature,MethodSignature)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodLoadUnloadRundownVerbose_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- MethodLoadUnloadRundownVerbose_V1 ,\
- name ,\
- MethodLoadUnloadRundownVerbose_V1_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnloadRundownVerbose_V2_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned __int64 ,MethodStartAddress,\
- const unsigned int ,MethodSize,\
- const unsigned int ,MethodToken,\
- const unsigned int ,MethodFlags,\
- const char* ,MethodNamespace,\
- const char* ,MethodName,\
- const char* ,MethodSignature,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- MethodLoadUnloadRundownVerbose_V2,
- MethodLoadUnloadRundownVerbose_V2_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
- ctf_integer(unsigned int,MethodSize,MethodSize)
- ctf_integer(unsigned int,MethodToken,MethodToken)
- ctf_integer(unsigned int,MethodFlags,MethodFlags)
- ctf_string(MethodNamespace,MethodNamespace)
- ctf_string(MethodName,MethodName)
- ctf_string(MethodSignature,MethodSignature)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodLoadUnloadRundownVerbose_V2T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- MethodLoadUnloadRundownVerbose_V2 ,\
- name ,\
- MethodLoadUnloadRundownVerbose_V2_TRACEPOINT_ARGS \
-)
-
-#define MethodLoadUnloadRundownVerbose_V2_1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ReJITID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- MethodLoadUnloadRundownVerbose_V2_1,
- MethodLoadUnloadRundownVerbose_V2_1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ReJITID,ReJITID)
- )
-)
-#define MethodLoadUnloadRundownVerbose_V2_1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- MethodLoadUnloadRundownVerbose_V2_1 ,\
- name ,\
- MethodLoadUnloadRundownVerbose_V2_1_TRACEPOINT_ARGS \
-)
-
-#define MethodILToNativeMapRundown_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,MethodID,\
- const unsigned __int64 ,ReJITID,\
- const unsigned char ,MethodExtent,\
- const unsigned short ,CountOfMapEntries,\
- const unsigned int* ,ILOffsets,\
- const unsigned int* ,NativeOffsets,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- MethodILToNativeMapRundown,
- MethodILToNativeMapRundown_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,MethodID,MethodID)
- ctf_integer(unsigned __int64,ReJITID,ReJITID)
- ctf_integer(unsigned char,MethodExtent,MethodExtent)
- ctf_integer(unsigned short,CountOfMapEntries,CountOfMapEntries)
- ctf_sequence(unsigned int, ILOffsets, ILOffsets,size_t,CountOfMapEntries)
- ctf_sequence(unsigned int, NativeOffsets, NativeOffsets,size_t,CountOfMapEntries)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define MethodILToNativeMapRundownT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- MethodILToNativeMapRundown ,\
- name ,\
- MethodILToNativeMapRundown_TRACEPOINT_ARGS \
-)
-
-#define DCStartEnd_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- DCStartEnd,
- DCStartEnd_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define DCStartEndT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- DCStartEnd ,\
- name ,\
- DCStartEnd_TRACEPOINT_ARGS \
-)
-
-#define ClrStackWalk_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned char ,Reserved1,\
- const unsigned char ,Reserved2,\
- const unsigned int ,FrameCount,\
- const size_t* ,Stack\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- ClrStackWalk,
- ClrStackWalk_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned char,Reserved1,Reserved1)
- ctf_integer(unsigned char,Reserved2,Reserved2)
- ctf_integer(unsigned int,FrameCount,FrameCount)
- ctf_sequence(size_t, Stack, Stack,size_t,2)
- )
-)
-#define ClrStackWalkT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- ClrStackWalk ,\
- name ,\
- ClrStackWalk_TRACEPOINT_ARGS \
-)
-
-#define ThreadCreatedRundown_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned __int64 ,ManagedThreadID,\
- const unsigned __int64 ,AppDomainID,\
- const unsigned int ,Flags,\
- const unsigned int ,ManagedThreadIndex,\
- const unsigned int ,OSThreadID,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- ThreadCreatedRundown,
- ThreadCreatedRundown_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned __int64,ManagedThreadID,ManagedThreadID)
- ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
- ctf_integer(unsigned int,Flags,Flags)
- ctf_integer(unsigned int,ManagedThreadIndex,ManagedThreadIndex)
- ctf_integer(unsigned int,OSThreadID,OSThreadID)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define ThreadCreatedRundownT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- ThreadCreatedRundown ,\
- name ,\
- ThreadCreatedRundown_TRACEPOINT_ARGS \
-)
-
-#define ModuleRangeRundown_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned __int64 ,ModuleID,\
- const unsigned int ,RangeBegin,\
- const unsigned int ,RangeSize,\
- const unsigned char ,RangeType\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- ModuleRangeRundown,
- ModuleRangeRundown_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned __int64,ModuleID,ModuleID)
- ctf_integer(unsigned int,RangeBegin,RangeBegin)
- ctf_integer(unsigned int,RangeSize,RangeSize)
- ctf_integer(unsigned char,RangeType,RangeType)
- )
-)
-#define ModuleRangeRundownT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- ModuleRangeRundown ,\
- name ,\
- ModuleRangeRundown_TRACEPOINT_ARGS \
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeRundown,
- emptyTemplate ,
- TP_ARGS(),
- TP_FIELDS()
-)
-#define T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeRundown,\
- emptyTemplate,\
- name ,\
- TP_ARGS()\
-)
-ClrStackWalkT_TRACEPOINT_INSTANCE(CLRStackWalkDCStart)
-MethodLoadUnloadRundownT_TRACEPOINT_INSTANCE(MethodDCStart)
-MethodLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(MethodDCStart_V1)
-MethodLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(MethodDCStart_V2)
-MethodLoadUnloadRundownT_TRACEPOINT_INSTANCE(MethodDCEnd)
-MethodLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(MethodDCEnd_V1)
-MethodLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(MethodDCEnd_V2)
-MethodLoadUnloadRundownVerboseT_TRACEPOINT_INSTANCE(MethodDCStartVerbose)
-MethodLoadUnloadRundownVerbose_V1T_TRACEPOINT_INSTANCE(MethodDCStartVerbose_V1)
-MethodLoadUnloadRundownVerbose_V2T_TRACEPOINT_INSTANCE(MethodDCStartVerbose_V2)
-MethodLoadUnloadRundownVerbose_V2_1T_TRACEPOINT_INSTANCE(MethodDCStartVerbose_V2_1)
-MethodLoadUnloadRundownVerboseT_TRACEPOINT_INSTANCE(MethodDCEndVerbose)
-MethodLoadUnloadRundownVerbose_V1T_TRACEPOINT_INSTANCE(MethodDCEndVerbose_V1)
-MethodLoadUnloadRundownVerbose_V2T_TRACEPOINT_INSTANCE(MethodDCEndVerbose_V2)
-MethodLoadUnloadRundownVerbose_V2_1T_TRACEPOINT_INSTANCE(MethodDCEndVerbose_V2_1)
-T_TRACEPOINT_INSTANCE(DCStartComplete)
-DCStartEndT_TRACEPOINT_INSTANCE(DCStartComplete_V1)
-T_TRACEPOINT_INSTANCE(DCEndComplete)
-DCStartEndT_TRACEPOINT_INSTANCE(DCEndComplete_V1)
-T_TRACEPOINT_INSTANCE(DCStartInit)
-DCStartEndT_TRACEPOINT_INSTANCE(DCStartInit_V1)
-T_TRACEPOINT_INSTANCE(DCEndInit)
-DCStartEndT_TRACEPOINT_INSTANCE(DCEndInit_V1)
-MethodILToNativeMapRundownT_TRACEPOINT_INSTANCE(MethodDCStartILToNativeMap)
-MethodILToNativeMapRundownT_TRACEPOINT_INSTANCE(MethodDCEndILToNativeMap)
-DomainModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(DomainModuleDCStart)
-DomainModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(DomainModuleDCStart_V1)
-DomainModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(DomainModuleDCEnd)
-DomainModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(DomainModuleDCEnd_V1)
-ModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(ModuleDCStart)
-ModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(ModuleDCStart_V1)
-ModuleLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(ModuleDCStart_V2)
-ModuleLoadUnloadRundown_V2_1T_TRACEPOINT_INSTANCE(ModuleDCStart_V2_1)
-ModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(ModuleDCEnd)
-ModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(ModuleDCEnd_V1)
-ModuleLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(ModuleDCEnd_V2)
-ModuleLoadUnloadRundown_V2_1T_TRACEPOINT_INSTANCE(ModuleDCEnd_V2_1)
-AssemblyLoadUnloadRundownT_TRACEPOINT_INSTANCE(AssemblyDCStart)
-AssemblyLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(AssemblyDCStart_V1)
-AssemblyLoadUnloadRundownT_TRACEPOINT_INSTANCE(AssemblyDCEnd)
-AssemblyLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(AssemblyDCEnd_V1)
-AppDomainLoadUnloadRundownT_TRACEPOINT_INSTANCE(AppDomainDCStart)
-AppDomainLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(AppDomainDCStart_V1)
-AppDomainLoadUnloadRundownT_TRACEPOINT_INSTANCE(AppDomainDCEnd)
-AppDomainLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(AppDomainDCEnd_V1)
-ThreadCreatedRundownT_TRACEPOINT_INSTANCE(ThreadDC)
-ModuleRangeRundownT_TRACEPOINT_INSTANCE(ModuleRangeDCStart)
-ModuleRangeRundownT_TRACEPOINT_INSTANCE(ModuleRangeDCEnd)
-RuntimeInformationRundownT_TRACEPOINT_INSTANCE(RuntimeInformationDCStart)
-RuntimeInformationRundown_1T_TRACEPOINT_INSTANCE(RuntimeInformationDCStart_1)
-#endif /* LTTNG_CORECLR_HDotNETRuntimeRundown */
-#include <lttng/tracepoint-event.h>
diff --git a/src/pal/src/eventprovider/lttng/tpdotnetruntimestress.h b/src/pal/src/eventprovider/lttng/tpdotnetruntimestress.h
deleted file mode 100644
index ee4c697841..0000000000
--- a/src/pal/src/eventprovider/lttng/tpdotnetruntimestress.h
+++ /dev/null
@@ -1,123 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-
-#include "palrt.h"
-#include "pal.h"
-
-#undef TRACEPOINT_PROVIDER
-#define TRACEPOINT_PROVIDER DotNETRuntimeStress
-
-#undef TRACEPOINT_INCLUDE
-#define TRACEPOINT_INCLUDE "./lttng/tpdotnetruntimestress.h"
-
-#if !defined(LTTNG_CORECLR_HDotNETRuntimeStress) || defined(TRACEPOINT_HEADER_MULTI_READ)
-#define LTTNG_CORECLR_HDotNETRuntimeStress
-
-#include <lttng/tracepoint.h>
-
-
-#define StressLog_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Facility,\
- const unsigned char ,LogLevel,\
- const char* ,Message\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeStress,
- StressLog,
- StressLog_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Facility,Facility)
- ctf_integer(unsigned char,LogLevel,LogLevel)
- ctf_string(Message,Message)
- )
-)
-#define StressLogT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeStress,\
- StressLog ,\
- name ,\
- StressLog_TRACEPOINT_ARGS \
-)
-
-#define StressLog_V1_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned int ,Facility,\
- const unsigned char ,LogLevel,\
- const char* ,Message,\
- const unsigned short ,ClrInstanceID\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeStress,
- StressLog_V1,
- StressLog_V1_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned int,Facility,Facility)
- ctf_integer(unsigned char,LogLevel,LogLevel)
- ctf_string(Message,Message)
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- )
-)
-#define StressLog_V1T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeStress,\
- StressLog_V1 ,\
- name ,\
- StressLog_V1_TRACEPOINT_ARGS \
-)
-
-#define ClrStackWalk_TRACEPOINT_ARGS \
-TP_ARGS(\
- const unsigned short ,ClrInstanceID,\
- const unsigned char ,Reserved1,\
- const unsigned char ,Reserved2,\
- const unsigned int ,FrameCount,\
- const size_t* ,Stack\
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeStress,
- ClrStackWalk,
- ClrStackWalk_TRACEPOINT_ARGS,
- TP_FIELDS(
- ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
- ctf_integer(unsigned char,Reserved1,Reserved1)
- ctf_integer(unsigned char,Reserved2,Reserved2)
- ctf_integer(unsigned int,FrameCount,FrameCount)
- ctf_sequence(size_t, Stack, Stack,size_t,2)
- )
-)
-#define ClrStackWalkT_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeStress,\
- ClrStackWalk ,\
- name ,\
- ClrStackWalk_TRACEPOINT_ARGS \
-)
-TRACEPOINT_EVENT_CLASS(
- DotNETRuntimeStress,
- emptyTemplate ,
- TP_ARGS(),
- TP_FIELDS()
-)
-#define T_TRACEPOINT_INSTANCE(name) \
-TRACEPOINT_EVENT_INSTANCE(\
- DotNETRuntimeStress,\
- emptyTemplate,\
- name ,\
- TP_ARGS()\
-)
-StressLogT_TRACEPOINT_INSTANCE(StressLogEvent)
-StressLog_V1T_TRACEPOINT_INSTANCE(StressLogEvent_V1)
-ClrStackWalkT_TRACEPOINT_INSTANCE(CLRStackWalkStress)
-#endif /* LTTNG_CORECLR_HDotNETRuntimeStress */
-#include <lttng/tracepoint-event.h>
diff --git a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntime.cpp b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntime.cpp
deleted file mode 100644
index 317932263d..0000000000
--- a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntime.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-
-#define TRACEPOINT_CREATE_PROBES
-#include "./lttng/tpdotnetruntime.h"
diff --git a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimeprivate.cpp b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimeprivate.cpp
deleted file mode 100644
index 3a81cdc724..0000000000
--- a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimeprivate.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-
-#define TRACEPOINT_CREATE_PROBES
-#include "./lttng/tpdotnetruntimeprivate.h"
diff --git a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimerundown.cpp b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimerundown.cpp
deleted file mode 100644
index 398baee307..0000000000
--- a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimerundown.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-
-#define TRACEPOINT_CREATE_PROBES
-#include "./lttng/tpdotnetruntimerundown.h"
diff --git a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimestress.cpp b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimestress.cpp
deleted file mode 100644
index 6ecb6110c4..0000000000
--- a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimestress.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
-
-******************************************************************/
-
-
-#define TRACEPOINT_CREATE_PROBES
-#include "./lttng/tpdotnetruntimestress.h"
diff --git a/src/pal/src/eventprovider/tracepointprovider/CMakeLists.txt b/src/pal/src/eventprovider/tracepointprovider/CMakeLists.txt
deleted file mode 100644
index 1876736a14..0000000000
--- a/src/pal/src/eventprovider/tracepointprovider/CMakeLists.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-cmake_minimum_required(VERSION 2.8.12.2)
-
-project(coreclrtraceptprovider)
-
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-add_definitions(-DPAL_STDCPP_COMPAT=1)
-include_directories(${COREPAL_SOURCE_DIR}/inc/rt)
-include_directories(${COREPAL_SOURCE_DIR}/src/eventprovider)
-add_compile_options(-fPIC)
-
-add_library(coreclrtraceptprovider
- SHARED
- "../lttng/traceptprovdotnetruntime.cpp"
- "../lttng/traceptprovdotnetruntimeprivate.cpp"
- "../lttng/traceptprovdotnetruntimerundown.cpp"
- "../lttng/traceptprovdotnetruntimestress.cpp"
- )
-
-target_link_libraries(coreclrtraceptprovider
- -llttng-ust
- )
-
-
-# Install the static PAL library for VS
-install (TARGETS coreclrtraceptprovider DESTINATION .)
-
diff --git a/src/pal/src/exception/seh.cpp b/src/pal/src/exception/seh.cpp
index 87bc677296..7acb3dce1e 100644
--- a/src/pal/src/exception/seh.cpp
+++ b/src/pal/src/exception/seh.cpp
@@ -77,20 +77,16 @@ Return value :
BOOL
SEHInitialize (CPalThread *pthrCurrent, DWORD flags)
{
- BOOL bRet = FALSE;
-
#if !HAVE_MACH_EXCEPTIONS
if (!SEHInitializeSignals())
{
ERROR("SEHInitializeSignals failed!\n");
SEHCleanup();
- goto SEHInitializeExit;
+ return FALSE;
}
#endif
- bRet = TRUE;
-SEHInitializeExit:
- return bRet;
+ return TRUE;
}
/*++
diff --git a/src/pal/src/misc/time.cpp b/src/pal/src/misc/time.cpp
index 939c86996a..17fe037372 100644
--- a/src/pal/src/misc/time.cpp
+++ b/src/pal/src/misc/time.cpp
@@ -202,6 +202,7 @@ QueryPerformanceCounter(
PERF_ENTRY(QueryPerformanceCounter);
ENTRY("QueryPerformanceCounter()\n");
+ do
#if HAVE_CLOCK_MONOTONIC
{
struct timespec ts;
@@ -209,7 +210,7 @@ QueryPerformanceCounter(
{
ASSERT("clock_gettime(CLOCK_MONOTONIC) failed; errno is %d (%s)\n", errno, strerror(errno));
retval = FALSE;
- goto EXIT;
+ break;
}
lpPerformanceCount->QuadPart =
(LONGLONG)ts.tv_sec * (LONGLONG)tccSecondsToNanoSeconds + (LONGLONG)ts.tv_nsec;
@@ -230,7 +231,7 @@ QueryPerformanceCounter(
{
ASSERT("time_base_to_time() failed; errno is %d (%s)\n", errno, strerror(errno));
retval = FALSE;
- goto EXIT;
+ break;
}
lpPerformanceCount->QuadPart =
(LONGLONG)tb.tb_high * (LONGLONG)tccSecondsToNanoSeconds + (LONGLONG)tb.tb_low;
@@ -242,13 +243,14 @@ QueryPerformanceCounter(
{
ASSERT("gettimeofday() failed; errno is %d (%s)\n", errno, strerror(errno));
retval = FALSE;
- goto EXIT;
+ break;
}
lpPerformanceCount->QuadPart =
(LONGLONG)tv.tv_sec * (LONGLONG)tccSecondsToMicroSeconds + (LONGLONG)tv.tv_usec;
}
#endif // HAVE_CLOCK_MONOTONIC
-EXIT:
+ while (false);
+
LOGEXIT("QueryPerformanceCounter\n");
PERF_EXIT(QueryPerformanceCounter);
return retval;
diff --git a/src/pal/src/thread/context.cpp b/src/pal/src/thread/context.cpp
index ebd4383a71..dfb1c4baf1 100644
--- a/src/pal/src/thread/context.cpp
+++ b/src/pal/src/thread/context.cpp
@@ -220,7 +220,6 @@ BOOL CONTEXT_GetRegisters(DWORD processId, LPCONTEXT lpContext)
bRet = TRUE;
#if HAVE_BSD_REGS_T
-EXIT :
if (regFd != -1)
{
close(regFd);
diff --git a/src/pal/tests/palsuite/CMakeLists.txt b/src/pal/tests/palsuite/CMakeLists.txt
index 19464a3bc7..b2b162985f 100644
--- a/src/pal/tests/palsuite/CMakeLists.txt
+++ b/src/pal/tests/palsuite/CMakeLists.txt
@@ -21,5 +21,5 @@ add_subdirectory(miscellaneous)
add_subdirectory(pal_specific)
add_subdirectory(samples)
add_subdirectory(threading)
-add_subdirectory(eventprovider)
+add_subdirectory($ENV{__GeneratedIntermediatesDir}/eventprovider_tests ${CMAKE_CURRENT_BINARY_DIR}/eventprovider )
diff --git a/src/pal/tests/palsuite/eventprovider/CMakeLists.txt b/src/pal/tests/palsuite/eventprovider/CMakeLists.txt
deleted file mode 100644
index 32b59592ee..0000000000
--- a/src/pal/tests/palsuite/eventprovider/CMakeLists.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-cmake_minimum_required(VERSION 2.8.12.2)
-
-
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-
-set(SOURCES
- clralltestevents.cpp
- )
-include_directories(${COREPAL_SOURCE_DIR}/prebuilt/inc)
-include_directories(${COREPAL_SOURCE_DIR}/inc/rt)
-
-
-add_executable(eventprovidertest
- ${SOURCES}
- )
-set(EVENT_PROVIDER_DEPENDENCIES "")
-set(EVENT_PROVIDER_LINKER_OTPTIONS "")
-if(CMAKE_SYSTEM_NAME STREQUAL Linux)
-
- list(APPEND EVENT_PROVIDER_DEPENDENCIES
- eventprovider
- )
- list(APPEND EVENT_PROVIDER_LINKER_OTPTIONS
- ${EVENT_PROVIDER_DEPENDENCIES}
- )
-
-endif(CMAKE_SYSTEM_NAME STREQUAL Linux)
-
-add_dependencies(eventprovidertest ${EVENT_PROVIDER_DEPENDENCIES} coreclrpal)
-target_link_libraries(eventprovidertest
- coreclrpal
- ${EVENT_PROVIDER_LINKER_OTPTIONS}
- )
-
diff --git a/src/pal/tests/palsuite/eventprovider/clralltestevents.cpp b/src/pal/tests/palsuite/eventprovider/clralltestevents.cpp
deleted file mode 100644
index 7f4adc0f93..0000000000
--- a/src/pal/tests/palsuite/eventprovider/clralltestevents.cpp
+++ /dev/null
@@ -1,2697 +0,0 @@
-//
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-//
-
-/******************************************************************
-
-DO NOT MODIFY. AUTOGENERATED FILE.
-This file is generated using the logic from <root>/src/inc/genXplatEtw.pl
-
-******************************************************************/
-
-/*=====================================================================
-**
-** Source: clralltestevents.cpp
-**
-** Purpose: Ensure Correctness of Eventing code
-**
-**
-**===================================================================*/
-#include <palsuite.h>
-#include <clrxplatevents.h>
-
-typedef struct _Struct1 {
- ULONG Data1;
- unsigned short Data2;
- unsigned short Data3;
- unsigned char Data4[8];
-} Struct1;
-
-Struct1 var21[2] = { { 245, 13, 14, "deadbea" }, { 542, 0, 14, "deadflu" } };
-
-Struct1* var11 = var21;
-Struct1* win_Struct = var21;
-
-GUID myGuid ={ 245, 13, 14, "deadbea" };
-double win_Double =34.04;
-ULONG win_ULong = 34;
-BOOL win_Boolean = FALSE;
-unsigned __int64 win_UInt64 = 114;
-unsigned int win_UInt32 = 4;
-unsigned short win_UInt16 = 12;
-unsigned char win_UInt8 = 9;
-int win_Int32 = 12;
-BYTE* win_Binary =(BYTE*)var21 ;
-int __cdecl main(int argc, char **argv)
-{
-
- /* Initialize the PAL.
- */
-
- if(0 != PAL_Initialize(argc, argv))
- {
- return FAIL;
- }
-
- ULONG Error = ERROR_SUCCESS;
-#if defined(FEATURE_EVENT_TRACE)
- Trace("\n Starting functional eventing APIs tests \n");
-
- EventXplatEnabledGCStart();
-Error |= FireEtXplatGCStart(
-2,
-win_UInt32
-);
- EventXplatEnabledGCStart_V1();
-Error |= FireEtXplatGCStart_V1(
-2,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledGCStart_V2();
-Error |= FireEtXplatGCStart_V2(
-2,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16,
-win_UInt64
-);
- EventXplatEnabledGCEnd();
-Error |= FireEtXplatGCEnd(
-2,
-win_UInt16
-);
- EventXplatEnabledGCEnd_V1();
-Error |= FireEtXplatGCEnd_V1(
-2,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledGCRestartEEEnd();
-Error |= FireEtXplatGCRestartEEEnd(
-);
- EventXplatEnabledGCRestartEEEnd_V1();
-Error |= FireEtXplatGCRestartEEEnd_V1(
-win_UInt16
-);
- EventXplatEnabledGCHeapStats();
-Error |= FireEtXplatGCHeapStats(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledGCHeapStats_V1();
-Error |= FireEtXplatGCHeapStats_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledGCCreateSegment();
-Error |= FireEtXplatGCCreateSegment(
-win_UInt64,
-win_UInt64,
-win_UInt32
-);
- EventXplatEnabledGCCreateSegment_V1();
-Error |= FireEtXplatGCCreateSegment_V1(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledGCFreeSegment();
-Error |= FireEtXplatGCFreeSegment(
-win_UInt64
-);
- EventXplatEnabledGCFreeSegment_V1();
-Error |= FireEtXplatGCFreeSegment_V1(
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledGCRestartEEBegin();
-Error |= FireEtXplatGCRestartEEBegin(
-);
- EventXplatEnabledGCRestartEEBegin_V1();
-Error |= FireEtXplatGCRestartEEBegin_V1(
-win_UInt16
-);
- EventXplatEnabledGCSuspendEEEnd();
-Error |= FireEtXplatGCSuspendEEEnd(
-);
- EventXplatEnabledGCSuspendEEEnd_V1();
-Error |= FireEtXplatGCSuspendEEEnd_V1(
-win_UInt16
-);
- EventXplatEnabledGCSuspendEEBegin();
-Error |= FireEtXplatGCSuspendEEBegin(
-win_UInt16
-);
- EventXplatEnabledGCSuspendEEBegin_V1();
-Error |= FireEtXplatGCSuspendEEBegin_V1(
-win_UInt32,
-2,
-win_UInt16
-);
- EventXplatEnabledGCAllocationTick();
-Error |= FireEtXplatGCAllocationTick(
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledGCAllocationTick_V1();
-Error |= FireEtXplatGCAllocationTick_V1(
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledGCAllocationTick_V2();
-Error |= FireEtXplatGCAllocationTick_V2(
-win_UInt32,
-win_UInt32,
-win_UInt16,
-win_UInt64,
-(const void*)var11,
-W(" Testing UnicodeString "),
-win_UInt32
-);
- EventXplatEnabledGCAllocationTick_V3();
-Error |= FireEtXplatGCAllocationTick_V3(
-win_UInt32,
-win_UInt32,
-win_UInt16,
-win_UInt64,
-(const void*)var11,
-W(" Testing UnicodeString "),
-win_UInt32,
-(const void*)var11
-);
- EventXplatEnabledGCCreateConcurrentThread();
-Error |= FireEtXplatGCCreateConcurrentThread(
-);
- EventXplatEnabledGCCreateConcurrentThread_V1();
-Error |= FireEtXplatGCCreateConcurrentThread_V1(
-win_UInt16
-);
- EventXplatEnabledGCTerminateConcurrentThread();
-Error |= FireEtXplatGCTerminateConcurrentThread(
-);
- EventXplatEnabledGCTerminateConcurrentThread_V1();
-Error |= FireEtXplatGCTerminateConcurrentThread_V1(
-win_UInt16
-);
- EventXplatEnabledGCFinalizersEnd();
-Error |= FireEtXplatGCFinalizersEnd(
-2
-);
- EventXplatEnabledGCFinalizersEnd_V1();
-Error |= FireEtXplatGCFinalizersEnd_V1(
-2,
-win_UInt16
-);
- EventXplatEnabledGCFinalizersBegin();
-Error |= FireEtXplatGCFinalizersBegin(
-);
- EventXplatEnabledGCFinalizersBegin_V1();
-Error |= FireEtXplatGCFinalizersBegin_V1(
-win_UInt16
-);
- EventXplatEnabledBulkType();
-Error |= FireEtXplatBulkType(
-2,
-win_UInt16,
-win_ULong,
-&win_Struct
-);
- EventXplatEnabledGCBulkRootEdge();
-Error |= FireEtXplatGCBulkRootEdge(
-win_UInt32,
-2,
-win_UInt16,
-win_ULong,
-&win_Struct
-);
- EventXplatEnabledGCBulkRootConditionalWeakTableElementEdge();
-Error |= FireEtXplatGCBulkRootConditionalWeakTableElementEdge(
-win_UInt32,
-2,
-win_UInt16,
-win_ULong,
-&win_Struct
-);
- EventXplatEnabledGCBulkNode();
-Error |= FireEtXplatGCBulkNode(
-win_UInt32,
-2,
-win_UInt16,
-win_ULong,
-&win_Struct
-);
- EventXplatEnabledGCBulkEdge();
-Error |= FireEtXplatGCBulkEdge(
-win_UInt32,
-2,
-win_UInt16,
-win_ULong,
-&win_Struct
-);
- EventXplatEnabledGCSampledObjectAllocationHigh();
-Error |= FireEtXplatGCSampledObjectAllocationHigh(
-(const void*)var11,
-(const void*)var11,
-win_UInt32,
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledGCBulkSurvivingObjectRanges();
-Error |= FireEtXplatGCBulkSurvivingObjectRanges(
-win_UInt32,
-2,
-win_UInt16,
-win_ULong,
-&win_Struct
-);
- EventXplatEnabledGCBulkMovedObjectRanges();
-Error |= FireEtXplatGCBulkMovedObjectRanges(
-win_UInt32,
-2,
-win_UInt16,
-win_ULong,
-&win_Struct
-);
- EventXplatEnabledGCGenerationRange();
-Error |= FireEtXplatGCGenerationRange(
-win_UInt8,
-(const void*)var11,
-win_UInt64,
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledGCMarkStackRoots();
-Error |= FireEtXplatGCMarkStackRoots(
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledGCMarkFinalizeQueueRoots();
-Error |= FireEtXplatGCMarkFinalizeQueueRoots(
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledGCMarkHandles();
-Error |= FireEtXplatGCMarkHandles(
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledGCMarkOlderGenerationRoots();
-Error |= FireEtXplatGCMarkOlderGenerationRoots(
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledFinalizeObject();
-Error |= FireEtXplatFinalizeObject(
-(const void*)var11,
-(const void*)var11,
-win_UInt16
-);
- EventXplatEnabledSetGCHandle();
-Error |= FireEtXplatSetGCHandle(
-(const void*)var11,
-(const void*)var11,
-win_UInt32,
-win_UInt32,
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledDestroyGCHandle();
-Error |= FireEtXplatDestroyGCHandle(
-(const void*)var11,
-win_UInt16
-);
- EventXplatEnabledGCSampledObjectAllocationLow();
-Error |= FireEtXplatGCSampledObjectAllocationLow(
-(const void*)var11,
-(const void*)var11,
-win_UInt32,
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledPinObjectAtGCTime();
-Error |= FireEtXplatPinObjectAtGCTime(
-(const void*)var11,
-(const void*)var11,
-win_UInt64,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledGCTriggered();
-Error |= FireEtXplatGCTriggered(
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledGCBulkRootCCW();
-Error |= FireEtXplatGCBulkRootCCW(
-2,
-win_UInt16,
-win_ULong,
-&win_Struct
-);
- EventXplatEnabledGCBulkRCW();
-Error |= FireEtXplatGCBulkRCW(
-2,
-win_UInt16,
-win_ULong,
-&win_Struct
-);
- EventXplatEnabledGCBulkRootStaticVar();
-Error |= FireEtXplatGCBulkRootStaticVar(
-2,
-win_UInt64,
-win_UInt16,
-win_ULong,
-&win_Struct
-);
- EventXplatEnabledWorkerThreadCreate();
-Error |= FireEtXplatWorkerThreadCreate(
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledWorkerThreadTerminate();
-Error |= FireEtXplatWorkerThreadTerminate(
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledWorkerThreadRetire();
-Error |= FireEtXplatWorkerThreadRetire(
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledWorkerThreadUnretire();
-Error |= FireEtXplatWorkerThreadUnretire(
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledIOThreadCreate();
-Error |= FireEtXplatIOThreadCreate(
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledIOThreadCreate_V1();
-Error |= FireEtXplatIOThreadCreate_V1(
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledIOThreadTerminate();
-Error |= FireEtXplatIOThreadTerminate(
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledIOThreadTerminate_V1();
-Error |= FireEtXplatIOThreadTerminate_V1(
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledIOThreadRetire();
-Error |= FireEtXplatIOThreadRetire(
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledIOThreadRetire_V1();
-Error |= FireEtXplatIOThreadRetire_V1(
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledIOThreadUnretire();
-Error |= FireEtXplatIOThreadUnretire(
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledIOThreadUnretire_V1();
-Error |= FireEtXplatIOThreadUnretire_V1(
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledThreadpoolSuspensionSuspendThread();
-Error |= FireEtXplatThreadpoolSuspensionSuspendThread(
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledThreadpoolSuspensionResumeThread();
-Error |= FireEtXplatThreadpoolSuspensionResumeThread(
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledThreadPoolWorkerThreadStart();
-Error |= FireEtXplatThreadPoolWorkerThreadStart(
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledThreadPoolWorkerThreadStop();
-Error |= FireEtXplatThreadPoolWorkerThreadStop(
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledThreadPoolWorkerThreadRetirementStart();
-Error |= FireEtXplatThreadPoolWorkerThreadRetirementStart(
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledThreadPoolWorkerThreadRetirementStop();
-Error |= FireEtXplatThreadPoolWorkerThreadRetirementStop(
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledThreadPoolWorkerThreadAdjustmentSample();
-Error |= FireEtXplatThreadPoolWorkerThreadAdjustmentSample(
-win_Double,
-win_UInt16
-);
- EventXplatEnabledThreadPoolWorkerThreadAdjustmentAdjustment();
-Error |= FireEtXplatThreadPoolWorkerThreadAdjustmentAdjustment(
-win_Double,
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledThreadPoolWorkerThreadAdjustmentStats();
-Error |= FireEtXplatThreadPoolWorkerThreadAdjustmentStats(
-win_Double,
-win_Double,
-win_Double,
-win_Double,
-win_Double,
-win_Double,
-win_Double,
-win_Double,
-win_Double,
-win_UInt16,
-win_UInt16
-);
- EventXplatEnabledThreadPoolWorkerThreadWait();
-Error |= FireEtXplatThreadPoolWorkerThreadWait(
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledThreadPoolWorkingThreadCount();
-Error |= FireEtXplatThreadPoolWorkingThreadCount(
-2,
-win_UInt16
-);
- EventXplatEnabledThreadPoolEnqueue();
-Error |= FireEtXplatThreadPoolEnqueue(
-(const void*)var11,
-win_UInt16
-);
- EventXplatEnabledThreadPoolDequeue();
-Error |= FireEtXplatThreadPoolDequeue(
-(const void*)var11,
-win_UInt16
-);
- EventXplatEnabledThreadPoolIOEnqueue();
-Error |= FireEtXplatThreadPoolIOEnqueue(
-(const void*)var11,
-(const void*)var11,
-win_Boolean,
-win_UInt16
-);
- EventXplatEnabledThreadPoolIODequeue();
-Error |= FireEtXplatThreadPoolIODequeue(
-(const void*)var11,
-(const void*)var11,
-win_UInt16
-);
- EventXplatEnabledThreadPoolIOPack();
-Error |= FireEtXplatThreadPoolIOPack(
-(const void*)var11,
-(const void*)var11,
-win_UInt16
-);
- EventXplatEnabledThreadCreating();
-Error |= FireEtXplatThreadCreating(
-(const void*)var11,
-win_UInt16
-);
- EventXplatEnabledThreadRunning();
-Error |= FireEtXplatThreadRunning(
-(const void*)var11,
-win_UInt16
-);
- EventXplatEnabledExceptionThrown();
-Error |= FireEtXplatExceptionThrown(
-);
- EventXplatEnabledExceptionThrown_V1();
-Error |= FireEtXplatExceptionThrown_V1(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-(const void*)var11,
-win_UInt32,
-win_UInt16,
-win_UInt16
-);
- EventXplatEnabledExceptionCatchStart();
-Error |= FireEtXplatExceptionCatchStart(
-win_UInt64,
-win_UInt64,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledExceptionCatchStop();
-Error |= FireEtXplatExceptionCatchStop(
-);
- EventXplatEnabledExceptionFinallyStart();
-Error |= FireEtXplatExceptionFinallyStart(
-win_UInt64,
-win_UInt64,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledExceptionFinallyStop();
-Error |= FireEtXplatExceptionFinallyStop(
-);
- EventXplatEnabledExceptionFilterStart();
-Error |= FireEtXplatExceptionFilterStart(
-win_UInt64,
-win_UInt64,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledExceptionFilterStop();
-Error |= FireEtXplatExceptionFilterStop(
-);
- EventXplatEnabledExceptionThrownStop();
-Error |= FireEtXplatExceptionThrownStop(
-);
- EventXplatEnabledContention();
-Error |= FireEtXplatContention(
-);
- EventXplatEnabledContentionStart_V1();
-Error |= FireEtXplatContentionStart_V1(
-win_UInt8,
-win_UInt16
-);
- EventXplatEnabledContentionStop();
-Error |= FireEtXplatContentionStop(
-win_UInt8,
-win_UInt16
-);
- EventXplatEnabledCLRStackWalk();
-Error |= FireEtXplatCLRStackWalk(
-win_UInt16,
-win_UInt8,
-win_UInt8,
-win_UInt32,
-(const void**)&var11
-);
- EventXplatEnabledAppDomainMemAllocated();
-Error |= FireEtXplatAppDomainMemAllocated(
-win_UInt64,
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledAppDomainMemSurvived();
-Error |= FireEtXplatAppDomainMemSurvived(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledThreadCreated();
-Error |= FireEtXplatThreadCreated(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledThreadTerminated();
-Error |= FireEtXplatThreadTerminated(
-win_UInt64,
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledThreadDomainEnter();
-Error |= FireEtXplatThreadDomainEnter(
-win_UInt64,
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledILStubGenerated();
-Error |= FireEtXplatILStubGenerated(
-win_UInt16,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledILStubCacheHit();
-Error |= FireEtXplatILStubCacheHit(
-win_UInt16,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledDCStartCompleteV2();
-Error |= FireEtXplatDCStartCompleteV2(
-);
- EventXplatEnabledDCEndCompleteV2();
-Error |= FireEtXplatDCEndCompleteV2(
-);
- EventXplatEnabledMethodDCStartV2();
-Error |= FireEtXplatMethodDCStartV2(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledMethodDCEndV2();
-Error |= FireEtXplatMethodDCEndV2(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledMethodDCStartVerboseV2();
-Error |= FireEtXplatMethodDCStartVerboseV2(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledMethodDCEndVerboseV2();
-Error |= FireEtXplatMethodDCEndVerboseV2(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledMethodLoad();
-Error |= FireEtXplatMethodLoad(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledMethodLoad_V1();
-Error |= FireEtXplatMethodLoad_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledMethodLoad_V2();
-Error |= FireEtXplatMethodLoad_V2(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16,
-win_UInt64
-);
- EventXplatEnabledMethodUnload();
-Error |= FireEtXplatMethodUnload(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledMethodUnload_V1();
-Error |= FireEtXplatMethodUnload_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledMethodUnload_V2();
-Error |= FireEtXplatMethodUnload_V2(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16,
-win_UInt64
-);
- EventXplatEnabledMethodLoadVerbose();
-Error |= FireEtXplatMethodLoadVerbose(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledMethodLoadVerbose_V1();
-Error |= FireEtXplatMethodLoadVerbose_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledMethodLoadVerbose_V2();
-Error |= FireEtXplatMethodLoadVerbose_V2(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16,
-win_UInt64
-);
- EventXplatEnabledMethodUnloadVerbose();
-Error |= FireEtXplatMethodUnloadVerbose(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledMethodUnloadVerbose_V1();
-Error |= FireEtXplatMethodUnloadVerbose_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledMethodUnloadVerbose_V2();
-Error |= FireEtXplatMethodUnloadVerbose_V2(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16,
-win_UInt64
-);
- EventXplatEnabledMethodJittingStarted();
-Error |= FireEtXplatMethodJittingStarted(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledMethodJittingStarted_V1();
-Error |= FireEtXplatMethodJittingStarted_V1(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledMethodJitInliningSucceeded();
-Error |= FireEtXplatMethodJitInliningSucceeded(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledMethodJitInliningFailed();
-Error |= FireEtXplatMethodJitInliningFailed(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_Boolean,
-" Testing AniString ",
-win_UInt16
-);
- EventXplatEnabledMethodJitTailCallSucceeded();
-Error |= FireEtXplatMethodJitTailCallSucceeded(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_Boolean,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledMethodJitTailCallFailed();
-Error |= FireEtXplatMethodJitTailCallFailed(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_Boolean,
-" Testing AniString ",
-win_UInt16
-);
- EventXplatEnabledMethodILToNativeMap();
-Error |= FireEtXplatMethodILToNativeMap(
-win_UInt64,
-win_UInt64,
-win_UInt8,
-win_UInt16,
-&win_UInt32,
-&win_UInt32,
-win_UInt16
-);
- EventXplatEnabledModuleDCStartV2();
-Error |= FireEtXplatModuleDCStartV2(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledModuleDCEndV2();
-Error |= FireEtXplatModuleDCEndV2(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledDomainModuleLoad();
-Error |= FireEtXplatDomainModuleLoad(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledDomainModuleLoad_V1();
-Error |= FireEtXplatDomainModuleLoad_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledModuleLoad();
-Error |= FireEtXplatModuleLoad(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledModuleLoad_V1();
-Error |= FireEtXplatModuleLoad_V1(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledModuleLoad_V2();
-Error |= FireEtXplatModuleLoad_V2(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16,
-&myGuid,
-win_UInt32,
-W(" Testing UnicodeString "),
-&myGuid,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledModuleUnload();
-Error |= FireEtXplatModuleUnload(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledModuleUnload_V1();
-Error |= FireEtXplatModuleUnload_V1(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledModuleUnload_V2();
-Error |= FireEtXplatModuleUnload_V2(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16,
-&myGuid,
-win_UInt32,
-W(" Testing UnicodeString "),
-&myGuid,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledAssemblyLoad();
-Error |= FireEtXplatAssemblyLoad(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledAssemblyLoad_V1();
-Error |= FireEtXplatAssemblyLoad_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledAssemblyUnload();
-Error |= FireEtXplatAssemblyUnload(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledAssemblyUnload_V1();
-Error |= FireEtXplatAssemblyUnload_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledAppDomainLoad();
-Error |= FireEtXplatAppDomainLoad(
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledAppDomainLoad_V1();
-Error |= FireEtXplatAppDomainLoad_V1(
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledAppDomainUnload();
-Error |= FireEtXplatAppDomainUnload(
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledAppDomainUnload_V1();
-Error |= FireEtXplatAppDomainUnload_V1(
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledModuleRangeLoad();
-Error |= FireEtXplatModuleRangeLoad(
-win_UInt16,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt8
-);
- EventXplatEnabledStrongNameVerificationStart();
-Error |= FireEtXplatStrongNameVerificationStart(
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledStrongNameVerificationStart_V1();
-Error |= FireEtXplatStrongNameVerificationStart_V1(
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledStrongNameVerificationStop();
-Error |= FireEtXplatStrongNameVerificationStop(
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledStrongNameVerificationStop_V1();
-Error |= FireEtXplatStrongNameVerificationStop_V1(
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledAuthenticodeVerificationStart();
-Error |= FireEtXplatAuthenticodeVerificationStart(
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledAuthenticodeVerificationStart_V1();
-Error |= FireEtXplatAuthenticodeVerificationStart_V1(
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledAuthenticodeVerificationStop();
-Error |= FireEtXplatAuthenticodeVerificationStop(
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledAuthenticodeVerificationStop_V1();
-Error |= FireEtXplatAuthenticodeVerificationStop_V1(
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledRuntimeInformationStart();
-Error |= FireEtXplatRuntimeInformationStart(
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt32,
-win_UInt8,
-W(" Testing UnicodeString "),
-&myGuid,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledIncreaseMemoryPressure();
-Error |= FireEtXplatIncreaseMemoryPressure(
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledDecreaseMemoryPressure();
-Error |= FireEtXplatDecreaseMemoryPressure(
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledGCMarkWithType();
-Error |= FireEtXplatGCMarkWithType(
-win_UInt32,
-win_UInt16,
-win_UInt32,
-win_UInt64
-);
- EventXplatEnabledGCJoin_V2();
-Error |= FireEtXplatGCJoin_V2(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16,
-win_UInt32
-);
- EventXplatEnabledGCPerHeapHistory_V3();
-Error |= FireEtXplatGCPerHeapHistory_V3(
-win_UInt16,
-(const void*)var11,
-(const void*)var11,
-(const void*)var11,
-(const void*)var11,
-(const void*)var11,
-(const void*)var11,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-(const void*)var11,
-2,
-win_ULong,
-&win_Struct
-);
- EventXplatEnabledGCGlobalHeapHistory_V2();
-Error |= FireEtXplatGCGlobalHeapHistory_V2(
-win_UInt64,
-win_Int32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16,
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledDebugIPCEventStart();
-Error |= FireEtXplatDebugIPCEventStart(
-);
- EventXplatEnabledDebugIPCEventEnd();
-Error |= FireEtXplatDebugIPCEventEnd(
-);
- EventXplatEnabledDebugExceptionProcessingStart();
-Error |= FireEtXplatDebugExceptionProcessingStart(
-);
- EventXplatEnabledDebugExceptionProcessingEnd();
-Error |= FireEtXplatDebugExceptionProcessingEnd(
-);
- EventXplatEnabledCodeSymbols();
-Error |= FireEtXplatCodeSymbols(
-win_UInt64,
-win_UInt16,
-win_UInt16,
-win_UInt32,
-win_Binary,
-win_UInt16
-);
- EventXplatEnabledEventSource();
-Error |= FireEtXplatEventSource(
-win_Int32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledCLRStackWalkDCStart();
-Error |= FireEtXplatCLRStackWalkDCStart(
-win_UInt16,
-win_UInt8,
-win_UInt8,
-win_UInt32,
-(const void**)&var11
-);
- EventXplatEnabledMethodDCStart();
-Error |= FireEtXplatMethodDCStart(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledMethodDCStart_V1();
-Error |= FireEtXplatMethodDCStart_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledMethodDCStart_V2();
-Error |= FireEtXplatMethodDCStart_V2(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16,
-win_UInt64
-);
- EventXplatEnabledMethodDCEnd();
-Error |= FireEtXplatMethodDCEnd(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledMethodDCEnd_V1();
-Error |= FireEtXplatMethodDCEnd_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledMethodDCEnd_V2();
-Error |= FireEtXplatMethodDCEnd_V2(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16,
-win_UInt64
-);
- EventXplatEnabledMethodDCStartVerbose();
-Error |= FireEtXplatMethodDCStartVerbose(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledMethodDCStartVerbose_V1();
-Error |= FireEtXplatMethodDCStartVerbose_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledMethodDCStartVerbose_V2();
-Error |= FireEtXplatMethodDCStartVerbose_V2(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16,
-win_UInt64
-);
- EventXplatEnabledMethodDCEndVerbose();
-Error |= FireEtXplatMethodDCEndVerbose(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledMethodDCEndVerbose_V1();
-Error |= FireEtXplatMethodDCEndVerbose_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledMethodDCEndVerbose_V2();
-Error |= FireEtXplatMethodDCEndVerbose_V2(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16,
-win_UInt64
-);
- EventXplatEnabledDCStartComplete();
-Error |= FireEtXplatDCStartComplete(
-);
- EventXplatEnabledDCStartComplete_V1();
-Error |= FireEtXplatDCStartComplete_V1(
-win_UInt16
-);
- EventXplatEnabledDCEndComplete();
-Error |= FireEtXplatDCEndComplete(
-);
- EventXplatEnabledDCEndComplete_V1();
-Error |= FireEtXplatDCEndComplete_V1(
-win_UInt16
-);
- EventXplatEnabledDCStartInit();
-Error |= FireEtXplatDCStartInit(
-);
- EventXplatEnabledDCStartInit_V1();
-Error |= FireEtXplatDCStartInit_V1(
-win_UInt16
-);
- EventXplatEnabledDCEndInit();
-Error |= FireEtXplatDCEndInit(
-);
- EventXplatEnabledDCEndInit_V1();
-Error |= FireEtXplatDCEndInit_V1(
-win_UInt16
-);
- EventXplatEnabledMethodDCStartILToNativeMap();
-Error |= FireEtXplatMethodDCStartILToNativeMap(
-win_UInt64,
-win_UInt64,
-win_UInt8,
-win_UInt16,
-&win_UInt32,
-&win_UInt32,
-win_UInt16
-);
- EventXplatEnabledMethodDCEndILToNativeMap();
-Error |= FireEtXplatMethodDCEndILToNativeMap(
-win_UInt64,
-win_UInt64,
-win_UInt8,
-win_UInt16,
-&win_UInt32,
-&win_UInt32,
-win_UInt16
-);
- EventXplatEnabledDomainModuleDCStart();
-Error |= FireEtXplatDomainModuleDCStart(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledDomainModuleDCStart_V1();
-Error |= FireEtXplatDomainModuleDCStart_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledDomainModuleDCEnd();
-Error |= FireEtXplatDomainModuleDCEnd(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledDomainModuleDCEnd_V1();
-Error |= FireEtXplatDomainModuleDCEnd_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledModuleDCStart();
-Error |= FireEtXplatModuleDCStart(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledModuleDCStart_V1();
-Error |= FireEtXplatModuleDCStart_V1(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledModuleDCStart_V2();
-Error |= FireEtXplatModuleDCStart_V2(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16,
-&myGuid,
-win_UInt32,
-W(" Testing UnicodeString "),
-&myGuid,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledModuleDCEnd();
-Error |= FireEtXplatModuleDCEnd(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledModuleDCEnd_V1();
-Error |= FireEtXplatModuleDCEnd_V1(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledModuleDCEnd_V2();
-Error |= FireEtXplatModuleDCEnd_V2(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16,
-&myGuid,
-win_UInt32,
-W(" Testing UnicodeString "),
-&myGuid,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledAssemblyDCStart();
-Error |= FireEtXplatAssemblyDCStart(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledAssemblyDCStart_V1();
-Error |= FireEtXplatAssemblyDCStart_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledAssemblyDCEnd();
-Error |= FireEtXplatAssemblyDCEnd(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledAssemblyDCEnd_V1();
-Error |= FireEtXplatAssemblyDCEnd_V1(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledAppDomainDCStart();
-Error |= FireEtXplatAppDomainDCStart(
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledAppDomainDCStart_V1();
-Error |= FireEtXplatAppDomainDCStart_V1(
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledAppDomainDCEnd();
-Error |= FireEtXplatAppDomainDCEnd(
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledAppDomainDCEnd_V1();
-Error |= FireEtXplatAppDomainDCEnd_V1(
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledThreadDC();
-Error |= FireEtXplatThreadDC(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledModuleRangeDCStart();
-Error |= FireEtXplatModuleRangeDCStart(
-win_UInt16,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt8
-);
- EventXplatEnabledModuleRangeDCEnd();
-Error |= FireEtXplatModuleRangeDCEnd(
-win_UInt16,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt8
-);
- EventXplatEnabledRuntimeInformationDCStart();
-Error |= FireEtXplatRuntimeInformationDCStart(
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt16,
-win_UInt32,
-win_UInt8,
-W(" Testing UnicodeString "),
-&myGuid,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledStressLogEvent();
-Error |= FireEtXplatStressLogEvent(
-win_UInt32,
-win_UInt8,
-" Testing AniString "
-);
- EventXplatEnabledStressLogEvent_V1();
-Error |= FireEtXplatStressLogEvent_V1(
-win_UInt32,
-win_UInt8,
-" Testing AniString ",
-win_UInt16
-);
- EventXplatEnabledCLRStackWalkStress();
-Error |= FireEtXplatCLRStackWalkStress(
-win_UInt16,
-win_UInt8,
-win_UInt8,
-win_UInt32,
-(const void**)&var11
-);
- EventXplatEnabledGCDecision();
-Error |= FireEtXplatGCDecision(
-win_Boolean
-);
- EventXplatEnabledGCDecision_V1();
-Error |= FireEtXplatGCDecision_V1(
-win_Boolean,
-win_UInt16
-);
- EventXplatEnabledGCSettings();
-Error |= FireEtXplatGCSettings(
-win_UInt64,
-win_UInt64,
-win_Boolean
-);
- EventXplatEnabledGCSettings_V1();
-Error |= FireEtXplatGCSettings_V1(
-win_UInt64,
-win_UInt64,
-win_Boolean,
-win_UInt16
-);
- EventXplatEnabledGCOptimized();
-Error |= FireEtXplatGCOptimized(
-win_UInt64,
-win_UInt64,
-win_UInt32
-);
- EventXplatEnabledGCOptimized_V1();
-Error |= FireEtXplatGCOptimized_V1(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledGCPerHeapHistory();
-Error |= FireEtXplatGCPerHeapHistory(
-);
- EventXplatEnabledGCPerHeapHistory_V1();
-Error |= FireEtXplatGCPerHeapHistory_V1(
-win_UInt16
-);
- EventXplatEnabledGCGlobalHeapHistory();
-Error |= FireEtXplatGCGlobalHeapHistory(
-win_UInt64,
-win_Int32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledGCGlobalHeapHistory_V1();
-Error |= FireEtXplatGCGlobalHeapHistory_V1(
-win_UInt64,
-win_Int32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledGCJoin();
-Error |= FireEtXplatGCJoin(
-win_UInt32,
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledGCJoin_V1();
-Error |= FireEtXplatGCJoin_V1(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledPrvGCMarkStackRoots();
-Error |= FireEtXplatPrvGCMarkStackRoots(
-win_UInt32
-);
- EventXplatEnabledPrvGCMarkStackRoots_V1();
-Error |= FireEtXplatPrvGCMarkStackRoots_V1(
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledPrvGCMarkFinalizeQueueRoots();
-Error |= FireEtXplatPrvGCMarkFinalizeQueueRoots(
-win_UInt32
-);
- EventXplatEnabledPrvGCMarkFinalizeQueueRoots_V1();
-Error |= FireEtXplatPrvGCMarkFinalizeQueueRoots_V1(
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledPrvGCMarkHandles();
-Error |= FireEtXplatPrvGCMarkHandles(
-win_UInt32
-);
- EventXplatEnabledPrvGCMarkHandles_V1();
-Error |= FireEtXplatPrvGCMarkHandles_V1(
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledPrvGCMarkCards();
-Error |= FireEtXplatPrvGCMarkCards(
-win_UInt32
-);
- EventXplatEnabledPrvGCMarkCards_V1();
-Error |= FireEtXplatPrvGCMarkCards_V1(
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledBGCBegin();
-Error |= FireEtXplatBGCBegin(
-win_UInt16
-);
- EventXplatEnabledBGC1stNonConEnd();
-Error |= FireEtXplatBGC1stNonConEnd(
-win_UInt16
-);
- EventXplatEnabledBGC1stConEnd();
-Error |= FireEtXplatBGC1stConEnd(
-win_UInt16
-);
- EventXplatEnabledBGC2ndNonConBegin();
-Error |= FireEtXplatBGC2ndNonConBegin(
-win_UInt16
-);
- EventXplatEnabledBGC2ndNonConEnd();
-Error |= FireEtXplatBGC2ndNonConEnd(
-win_UInt16
-);
- EventXplatEnabledBGC2ndConBegin();
-Error |= FireEtXplatBGC2ndConBegin(
-win_UInt16
-);
- EventXplatEnabledBGC2ndConEnd();
-Error |= FireEtXplatBGC2ndConEnd(
-win_UInt16
-);
- EventXplatEnabledBGCPlanEnd();
-Error |= FireEtXplatBGCPlanEnd(
-win_UInt16
-);
- EventXplatEnabledBGCSweepEnd();
-Error |= FireEtXplatBGCSweepEnd(
-win_UInt16
-);
- EventXplatEnabledBGCDrainMark();
-Error |= FireEtXplatBGCDrainMark(
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledBGCRevisit();
-Error |= FireEtXplatBGCRevisit(
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledBGCOverflow();
-Error |= FireEtXplatBGCOverflow(
-win_UInt64,
-win_UInt64,
-win_UInt64,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledBGCAllocWaitBegin();
-Error |= FireEtXplatBGCAllocWaitBegin(
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledBGCAllocWaitEnd();
-Error |= FireEtXplatBGCAllocWaitEnd(
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledGCFullNotify();
-Error |= FireEtXplatGCFullNotify(
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledGCFullNotify_V1();
-Error |= FireEtXplatGCFullNotify_V1(
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledEEStartupStart();
-Error |= FireEtXplatEEStartupStart(
-);
- EventXplatEnabledEEStartupStart_V1();
-Error |= FireEtXplatEEStartupStart_V1(
-win_UInt16
-);
- EventXplatEnabledEEStartupEnd();
-Error |= FireEtXplatEEStartupEnd(
-);
- EventXplatEnabledEEStartupEnd_V1();
-Error |= FireEtXplatEEStartupEnd_V1(
-win_UInt16
-);
- EventXplatEnabledEEConfigSetup();
-Error |= FireEtXplatEEConfigSetup(
-);
- EventXplatEnabledEEConfigSetup_V1();
-Error |= FireEtXplatEEConfigSetup_V1(
-win_UInt16
-);
- EventXplatEnabledEEConfigSetupEnd();
-Error |= FireEtXplatEEConfigSetupEnd(
-);
- EventXplatEnabledEEConfigSetupEnd_V1();
-Error |= FireEtXplatEEConfigSetupEnd_V1(
-win_UInt16
-);
- EventXplatEnabledLdSysBases();
-Error |= FireEtXplatLdSysBases(
-);
- EventXplatEnabledLdSysBases_V1();
-Error |= FireEtXplatLdSysBases_V1(
-win_UInt16
-);
- EventXplatEnabledLdSysBasesEnd();
-Error |= FireEtXplatLdSysBasesEnd(
-);
- EventXplatEnabledLdSysBasesEnd_V1();
-Error |= FireEtXplatLdSysBasesEnd_V1(
-win_UInt16
-);
- EventXplatEnabledExecExe();
-Error |= FireEtXplatExecExe(
-);
- EventXplatEnabledExecExe_V1();
-Error |= FireEtXplatExecExe_V1(
-win_UInt16
-);
- EventXplatEnabledExecExeEnd();
-Error |= FireEtXplatExecExeEnd(
-);
- EventXplatEnabledExecExeEnd_V1();
-Error |= FireEtXplatExecExeEnd_V1(
-win_UInt16
-);
- EventXplatEnabledMain();
-Error |= FireEtXplatMain(
-);
- EventXplatEnabledMain_V1();
-Error |= FireEtXplatMain_V1(
-win_UInt16
-);
- EventXplatEnabledMainEnd();
-Error |= FireEtXplatMainEnd(
-);
- EventXplatEnabledMainEnd_V1();
-Error |= FireEtXplatMainEnd_V1(
-win_UInt16
-);
- EventXplatEnabledApplyPolicyStart();
-Error |= FireEtXplatApplyPolicyStart(
-);
- EventXplatEnabledApplyPolicyStart_V1();
-Error |= FireEtXplatApplyPolicyStart_V1(
-win_UInt16
-);
- EventXplatEnabledApplyPolicyEnd();
-Error |= FireEtXplatApplyPolicyEnd(
-);
- EventXplatEnabledApplyPolicyEnd_V1();
-Error |= FireEtXplatApplyPolicyEnd_V1(
-win_UInt16
-);
- EventXplatEnabledLdLibShFolder();
-Error |= FireEtXplatLdLibShFolder(
-);
- EventXplatEnabledLdLibShFolder_V1();
-Error |= FireEtXplatLdLibShFolder_V1(
-win_UInt16
-);
- EventXplatEnabledLdLibShFolderEnd();
-Error |= FireEtXplatLdLibShFolderEnd(
-);
- EventXplatEnabledLdLibShFolderEnd_V1();
-Error |= FireEtXplatLdLibShFolderEnd_V1(
-win_UInt16
-);
- EventXplatEnabledPrestubWorker();
-Error |= FireEtXplatPrestubWorker(
-);
- EventXplatEnabledPrestubWorker_V1();
-Error |= FireEtXplatPrestubWorker_V1(
-win_UInt16
-);
- EventXplatEnabledPrestubWorkerEnd();
-Error |= FireEtXplatPrestubWorkerEnd(
-);
- EventXplatEnabledPrestubWorkerEnd_V1();
-Error |= FireEtXplatPrestubWorkerEnd_V1(
-win_UInt16
-);
- EventXplatEnabledGetInstallationStart();
-Error |= FireEtXplatGetInstallationStart(
-);
- EventXplatEnabledGetInstallationStart_V1();
-Error |= FireEtXplatGetInstallationStart_V1(
-win_UInt16
-);
- EventXplatEnabledGetInstallationEnd();
-Error |= FireEtXplatGetInstallationEnd(
-);
- EventXplatEnabledGetInstallationEnd_V1();
-Error |= FireEtXplatGetInstallationEnd_V1(
-win_UInt16
-);
- EventXplatEnabledOpenHModule();
-Error |= FireEtXplatOpenHModule(
-);
- EventXplatEnabledOpenHModule_V1();
-Error |= FireEtXplatOpenHModule_V1(
-win_UInt16
-);
- EventXplatEnabledOpenHModuleEnd();
-Error |= FireEtXplatOpenHModuleEnd(
-);
- EventXplatEnabledOpenHModuleEnd_V1();
-Error |= FireEtXplatOpenHModuleEnd_V1(
-win_UInt16
-);
- EventXplatEnabledExplicitBindStart();
-Error |= FireEtXplatExplicitBindStart(
-);
- EventXplatEnabledExplicitBindStart_V1();
-Error |= FireEtXplatExplicitBindStart_V1(
-win_UInt16
-);
- EventXplatEnabledExplicitBindEnd();
-Error |= FireEtXplatExplicitBindEnd(
-);
- EventXplatEnabledExplicitBindEnd_V1();
-Error |= FireEtXplatExplicitBindEnd_V1(
-win_UInt16
-);
- EventXplatEnabledParseXml();
-Error |= FireEtXplatParseXml(
-);
- EventXplatEnabledParseXml_V1();
-Error |= FireEtXplatParseXml_V1(
-win_UInt16
-);
- EventXplatEnabledParseXmlEnd();
-Error |= FireEtXplatParseXmlEnd(
-);
- EventXplatEnabledParseXmlEnd_V1();
-Error |= FireEtXplatParseXmlEnd_V1(
-win_UInt16
-);
- EventXplatEnabledInitDefaultDomain();
-Error |= FireEtXplatInitDefaultDomain(
-);
- EventXplatEnabledInitDefaultDomain_V1();
-Error |= FireEtXplatInitDefaultDomain_V1(
-win_UInt16
-);
- EventXplatEnabledInitDefaultDomainEnd();
-Error |= FireEtXplatInitDefaultDomainEnd(
-);
- EventXplatEnabledInitDefaultDomainEnd_V1();
-Error |= FireEtXplatInitDefaultDomainEnd_V1(
-win_UInt16
-);
- EventXplatEnabledInitSecurity();
-Error |= FireEtXplatInitSecurity(
-);
- EventXplatEnabledInitSecurity_V1();
-Error |= FireEtXplatInitSecurity_V1(
-win_UInt16
-);
- EventXplatEnabledInitSecurityEnd();
-Error |= FireEtXplatInitSecurityEnd(
-);
- EventXplatEnabledInitSecurityEnd_V1();
-Error |= FireEtXplatInitSecurityEnd_V1(
-win_UInt16
-);
- EventXplatEnabledAllowBindingRedirs();
-Error |= FireEtXplatAllowBindingRedirs(
-);
- EventXplatEnabledAllowBindingRedirs_V1();
-Error |= FireEtXplatAllowBindingRedirs_V1(
-win_UInt16
-);
- EventXplatEnabledAllowBindingRedirsEnd();
-Error |= FireEtXplatAllowBindingRedirsEnd(
-);
- EventXplatEnabledAllowBindingRedirsEnd_V1();
-Error |= FireEtXplatAllowBindingRedirsEnd_V1(
-win_UInt16
-);
- EventXplatEnabledEEConfigSync();
-Error |= FireEtXplatEEConfigSync(
-);
- EventXplatEnabledEEConfigSync_V1();
-Error |= FireEtXplatEEConfigSync_V1(
-win_UInt16
-);
- EventXplatEnabledEEConfigSyncEnd();
-Error |= FireEtXplatEEConfigSyncEnd(
-);
- EventXplatEnabledEEConfigSyncEnd_V1();
-Error |= FireEtXplatEEConfigSyncEnd_V1(
-win_UInt16
-);
- EventXplatEnabledFusionBinding();
-Error |= FireEtXplatFusionBinding(
-);
- EventXplatEnabledFusionBinding_V1();
-Error |= FireEtXplatFusionBinding_V1(
-win_UInt16
-);
- EventXplatEnabledFusionBindingEnd();
-Error |= FireEtXplatFusionBindingEnd(
-);
- EventXplatEnabledFusionBindingEnd_V1();
-Error |= FireEtXplatFusionBindingEnd_V1(
-win_UInt16
-);
- EventXplatEnabledLoaderCatchCall();
-Error |= FireEtXplatLoaderCatchCall(
-);
- EventXplatEnabledLoaderCatchCall_V1();
-Error |= FireEtXplatLoaderCatchCall_V1(
-win_UInt16
-);
- EventXplatEnabledLoaderCatchCallEnd();
-Error |= FireEtXplatLoaderCatchCallEnd(
-);
- EventXplatEnabledLoaderCatchCallEnd_V1();
-Error |= FireEtXplatLoaderCatchCallEnd_V1(
-win_UInt16
-);
- EventXplatEnabledFusionInit();
-Error |= FireEtXplatFusionInit(
-);
- EventXplatEnabledFusionInit_V1();
-Error |= FireEtXplatFusionInit_V1(
-win_UInt16
-);
- EventXplatEnabledFusionInitEnd();
-Error |= FireEtXplatFusionInitEnd(
-);
- EventXplatEnabledFusionInitEnd_V1();
-Error |= FireEtXplatFusionInitEnd_V1(
-win_UInt16
-);
- EventXplatEnabledFusionAppCtx();
-Error |= FireEtXplatFusionAppCtx(
-);
- EventXplatEnabledFusionAppCtx_V1();
-Error |= FireEtXplatFusionAppCtx_V1(
-win_UInt16
-);
- EventXplatEnabledFusionAppCtxEnd();
-Error |= FireEtXplatFusionAppCtxEnd(
-);
- EventXplatEnabledFusionAppCtxEnd_V1();
-Error |= FireEtXplatFusionAppCtxEnd_V1(
-win_UInt16
-);
- EventXplatEnabledFusion2EE();
-Error |= FireEtXplatFusion2EE(
-);
- EventXplatEnabledFusion2EE_V1();
-Error |= FireEtXplatFusion2EE_V1(
-win_UInt16
-);
- EventXplatEnabledFusion2EEEnd();
-Error |= FireEtXplatFusion2EEEnd(
-);
- EventXplatEnabledFusion2EEEnd_V1();
-Error |= FireEtXplatFusion2EEEnd_V1(
-win_UInt16
-);
- EventXplatEnabledSecurityCatchCall();
-Error |= FireEtXplatSecurityCatchCall(
-);
- EventXplatEnabledSecurityCatchCall_V1();
-Error |= FireEtXplatSecurityCatchCall_V1(
-win_UInt16
-);
- EventXplatEnabledSecurityCatchCallEnd();
-Error |= FireEtXplatSecurityCatchCallEnd(
-);
- EventXplatEnabledSecurityCatchCallEnd_V1();
-Error |= FireEtXplatSecurityCatchCallEnd_V1(
-win_UInt16
-);
- EventXplatEnabledCLRStackWalkPrivate();
-Error |= FireEtXplatCLRStackWalkPrivate(
-win_UInt16,
-win_UInt8,
-win_UInt8,
-win_UInt32,
-(const void**)&var11
-);
- EventXplatEnabledModuleRangeLoadPrivate();
-Error |= FireEtXplatModuleRangeLoadPrivate(
-win_UInt16,
-win_UInt64,
-win_UInt32,
-win_UInt32,
-win_UInt8,
-win_UInt8,
-win_UInt16
-);
- EventXplatEnabledBindingPolicyPhaseStart();
-Error |= FireEtXplatBindingPolicyPhaseStart(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledBindingPolicyPhaseEnd();
-Error |= FireEtXplatBindingPolicyPhaseEnd(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledBindingNgenPhaseStart();
-Error |= FireEtXplatBindingNgenPhaseStart(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledBindingNgenPhaseEnd();
-Error |= FireEtXplatBindingNgenPhaseEnd(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledBindingLookupAndProbingPhaseStart();
-Error |= FireEtXplatBindingLookupAndProbingPhaseStart(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledBindingLookupAndProbingPhaseEnd();
-Error |= FireEtXplatBindingLookupAndProbingPhaseEnd(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledLoaderPhaseStart();
-Error |= FireEtXplatLoaderPhaseStart(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledLoaderPhaseEnd();
-Error |= FireEtXplatLoaderPhaseEnd(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledBindingPhaseStart();
-Error |= FireEtXplatBindingPhaseStart(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledBindingPhaseEnd();
-Error |= FireEtXplatBindingPhaseEnd(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledBindingDownloadPhaseStart();
-Error |= FireEtXplatBindingDownloadPhaseStart(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledBindingDownloadPhaseEnd();
-Error |= FireEtXplatBindingDownloadPhaseEnd(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledLoaderAssemblyInitPhaseStart();
-Error |= FireEtXplatLoaderAssemblyInitPhaseStart(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledLoaderAssemblyInitPhaseEnd();
-Error |= FireEtXplatLoaderAssemblyInitPhaseEnd(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledLoaderMappingPhaseStart();
-Error |= FireEtXplatLoaderMappingPhaseStart(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledLoaderMappingPhaseEnd();
-Error |= FireEtXplatLoaderMappingPhaseEnd(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledLoaderDeliverEventsPhaseStart();
-Error |= FireEtXplatLoaderDeliverEventsPhaseStart(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledLoaderDeliverEventsPhaseEnd();
-Error |= FireEtXplatLoaderDeliverEventsPhaseEnd(
-win_UInt32,
-win_UInt32,
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledEvidenceGenerated();
-Error |= FireEtXplatEvidenceGenerated(
-win_UInt32,
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledModuleTransparencyComputationStart();
-Error |= FireEtXplatModuleTransparencyComputationStart(
-W(" Testing UnicodeString "),
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledModuleTransparencyComputationEnd();
-Error |= FireEtXplatModuleTransparencyComputationEnd(
-W(" Testing UnicodeString "),
-win_UInt32,
-win_Boolean,
-win_Boolean,
-win_Boolean,
-win_Boolean,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledTypeTransparencyComputationStart();
-Error |= FireEtXplatTypeTransparencyComputationStart(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledTypeTransparencyComputationEnd();
-Error |= FireEtXplatTypeTransparencyComputationEnd(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt32,
-win_Boolean,
-win_Boolean,
-win_Boolean,
-win_Boolean,
-win_UInt16
-);
- EventXplatEnabledMethodTransparencyComputationStart();
-Error |= FireEtXplatMethodTransparencyComputationStart(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledMethodTransparencyComputationEnd();
-Error |= FireEtXplatMethodTransparencyComputationEnd(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt32,
-win_Boolean,
-win_Boolean,
-win_UInt16
-);
- EventXplatEnabledFieldTransparencyComputationStart();
-Error |= FireEtXplatFieldTransparencyComputationStart(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledFieldTransparencyComputationEnd();
-Error |= FireEtXplatFieldTransparencyComputationEnd(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt32,
-win_Boolean,
-win_Boolean,
-win_UInt16
-);
- EventXplatEnabledTokenTransparencyComputationStart();
-Error |= FireEtXplatTokenTransparencyComputationStart(
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledTokenTransparencyComputationEnd();
-Error |= FireEtXplatTokenTransparencyComputationEnd(
-win_UInt32,
-W(" Testing UnicodeString "),
-win_UInt32,
-win_Boolean,
-win_Boolean,
-win_UInt16
-);
- EventXplatEnabledNgenBindEvent();
-Error |= FireEtXplatNgenBindEvent(
-win_UInt16,
-win_UInt64,
-win_UInt32,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledFailFast();
-Error |= FireEtXplatFailFast(
-W(" Testing UnicodeString "),
-(const void*)var11,
-win_UInt32,
-win_UInt32,
-win_UInt16
-);
- EventXplatEnabledPrvFinalizeObject();
-Error |= FireEtXplatPrvFinalizeObject(
-(const void*)var11,
-(const void*)var11,
-win_UInt16,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledCCWRefCountChange();
-Error |= FireEtXplatCCWRefCountChange(
-(const void*)var11,
-(const void*)var11,
-(const void*)var11,
-win_UInt32,
-win_UInt64,
-" Testing AniString ",
-" Testing AniString ",
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledPrvSetGCHandle();
-Error |= FireEtXplatPrvSetGCHandle(
-(const void*)var11,
-(const void*)var11,
-win_UInt32,
-win_UInt32,
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledPrvDestroyGCHandle();
-Error |= FireEtXplatPrvDestroyGCHandle(
-(const void*)var11,
-win_UInt16
-);
- EventXplatEnabledFusionMessageEvent();
-Error |= FireEtXplatFusionMessageEvent(
-win_UInt16,
-win_Boolean,
-W(" Testing UnicodeString ")
-);
- EventXplatEnabledFusionErrorCodeEvent();
-Error |= FireEtXplatFusionErrorCodeEvent(
-win_UInt16,
-win_UInt32,
-win_UInt32
-);
- EventXplatEnabledPinPlugAtGCTime();
-Error |= FireEtXplatPinPlugAtGCTime(
-(const void*)var11,
-(const void*)var11,
-(const void*)var11,
-win_UInt16
-);
- EventXplatEnabledAllocRequest();
-Error |= FireEtXplatAllocRequest(
-(const void*)var11,
-(const void*)var11,
-win_UInt32,
-win_UInt32,
-win_UInt64,
-win_UInt16
-);
- EventXplatEnabledMulticoreJit();
-Error |= FireEtXplatMulticoreJit(
-win_UInt16,
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_Int32,
-win_Int32,
-win_Int32
-);
- EventXplatEnabledMulticoreJitMethodCodeReturned();
-Error |= FireEtXplatMulticoreJitMethodCodeReturned(
-win_UInt16,
-win_UInt64,
-win_UInt64
-);
- EventXplatEnabledIInspectableRuntimeClassName();
-Error |= FireEtXplatIInspectableRuntimeClassName(
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledWinRTUnbox();
-Error |= FireEtXplatWinRTUnbox(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledCreateRCW();
-Error |= FireEtXplatCreateRCW(
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledRCWVariance();
-Error |= FireEtXplatRCWVariance(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledRCWIEnumerableCasting();
-Error |= FireEtXplatRCWIEnumerableCasting(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledCreateCCW();
-Error |= FireEtXplatCreateCCW(
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledCCWVariance();
-Error |= FireEtXplatCCWVariance(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledObjectVariantMarshallingToNative();
-Error |= FireEtXplatObjectVariantMarshallingToNative(
-W(" Testing UnicodeString "),
-win_Int32,
-win_UInt16
-);
- EventXplatEnabledGetTypeFromGUID();
-Error |= FireEtXplatGetTypeFromGUID(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledGetTypeFromProgID();
-Error |= FireEtXplatGetTypeFromProgID(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledConvertToCallbackEtw();
-Error |= FireEtXplatConvertToCallbackEtw(
-W(" Testing UnicodeString "),
-W(" Testing UnicodeString "),
-win_UInt16
-);
- EventXplatEnabledBeginCreateManagedReference();
-Error |= FireEtXplatBeginCreateManagedReference(
-win_UInt16
-);
- EventXplatEnabledEndCreateManagedReference();
-Error |= FireEtXplatEndCreateManagedReference(
-win_UInt16
-);
- EventXplatEnabledObjectVariantMarshallingToManaged();
-Error |= FireEtXplatObjectVariantMarshallingToManaged(
-W(" Testing UnicodeString "),
-win_Int32,
-win_UInt16
-);
- /* Shutdown the PAL.
- */
-
- if (Error != ERROR_SUCCESS)
- {
- Fail("One or more eventing Apis failed\n ");
- return FAIL;
- }
- Trace("\n All eventing APIs were fired succesfully \n");
-#endif //defined(FEATURE_EVENT_TRACE)
- PAL_Terminate();
- return PASS;
-}
-
diff --git a/src/pal/tests/palsuite/eventprovider/testinfo.dat b/src/pal/tests/palsuite/eventprovider/testinfo.dat
deleted file mode 100644
index 6c77216121..0000000000
--- a/src/pal/tests/palsuite/eventprovider/testinfo.dat
+++ /dev/null
@@ -1,13 +0,0 @@
-#
-# Copyright (c) Microsoft Corporation. All rights reserved.
-#
-
-Version = 1.0
-Section = EventProvider
-Function = EventProvider
-Name = PAL test for FireEtW* and EventEnabled* functions
-TYPE = DEFAULT
-EXE1 = eventprovidertest
-Description
-=This is a sanity test to check that there are no crashes in PAL eventing
-
diff --git a/src/pal/tools/clang-compiler-override.txt b/src/pal/tools/clang-compiler-override.txt
index 7d99902be5..349bd07209 100644
--- a/src/pal/tools/clang-compiler-override.txt
+++ b/src/pal/tools/clang-compiler-override.txt
@@ -1,14 +1,17 @@
SET (CMAKE_C_FLAGS_INIT "-Wall -std=c11")
SET (CMAKE_C_FLAGS_DEBUG_INIT "-g -O0")
+SET (CMAKE_C_FLAGS_CHECKED_INIT "-g -O1")
SET (CMAKE_C_FLAGS_RELEASE_INIT "-O3")
SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
SET (CMAKE_CXX_FLAGS_INIT "-Wall -Wno-null-conversion -std=c++11")
SET (CMAKE_CXX_FLAGS_DEBUG_INIT "-g -O0")
+SET (CMAKE_CXX_FLAGS_CHECKED_INIT "-g -O1")
SET (CMAKE_CXX_FLAGS_RELEASE_INIT "-O3")
SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2")
-SET (CLR_DEFINES_DEBUG_INIT DEBUG _DEBUG _DBG URTBLDENV_FRIENDLY=Checked BUILDENV_CHECKED=1 WRITE_BARRIER_CHECK=1)
+SET (CLR_DEFINES_DEBUG_INIT DEBUG _DEBUG _DBG URTBLDENV_FRIENDLY=Checked BUILDENV_CHECKED=1)
+SET (CLR_DEFINES_CHECKED_INIT DEBUG _DEBUG _DBG URTBLDENV_FRIENDLY=Checked BUILDENV_CHECKED=1)
SET (CLR_DEFINES_RELEASE_INIT NDEBUG URTBLDENV_FRIENDLY=Retail)
SET (CLR_DEFINES_RELWITHDEBINFO_INIT NDEBUG URTBLDENV_FRIENDLY=Retail)
diff --git a/src/pal/tools/gen-buildsys-clang.sh b/src/pal/tools/gen-buildsys-clang.sh
index 326b01c353..ea8194fc1f 100755
--- a/src/pal/tools/gen-buildsys-clang.sh
+++ b/src/pal/tools/gen-buildsys-clang.sh
@@ -43,8 +43,8 @@ generator="Unix Makefiles"
for i in "${@:5}"; do
upperI="$(echo $i | awk '{print toupper($0)}')"
case $upperI in
- # Possible build types are DEBUG, RELEASE, RELWITHDEBINFO, MINSIZEREL.
- DEBUG | RELEASE | RELWITHDEBINFO | MINSIZEREL)
+ # Possible build types are DEBUG, CHECKED, RELEASE, RELWITHDEBINFO, MINSIZEREL.
+ DEBUG | CHECKED | RELEASE | RELWITHDEBINFO | MINSIZEREL)
buildtype=$upperI
;;
COVERAGE)
diff --git a/src/pal/tools/probe-win.ps1 b/src/pal/tools/probe-win.ps1
index 70030b14d3..303c084cc4 100644
--- a/src/pal/tools/probe-win.ps1
+++ b/src/pal/tools/probe-win.ps1
@@ -49,9 +49,24 @@ function LocateCMake
return $newestCMakePath
}
+function LocatePython
+{
+ $errorMsg = "python is a pre-requisite to build this repository but it was not found on the path. Please install Python 2.7.9 from https://www.python.org/downloads/ and ensure it is on your path."
+ $inPathPath = (get-command python.exe -ErrorAction SilentlyContinue).Path
+ if ($inPathPath -eq $null) {
+ Throw $errorMsg
+ }
+ return $inPathPath
+}
+
+
try {
$cmakePath = LocateCMake
[System.Console]::WriteLine("set CMakePath=" + $cmakePath)
+
+ $pythonPath = LocatePython
+ [System.Console]::WriteLine("set PythonPath=" + $pythonPath)
+
}
catch {
[System.Console]::Error.WriteLine($_.Exception.Message)
diff --git a/src/pal/tools/windows-compiler-override.txt b/src/pal/tools/windows-compiler-override.txt
index 071f3043e2..f76601bc49 100644
--- a/src/pal/tools/windows-compiler-override.txt
+++ b/src/pal/tools/windows-compiler-override.txt
@@ -1,16 +1,17 @@
SET (CMAKE_C_FLAGS_INIT "/Wall /FC")
SET (CMAKE_C_FLAGS_DEBUG_INIT "/Od /Zi")
+SET (CMAKE_C_FLAGS_CHECKED_INIT "/O1 /Zi")
SET (CMAKE_C_FLAGS_RELEASE_INIT "/Ox")
SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/O2 /Zi")
SET (CMAKE_CXX_FLAGS_INIT "/Wall /FC")
SET (CMAKE_CXX_FLAGS_DEBUG_INIT "/Od /Zi")
+SET (CMAKE_CXX_FLAGS_CHECKED_INIT "/O1 /Zi")
SET (CMAKE_CXX_FLAGS_RELEASE_INIT "/Ox")
SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/O2 /Zi")
-SET (CLR_DEFINES_DEBUG_INIT DEBUG _DEBUG _DBG URTBLDENV_FRIENDLY=Checked BUILDENV_CHECKED=1 WRITE_BARRIER_CHECK=1)
+SET (CLR_DEFINES_DEBUG_INIT DEBUG _DEBUG _DBG URTBLDENV_FRIENDLY=Checked BUILDENV_CHECKED=1)
+SET (CLR_DEFINES_CHECKED_INIT DEBUG _DEBUG _DBG URTBLDENV_FRIENDLY=Checked BUILDENV_CHECKED=1)
SET (CLR_DEFINES_RELEASE_INIT NDEBUG URTBLDENV_FRIENDLY=Retail)
SET (CLR_DEFINES_RELWITHDEBINFO_INIT NDEBUG URTBLDENV_FRIENDLY=Retail)
SET (CMAKE_INSTALL_PREFIX $ENV{__CMakeBinDir})
-
-
diff --git a/src/scripts/.gitmirrorall b/src/scripts/.gitmirrorall
new file mode 100644
index 0000000000..9ee5c57b99
--- /dev/null
+++ b/src/scripts/.gitmirrorall
@@ -0,0 +1 @@
+This folder will be mirrored by the Git-TFS Mirror recursively. \ No newline at end of file
diff --git a/src/scripts/Utilities.py b/src/scripts/Utilities.py
new file mode 100644
index 0000000000..0de1cafdbd
--- /dev/null
+++ b/src/scripts/Utilities.py
@@ -0,0 +1,48 @@
+from filecmp import dircmp
+import shutil
+import os
+
+def walk_recursively_and_update(dcmp):
+ #for different Files Copy from right to left
+ for name in dcmp.diff_files:
+ srcpath = dcmp.right + "/" + name
+ destpath = dcmp.left + "/" + name
+ print "Updating %s" % (destpath)
+ if os.path.isfile(srcpath):
+ shutil.copyfile(srcpath, destpath)
+ else :
+ raise Exception("path: " + srcpath + "is neither a file or folder")
+
+ #copy right only files
+ for name in dcmp.right_only:
+ srcpath = dcmp.right + "/" + name
+ destpath = dcmp.left + "/" + name
+ print "Updating %s" % (destpath)
+ if os.path.isfile(srcpath):
+ shutil.copyfile(srcpath, destpath)
+ elif os.path.isdir(srcpath):
+ shutil.copytree(srcpath, destpath)
+ else :
+ raise Exception("path: " + srcpath + "is neither a file or folder")
+
+ #delete left only files
+ for name in dcmp.left_only:
+ path = dcmp.left + "/" + name
+ print "Deleting " % (path)
+ if os.path.isfile(path):
+ os.remove(path)
+ elif os.path.isdir(path):
+ shutil.rmtree(path)
+ else :
+ raise Exception("path: " + path + "is neither a file or folder")
+
+ #call recursively
+ for sub_dcmp in dcmp.subdirs.values():
+ walk_recursively_and_update(sub_dcmp)
+
+def UpdateDirectory(destpath,srcpath):
+
+ if not os.path.exists(destpath):
+ os.makedirs(destpath)
+ dcmp = dircmp(destpath,srcpath)
+ walk_recursively_and_update(dcmp)
diff --git a/src/scripts/genWinEtw.py b/src/scripts/genWinEtw.py
new file mode 100644
index 0000000000..52bcbd4763
--- /dev/null
+++ b/src/scripts/genWinEtw.py
@@ -0,0 +1,127 @@
+
+##
+## Copyright (c) Microsoft. All rights reserved.
+## Licensed under the MIT license. See LICENSE file in the project root for full license information.
+##
+#
+
+import os
+from genXplatEventing import *
+
+stdprolog="""
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/scripts/genWinEtw.py
+
+******************************************************************/
+
+"""
+import argparse
+import sys
+import xml.dom.minidom as DOM
+
+def generateEtwMacroHeader(sClrEtwAllMan, sExcludeFile,macroHeader,inHeader):
+ tree = DOM.parse(sClrEtwAllMan)
+ numOfProviders = len(tree.getElementsByTagName('provider'))
+ nMaxEventBytesPerProvider = 64
+
+ exclusionInfo = parseExclusionList(sExcludeFile)
+ incDir = os.path.dirname(os.path.realpath(macroHeader))
+ if not os.path.exists(incDir):
+ os.makedirs(incDir)
+
+ outHeader = open(macroHeader,'w')
+ print >>outHeader, stdprolog
+
+ print >>outHeader, "#include \"" + os.path.basename(inHeader) + '"'
+ print >>outHeader, "#define NO_OF_ETW_PROVIDERS " + str(numOfProviders)
+ print >>outHeader, "#define MAX_BYTES_PER_ETW_PROVIDER " + str(nMaxEventBytesPerProvider)
+ print >>outHeader, "EXTERN_C __declspec(selectany) const BYTE etwStackSupportedEvents[NO_OF_ETW_PROVIDERS][MAX_BYTES_PER_ETW_PROVIDER] = \n{"
+
+ for providerNode in tree.getElementsByTagName('provider'):
+ stackSupportedEvents = [0]*nMaxEventBytesPerProvider
+ eventNodes = providerNode.getElementsByTagName('event')
+ eventProvider = providerNode.getAttribute('name')
+
+ for eventNode in eventNodes:
+ taskName = eventNode.getAttribute('task')
+ eventSymbol = eventNode.getAttribute('symbol')
+ eventTemplate = eventNode.getAttribute('template')
+ eventTemplate = eventNode.getAttribute('template')
+ eventValue = int(eventNode.getAttribute('value'))
+ eventIndex = eventValue/8
+ eventBitPositionInIndex = eventValue%8
+
+ eventStackBitFromNoStackList = int(getStackWalkBit(eventProvider, taskName, eventSymbol, exclusionInfo.nostack))
+ eventStackBitFromExplicitStackList = int(getStackWalkBit(eventProvider, taskName, eventSymbol, exclusionInfo.explicitstack))
+
+ # Shift those bits into position. For the explicit stack list, swap 0 and 1, so the eventValue* variables
+ # have 1 in the position iff we should issue a stack for the event.
+ eventValueUsingNoStackListByPosition = (eventStackBitFromNoStackList << eventBitPositionInIndex)
+ eventValueUsingExplicitStackListByPosition = ((1 - eventStackBitFromExplicitStackList) << eventBitPositionInIndex)
+
+ # Commit the values to the in-memory array that we'll dump into the header file
+ stackSupportedEvents[eventIndex] = stackSupportedEvents[eventIndex] | eventValueUsingNoStackListByPosition;
+ if eventStackBitFromExplicitStackList == 0:
+ stackSupportedEvents[eventIndex] = stackSupportedEvents[eventIndex] | eventValueUsingExplicitStackListByPosition
+
+ # print the bit array
+ line = []
+ line.append("\t{")
+ for elem in stackSupportedEvents:
+ line.append(str(elem))
+ line.append(", ")
+
+ del line[-1]
+ line.append("},")
+ print >>outHeader,''.join(line)
+ print >>outHeader, "};"
+
+ outHeader.close()
+
+
+def generateEtwFiles(sClrEtwAllMan, exclusionListFile, etmdummyHeader, macroHeader, inHeader):
+
+ checkConsistency(sClrEtwAllMan, exclusionListFile)
+ generateEtmDummyHeader(sClrEtwAllMan, etmdummyHeader)
+ generateEtwMacroHeader(sClrEtwAllMan, exclusionListFile, macroHeader, inHeader)
+
+def main(argv):
+
+ #parse the command line
+ parser = argparse.ArgumentParser(description="Generates the Code required to instrument LTTtng logging mechanism")
+
+ required = parser.add_argument_group('required arguments')
+ required.add_argument('--man', type=str, required=True,
+ help='full path to manifest containig the description of events')
+ required.add_argument('--exc', type=str, required=True,
+ help='full path to exclusion list')
+ required.add_argument('--eventheader', type=str, required=True,
+ help='full path to the header file')
+ required.add_argument('--macroheader', type=str, required=True,
+ help='full path to the macro header file')
+ required.add_argument('--dummy', type=str, required=True,
+ help='full path to file that will have dummy definitions of FireEtw functions')
+
+ args, unknown = parser.parse_known_args(argv)
+ if unknown:
+ print('Unknown argument(s): ', ', '.join(unknown))
+ return const.UnknownArguments
+
+ sClrEtwAllMan = args.man
+ exclusionListFile = args.exc
+ inHeader = args.eventheader
+ macroHeader = args.macroheader
+ etmdummyHeader = args.dummy
+
+ generateEtwFiles(sClrEtwAllMan, exclusionListFile, etmdummyHeader, macroHeader, inHeader)
+
+if __name__ == '__main__':
+ return_code = main(sys.argv[1:])
+ sys.exit(return_code)
diff --git a/src/scripts/genXplatEventing.py b/src/scripts/genXplatEventing.py
new file mode 100644
index 0000000000..0f4033e18f
--- /dev/null
+++ b/src/scripts/genXplatEventing.py
@@ -0,0 +1,807 @@
+##
+## Copyright (c) Microsoft. All rights reserved.
+## Licensed under the MIT license. See LICENSE file in the project root for full license information.
+##
+#
+#USAGE:
+#Add Events: modify <root>src/vm/ClrEtwAll.man
+#Look at the Code in <root>/src/inc/genXplatLttng.py for using subroutines in this file
+#
+
+import os
+import xml.dom.minidom as DOM
+from sets import Set
+
+stdprolog="""
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/scripts/genXplatEventing.py
+
+******************************************************************/
+"""
+
+stdprolog_cmake="""
+#
+#
+#******************************************************************
+
+#DO NOT MODIFY. AUTOGENERATED FILE.
+#This file is generated using the logic from <root>/src/scripts/genXplatEventing.py
+
+#******************************************************************
+"""
+
+lindent = " ";
+palDataTypeMapping ={
+ #constructed types
+ "win:null" :" ",
+ "win:Int64" :"const __int64",
+ "win:ULong" :"const ULONG",
+ "win:count" :"*",
+ "win:Struct" :"const void",
+ #actual spec
+ "win:GUID" :"const GUID",
+ "win:AnsiString" :"LPCSTR",
+ "win:UnicodeString" :"PCWSTR",
+ "win:Double" :"const double",
+ "win:Int32" :"const signed int",
+ "win:Boolean" :"const BOOL",
+ "win:UInt64" :"const unsigned __int64",
+ "win:UInt32" :"const unsigned int",
+ "win:UInt16" :"const unsigned short",
+ "win:UInt8" :"const unsigned char",
+ "win:Pointer" :"const void*",
+ "win:Binary" :"const BYTE"
+ }
+# A Template represents an ETW template can contain 1 or more AbstractTemplates
+# The AbstractTemplate contains FunctionSignature
+# FunctionSignature consist of FunctionParameter representing each parameter in it's signature
+
+class AbstractTemplate:
+ def __init__(self,abstractTemplateName,abstractFnFrame):
+ self.abstractTemplateName = abstractTemplateName
+ self.AbstractFnFrame = abstractFnFrame
+
+
+class Template:
+
+ def __init__(self,templateName):
+ self.template = templateName
+ self.allAbstractTemplateTypes = [] # list of AbstractTemplateNames
+ self.allAbstractTemplateLUT = {} #dictionary of AbstractTemplate
+
+ def append(self,abstractTemplateName,abstractFnFrame):
+ self.allAbstractTemplateTypes.append(abstractTemplateName)
+ self.allAbstractTemplateLUT[abstractTemplateName] = AbstractTemplate(abstractTemplateName,abstractFnFrame)
+
+ def getFnFrame(self,abstractTemplateName):
+ return self.allAbstractTemplateLUT[abstractTemplateName].AbstractFnFrame
+
+ def getAbstractVarProps(self,abstractTemplateName):
+ return self.allAbstractTemplateLUT[abstractTemplateName].AbstractVarProps
+
+ def getFnParam(self,name):
+ for subtemplate in self.allAbstractTemplateTypes:
+ frame = self.getFnFrame(subtemplate)
+ if frame.getParam(name):
+ return frame.getParam(name)
+ return None
+
+class FunctionSignature:
+
+ def __init__(self):
+ self.LUT = {} # dictionary of FunctionParameter
+ self.paramlist = [] # list of parameters to maintain their order in signature
+
+ def append(self,variable,fnparam):
+ self.LUT[variable] = fnparam
+ self.paramlist.append(variable)
+
+ def getParam(self,variable):
+ return self.LUT.get(variable)
+
+ def getLength(self):
+ return len(self.paramlist)
+
+class FunctionParameter:
+
+ def __init__(self,winType,name,count,prop):
+ self.winType = winType #ETW type as given in the manifest
+ self.name = name #parameter name as given in the manifest
+ self.prop = prop #any special property as determined by the manifest and developer
+ #self.count #indicates if the parameter is a pointer
+ if count == "win:null":
+ self.count = "win:null"
+ elif count or winType == "win:GUID" or count == "win:count":
+ #special case for GUIDS, consider them as structs
+ self.count = "win:count"
+ else:
+ self.count = "win:null"
+
+
+def getTopLevelElementsByTagName(Node,tag):
+
+ dataNodes = []
+ for element in Node.getElementsByTagName(tag):
+ if element.parentNode == Node:
+ dataNodes.append(element)
+
+ return dataNodes
+
+def bucketizeAbstractTemplates(template,fnPrototypes,var_Dependecies):
+ # At this point we have the complete argument list, now break them into chunks of 10
+ # As Abstract Template supports a maximum of 10 arguments
+ abstractTemplateName = template;
+ subevent_cnt = 1;
+ templateProp = Template(template)
+ abstractFnFrame = FunctionSignature()
+
+ for variable in fnPrototypes.paramlist:
+ for dependency in var_Dependecies[variable]:
+ if not abstractFnFrame.getParam(dependency):
+ abstractFnFrame.append(dependency,fnPrototypes.getParam(dependency))
+
+ frameCount = abstractFnFrame.getLength()
+ if frameCount == 10:
+
+ templateProp.append(abstractTemplateName,abstractFnFrame)
+ abstractTemplateName = template + "_" + str(subevent_cnt)
+ subevent_cnt += 1
+
+ if len(var_Dependecies[variable]) > 1:
+ #check if the frame's dependencies are all present
+ depExists = True
+ for depends in var_Dependecies[variable]:
+ if not abstractFnFrame.getParam(depends):
+ depExists = False
+ break
+ if not depExists:
+ raise ValueError('Abstract Template: '+ abstractTemplateName+ ' does not have all its dependecies in the frame, write required Logic here and test it out, the parameter whose dependency is missing is :'+ variable)
+ #psuedo code:
+ # 1. add a missing dependecies to the frame of the current parameter
+ # 2. Check if the frame has enough space, if there is continue adding missing dependencies
+ # 3. Else Save the current Frame and start a new frame and follow step 1 and 2
+ # 4. Add the current parameter and proceed
+
+ #create a new fn frame
+ abstractFnFrame = FunctionSignature()
+
+
+ #subevent_cnt == 1 represents argumentless templates
+ if abstractFnFrame.getLength() > 0 or subevent_cnt == 1:
+ templateProp.append(abstractTemplateName,abstractFnFrame)
+
+ return templateProp
+
+ignoredXmlTemplateAttribes = Set(["map","outType"])
+usedXmlTemplateAttribes = Set(["name","inType","count", "length"])
+
+def parseTemplateNodes(templateNodes):
+
+ #return values
+ allTemplates = {}
+
+ for templateNode in templateNodes:
+
+ template = templateNode.getAttribute('tid')
+ var_Dependecies = {}
+ fnPrototypes = FunctionSignature()
+ dataNodes = getTopLevelElementsByTagName(templateNode,'data')
+
+ # Validate that no new attributes has been added to manifest
+ for dataNode in dataNodes:
+ nodeMap = dataNode.attributes
+ for attrib in nodeMap.values():
+ attrib_name = attrib.name
+ if attrib_name not in ignoredXmlTemplateAttribes and attrib_name not in usedXmlTemplateAttribes:
+ raise ValueError('unknown attribute: '+ attrib_name + ' in template:'+ template)
+
+ for dataNode in dataNodes:
+ variable = dataNode.getAttribute('name')
+ wintype = dataNode.getAttribute('inType')
+
+ #count and length are the same
+ wincount = dataNode.getAttribute('count')
+ winlength = dataNode.getAttribute('length');
+
+ var_Props = None
+ var_dependency = [variable]
+ if winlength:
+ if wincount:
+ raise Exception("both count and length property found on: " + variable + "in template: " + template)
+ wincount = winlength
+
+ if (wincount.isdigit() and int(wincount) ==1):
+ wincount = ''
+
+ if wincount:
+ if (wincount.isdigit()):
+ var_Props = wincount
+ elif fnPrototypes.getParam(wincount):
+ var_Props = wincount
+ var_dependency.insert(0,wincount)
+
+ #construct the function signature
+
+
+ if wintype == "win:GUID":
+ var_Props = "sizeof(GUID)/sizeof(int)"
+
+ var_Dependecies[variable] = var_dependency
+ fnparam = FunctionParameter(wintype,variable,wincount,var_Props)
+ fnPrototypes.append(variable,fnparam)
+
+ structNodes = getTopLevelElementsByTagName(templateNode,'struct')
+
+ count = 0;
+ for structToBeMarshalled in structNodes:
+ struct_len = "Arg"+ str(count) + "_Struct_Len_"
+ struct_pointer = "Arg"+ str(count) + "_Struct_Pointer_"
+ count += 1
+
+ #populate the Property- used in codegen
+ structname = structToBeMarshalled.getAttribute('name')
+ countVarName = structToBeMarshalled.getAttribute('count')
+
+ if not countVarName:
+ raise ValueError('Struct '+ structname+ ' in template:'+ template + 'does not have an attribute count')
+
+ var_Props = countVarName + "*" + struct_len + "/sizeof(int)"
+ var_Dependecies[struct_len] = [struct_len]
+ var_Dependecies[struct_pointer] = [countVarName,struct_len,struct_pointer]
+
+ fnparam_len = FunctionParameter("win:ULong",struct_len,"win:null",None)
+ fnparam_pointer = FunctionParameter("win:Struct",struct_pointer,"win:count",var_Props)
+
+ fnPrototypes.append(struct_len,fnparam_len)
+ fnPrototypes.append(struct_pointer,fnparam_pointer)
+
+ allTemplates[template] = bucketizeAbstractTemplates(template,fnPrototypes,var_Dependecies)
+
+ return allTemplates
+
+def generateClrallEvents(eventNodes,allTemplates):
+ clrallEvents = []
+ for eventNode in eventNodes:
+ eventName = eventNode.getAttribute('symbol')
+ templateName = eventNode.getAttribute('template')
+
+ #generate EventEnabled
+ clrallEvents.append("inline BOOL EventEnabled")
+ clrallEvents.append(eventName)
+ clrallEvents.append("() {return XplatEventLogger::IsEventLoggingEnabled() && EventXplatEnabled")
+ clrallEvents.append(eventName+"();}\n\n")
+ #generate FireEtw functions
+ fnptype = []
+ fnbody = []
+ fnptype.append("inline ULONG FireEtw")
+ fnptype.append(eventName)
+ fnptype.append("(\n")
+ fnbody.append(lindent)
+ fnbody.append("if (!EventEnabled")
+ fnbody.append(eventName)
+ fnbody.append("()) {return ERROR_SUCCESS;}\n")
+ line = []
+ fnptypeline = []
+
+ if templateName:
+ for subTemplate in allTemplates[templateName].allAbstractTemplateTypes:
+ fnSig = allTemplates[templateName].getFnFrame(subTemplate)
+
+ for params in fnSig.paramlist:
+ fnparam = fnSig.getParam(params)
+ wintypeName = fnparam.winType
+ typewName = palDataTypeMapping[wintypeName]
+ winCount = fnparam.count
+ countw = palDataTypeMapping[winCount]
+ fnptypeline.append(lindent)
+ fnptypeline.append(typewName)
+ fnptypeline.append(countw)
+ fnptypeline.append(" ")
+ fnptypeline.append(fnparam.name)
+ fnptypeline.append(",\n")
+
+ #fnsignature
+ for params in fnSig.paramlist:
+ fnparam = fnSig.getParam(params)
+ line.append(fnparam.name)
+ line.append(",")
+
+ #remove trailing commas
+ if len(line) > 0:
+ del line[-1]
+ if len(fnptypeline) > 0:
+ del fnptypeline[-1]
+
+ fnptype.extend(fnptypeline)
+ fnptype.append("\n)\n{\n")
+ fnbody.append(lindent)
+ fnbody.append("return FireEtXplat")
+ fnbody.append(eventName)
+ fnbody.append("(")
+ fnbody.extend(line)
+ fnbody.append(");\n")
+ fnbody.append("}\n\n")
+
+ clrallEvents.extend(fnptype)
+ clrallEvents.extend(fnbody)
+
+ return ''.join(clrallEvents)
+
+def generateClrXplatEvents(eventNodes, allTemplates):
+ clrallEvents = []
+ for eventNode in eventNodes:
+ eventName = eventNode.getAttribute('symbol')
+ templateName = eventNode.getAttribute('template')
+
+ #generate EventEnabled
+ clrallEvents.append("extern \"C\" BOOL EventXplatEnabled")
+ clrallEvents.append(eventName)
+ clrallEvents.append("();\n")
+ #generate FireEtw functions
+ fnptype = []
+ fnptypeline = []
+ fnptype.append("extern \"C\" ULONG FireEtXplat")
+ fnptype.append(eventName)
+ fnptype.append("(\n")
+
+ if templateName:
+ for subTemplate in allTemplates[templateName].allAbstractTemplateTypes:
+ fnSig = allTemplates[templateName].getFnFrame(subTemplate)
+
+ for params in fnSig.paramlist:
+ fnparam = fnSig.getParam(params)
+ wintypeName = fnparam.winType
+ typewName = palDataTypeMapping[wintypeName]
+ winCount = fnparam.count
+ countw = palDataTypeMapping[winCount]
+ fnptypeline.append(lindent)
+ fnptypeline.append(typewName)
+ fnptypeline.append(countw)
+ fnptypeline.append(" ")
+ fnptypeline.append(fnparam.name)
+ fnptypeline.append(",\n")
+
+ #remove trailing commas
+ if len(fnptypeline) > 0:
+ del fnptypeline[-1]
+
+ fnptype.extend(fnptypeline)
+ fnptype.append("\n);\n")
+ clrallEvents.extend(fnptype)
+
+ return ''.join(clrallEvents)
+
+#generates the dummy header file which is used by the VM as entry point to the logging Functions
+def generateclrEtwDummy(eventNodes,allTemplates):
+ clretmEvents = []
+ for eventNode in eventNodes:
+ eventName = eventNode.getAttribute('symbol')
+ templateName = eventNode.getAttribute('template')
+
+ fnptype = []
+ #generate FireEtw functions
+ fnptype.append("#define FireEtw")
+ fnptype.append(eventName)
+ fnptype.append("(");
+ line = []
+ if templateName:
+ for subTemplate in allTemplates[templateName].allAbstractTemplateTypes:
+ fnSig = allTemplates[templateName].getFnFrame(subTemplate)
+
+ for params in fnSig.paramlist:
+ fnparam = fnSig.getParam(params)
+ line.append(fnparam.name)
+ line.append(", ")
+
+ #remove trailing commas
+ if len(line) > 0:
+ del line[-1]
+
+ fnptype.extend(line)
+ fnptype.append(") 0\n")
+ clretmEvents.extend(fnptype)
+
+ return ''.join(clretmEvents)
+
+def generateClralltestEvents(sClrEtwAllMan):
+ tree = DOM.parse(sClrEtwAllMan)
+
+ clrtestEvents = []
+ for providerNode in tree.getElementsByTagName('provider'):
+ templateNodes = providerNode.getElementsByTagName('template')
+ allTemplates = parseTemplateNodes(templateNodes)
+ eventNodes = providerNode.getElementsByTagName('event')
+ for eventNode in eventNodes:
+ eventName = eventNode.getAttribute('symbol')
+ templateName = eventNode.getAttribute('template')
+ clrtestEvents.append(" EventXplatEnabled" + eventName + "();\n")
+ clrtestEvents.append("Error |= FireEtXplat" + eventName + "(\n")
+
+
+ line =[]
+ if templateName :
+ for subTemplate in allTemplates[templateName].allAbstractTemplateTypes:
+ fnSig = allTemplates[templateName].getFnFrame(subTemplate)
+
+ for params in fnSig.paramlist:
+ argline =''
+ fnparam = fnSig.getParam(params)
+ if fnparam.name.lower() == 'count':
+ argline = '2'
+ else:
+ if fnparam.winType == "win:Binary":
+ argline = 'win_Binary'
+ elif fnparam.winType == "win:Pointer" and fnparam.count == "win:count":
+ argline = "(const void**)&var11"
+ elif fnparam.winType == "win:Pointer" :
+ argline = "(const void*)var11"
+ elif fnparam.winType =="win:AnsiString":
+ argline = '" Testing AniString "'
+ elif fnparam.winType =="win:UnicodeString":
+ argline = 'W(" Testing UnicodeString ")'
+ else:
+ if fnparam.count == "win:count":
+ line.append("&")
+
+ argline = fnparam.winType.replace(":","_")
+
+ line.append(argline)
+ line.append(",\n")
+
+ #remove trailing commas
+ if len(line) > 0:
+ del line[-1]
+ line.append("\n")
+ line.append(");\n")
+ clrtestEvents.extend(line)
+
+ return ''.join(clrtestEvents)
+
+
+
+
+def generateSanityTest(sClrEtwAllMan,testDir):
+ if not os.path.exists(testDir):
+ os.makedirs(testDir)
+
+ cmake_file = testDir + "/CMakeLists.txt"
+ test_cpp = testDir + "/clralltestevents.cpp"
+ testinfo = testDir + "/testinfo.dat"
+ Cmake_file = open(cmake_file,'w')
+ Test_cpp = open(test_cpp,'w')
+ Testinfo = open(testinfo,'w')
+
+ #CMake File:
+ print >>Cmake_file, stdprolog_cmake
+ print >>Cmake_file, """
+ cmake_minimum_required(VERSION 2.8.12.2)
+ set(CMAKE_INCLUDE_CURRENT_DIR ON)
+ set(SOURCES
+ """
+ print >>Cmake_file, test_cpp
+ print >>Cmake_file, """
+ )
+ include_directories($ENV{__GeneratedIntermediatesDir}/inc)
+ include_directories(${COREPAL_SOURCE_DIR}/inc/rt)
+
+ add_executable(eventprovidertest
+ ${SOURCES}
+ )
+ set(EVENT_PROVIDER_DEPENDENCIES "")
+ set(EVENT_PROVIDER_LINKER_OTPTIONS "")
+ if(CMAKE_SYSTEM_NAME STREQUAL Linux)
+ add_definitions(-DFEATURE_EVENT_TRACE=1)
+ list(APPEND EVENT_PROVIDER_DEPENDENCIES
+ coreclrtraceptprovider
+ eventprovider
+ )
+ list(APPEND EVENT_PROVIDER_LINKER_OTPTIONS
+ ${EVENT_PROVIDER_DEPENDENCIES}
+ )
+
+ endif(CMAKE_SYSTEM_NAME STREQUAL Linux)
+
+ add_dependencies(eventprovidertest ${EVENT_PROVIDER_DEPENDENCIES} coreclrpal)
+ target_link_libraries(eventprovidertest
+ coreclrpal
+ ${EVENT_PROVIDER_LINKER_OTPTIONS}
+ )
+ """
+ print >>Testinfo, """
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ #
+
+ Version = 1.0
+ Section = EventProvider
+ Function = EventProvider
+ Name = PAL test for FireEtW* and EventEnabled* functions
+ TYPE = DEFAULT
+ EXE1 = eventprovidertest
+ Description
+ =This is a sanity test to check that there are no crashes in Xplat eventing
+ """
+
+ #Test.cpp
+ print >>Test_cpp, stdprolog
+ print >>Test_cpp, """
+/*=====================================================================
+**
+** Source: clralltestevents.cpp
+**
+** Purpose: Ensure Correctness of Eventing code
+**
+**
+**===================================================================*/
+#include <palsuite.h>
+#include <clrxplatevents.h>
+
+typedef struct _Struct1 {
+ ULONG Data1;
+ unsigned short Data2;
+ unsigned short Data3;
+ unsigned char Data4[8];
+} Struct1;
+
+Struct1 var21[2] = { { 245, 13, 14, "deadbea" }, { 542, 0, 14, "deadflu" } };
+
+Struct1* var11 = var21;
+Struct1* win_Struct = var21;
+
+GUID win_GUID ={ 245, 13, 14, "deadbea" };
+double win_Double =34.04;
+ULONG win_ULong = 34;
+BOOL win_Boolean = FALSE;
+unsigned __int64 win_UInt64 = 114;
+unsigned int win_UInt32 = 4;
+unsigned short win_UInt16 = 12;
+unsigned char win_UInt8 = 9;
+int win_Int32 = 12;
+BYTE* win_Binary =(BYTE*)var21 ;
+int __cdecl main(int argc, char **argv)
+{
+
+ /* Initialize the PAL.
+ */
+
+ if(0 != PAL_Initialize(argc, argv))
+ {
+ return FAIL;
+ }
+
+ ULONG Error = ERROR_SUCCESS;
+#if defined(FEATURE_EVENT_TRACE)
+ Trace("\\n Starting functional eventing APIs tests \\n");
+"""
+
+ print >>Test_cpp, generateClralltestEvents(sClrEtwAllMan)
+ print >>Test_cpp,"""
+/* Shutdown the PAL.
+ */
+
+ if (Error != ERROR_SUCCESS)
+ {
+ Fail("One or more eventing Apis failed\\n ");
+ return FAIL;
+ }
+ Trace("\\n All eventing APIs were fired succesfully \\n");
+#endif //defined(FEATURE_EVENT_TRACE)
+ PAL_Terminate();
+ return PASS;
+ }
+
+"""
+ Cmake_file.close()
+ Test_cpp.close()
+ Testinfo.close()
+
+def generateEtmDummyHeader(sClrEtwAllMan,clretwdummy):
+ tree = DOM.parse(sClrEtwAllMan)
+
+ incDir = os.path.dirname(os.path.realpath(clretwdummy))
+ if not os.path.exists(incDir):
+ os.makedirs(incDir)
+ Clretwdummy = open(clretwdummy,'w')
+ print >>Clretwdummy, stdprolog
+
+ for providerNode in tree.getElementsByTagName('provider'):
+ templateNodes = providerNode.getElementsByTagName('template')
+ allTemplates = parseTemplateNodes(templateNodes)
+ eventNodes = providerNode.getElementsByTagName('event')
+ #pal: create etmdummy.h
+ print >>Clretwdummy,generateclrEtwDummy(eventNodes,allTemplates)
+
+ Clretwdummy.close()
+
+def generatePlformIndependentFiles(sClrEtwAllMan,incDir,etmDummyFile, testDir):
+ tree = DOM.parse(sClrEtwAllMan)
+ if not os.path.exists(incDir):
+ os.makedirs(incDir)
+
+ generateSanityTest(sClrEtwAllMan,testDir)
+ generateEtmDummyHeader(sClrEtwAllMan,etmDummyFile)
+ clrallevents = incDir + "/clretwallmain.h"
+ clrxplatevents = incDir + "/clrxplatevents.h"
+
+ Clrallevents = open(clrallevents,'w')
+ Clrxplatevents = open(clrxplatevents,'w')
+
+ print >>Clrallevents, stdprolog
+ print >>Clrxplatevents, stdprolog
+
+ print >>Clrallevents, "\n#include \"clrxplatevents.h\"\n"
+
+ for providerNode in tree.getElementsByTagName('provider'):
+ templateNodes = providerNode.getElementsByTagName('template')
+ allTemplates = parseTemplateNodes(templateNodes)
+ eventNodes = providerNode.getElementsByTagName('event')
+ #vm header:
+ print >>Clrallevents,generateClrallEvents(eventNodes,allTemplates)
+
+ #pal: create clrallevents.h
+ print >>Clrxplatevents, generateClrXplatEvents(eventNodes,allTemplates)
+
+
+ Clrxplatevents.close()
+ Clrallevents.close()
+
+class EventExclusions:
+ def __init__(self):
+ self.nostack = Set()
+ self.explicitstack = Set()
+ self.noclrinstance = Set()
+
+def parseExclusionList(exclusionListFile):
+ ExclusionFile = open(exclusionListFile,'r')
+ exclusionInfo = EventExclusions()
+
+ for line in ExclusionFile:
+ line = line.strip()
+
+ #remove comments
+ if not line or line.startswith('#'):
+ continue
+
+ tokens = line.split(':')
+ #entries starting with nomac are ignored
+ if "nomac" in tokens:
+ continue
+
+ if len(tokens) > 5:
+ raise Exception("Invalid Entry " + line + "in "+ exclusionListFile)
+
+ eventProvider = tokens[2]
+ eventTask = tokens[1]
+ eventSymbol = tokens[4]
+
+ if eventProvider == '':
+ eventProvider = "*"
+ if eventTask == '':
+ eventTask = "*"
+ if eventSymbol == '':
+ eventSymbol = "*"
+ entry = eventProvider + ":" + eventTask + ":" + eventSymbol
+
+ if tokens[0].lower() == "nostack":
+ exclusionInfo.nostack.add(entry)
+ if tokens[0].lower() == "stack":
+ exclusionInfo.explicitstack.add(entry)
+ if tokens[0].lower() == "noclrinstanceid":
+ exclusionInfo.noclrinstance.add(entry)
+ ExclusionFile.close()
+
+ return exclusionInfo
+
+def getStackWalkBit(eventProvider, taskName, eventSymbol, stackSet):
+ for entry in stackSet:
+ tokens = entry.split(':')
+
+ if len(tokens) != 3:
+ raise Exception("Error, possible error in the script which introduced the enrty "+ entry)
+
+ eventCond = tokens[0] == eventProvider or tokens[0] == "*"
+ taskCond = tokens[1] == taskName or tokens[1] == "*"
+ symbolCond = tokens[2] == eventSymbol or tokens[2] == "*"
+
+ if eventCond and taskCond and symbolCond:
+ return False
+ return True
+
+#Add the miscelaneous checks here
+def checkConsistency(sClrEtwAllMan,exclusionListFile):
+ tree = DOM.parse(sClrEtwAllMan)
+ exclusionInfo = parseExclusionList(exclusionListFile)
+ for providerNode in tree.getElementsByTagName('provider'):
+
+ stackSupportSpecified = {}
+ eventNodes = providerNode.getElementsByTagName('event')
+ templateNodes = providerNode.getElementsByTagName('template')
+ eventProvider = providerNode.getAttribute('name')
+ allTemplates = parseTemplateNodes(templateNodes)
+
+ for eventNode in eventNodes:
+ taskName = eventNode.getAttribute('task')
+ eventSymbol = eventNode.getAttribute('symbol')
+ eventTemplate = eventNode.getAttribute('template')
+ eventValue = int(eventNode.getAttribute('value'))
+ clrInstanceBit = getStackWalkBit(eventProvider, taskName, eventSymbol, exclusionInfo.noclrinstance)
+ sLookupFieldName = "ClrInstanceID"
+ sLookupFieldType = "win:UInt16"
+
+ if clrInstanceBit and allTemplates.get(eventTemplate):
+ # check for the event template and look for a field named ClrInstanceId of type win:UInt16
+ fnParam = allTemplates[eventTemplate].getFnParam(sLookupFieldName)
+
+ if not(fnParam and fnParam.winType == sLookupFieldType):
+ raise Exception(exclusionListFile + ":No " + sLookupFieldName + " field of type " + sLookupFieldType + " for event symbol " + eventSymbol)
+
+
+ # If some versions of an event are on the nostack/stack lists,
+ # and some versions are not on either the nostack or stack list,
+ # then developer likely forgot to specify one of the versions
+
+ eventStackBitFromNoStackList = getStackWalkBit(eventProvider, taskName, eventSymbol, exclusionInfo.nostack)
+ eventStackBitFromExplicitStackList = getStackWalkBit(eventProvider, taskName, eventSymbol, exclusionInfo.explicitstack)
+ sStackSpecificityError = exclusionListFile + ": Error processing event :" + eventSymbol + "(ID" + str(eventValue) + "): This file must contain either ALL versions of this event or NO versions of this event. Currently some, but not all, versions of this event are present\n"
+
+ if not stackSupportSpecified.get(eventValue):
+ # Haven't checked this event before. Remember whether a preference is stated
+ if ( not eventStackBitFromNoStackList) or ( not eventStackBitFromExplicitStackList):
+ stackSupportSpecified[eventValue] = True
+ else:
+ stackSupportSpecified[eventValue] = False
+ else:
+ # We've checked this event before.
+ if stackSupportSpecified[eventValue]:
+ # When we last checked, a preference was previously specified, so it better be specified here
+ if eventStackBitFromNoStackList and eventStackBitFromExplicitStackList:
+ raise Exception(sStackSpecificityError)
+ else:
+ # When we last checked, a preference was not previously specified, so it better not be specified here
+ if ( not eventStackBitFromNoStackList) or ( not eventStackBitFromExplicitStackList):
+ raise Exception(sStackSpecificityError)
+import argparse
+import sys
+
+def main(argv):
+
+ #parse the command line
+ parser = argparse.ArgumentParser(description="Generates the Code required to instrument LTTtng logging mechanism")
+
+ required = parser.add_argument_group('required arguments')
+ required.add_argument('--man', type=str, required=True,
+ help='full path to manifest containig the description of events')
+ required.add_argument('--exc', type=str, required=True,
+ help='full path to exclusion list')
+ required.add_argument('--inc', type=str, required=True,
+ help='full path to directory where the header files will be generated')
+ required.add_argument('--dummy', type=str, required=True,
+ help='full path to file that will have dummy definitions of FireEtw functions')
+ required.add_argument('--testdir', type=str, required=True,
+ help='full path to directory where the test assets will be deployed' )
+ args, unknown = parser.parse_known_args(argv)
+ if unknown:
+ print('Unknown argument(s): ', ', '.join(unknown))
+ return const.UnknownArguments
+
+ sClrEtwAllMan = args.man
+ exclusionListFile = args.exc
+ incdir = args.inc
+ etmDummyFile = args.dummy
+ testDir = args.testdir
+
+ checkConsistency(sClrEtwAllMan, exclusionListFile)
+ generatePlformIndependentFiles(sClrEtwAllMan,incdir,etmDummyFile,testDir)
+
+if __name__ == '__main__':
+ return_code = main(sys.argv[1:])
+ sys.exit(return_code)
+
+
+
diff --git a/src/scripts/genXplatLttng.py b/src/scripts/genXplatLttng.py
new file mode 100644
index 0000000000..1a1652e22b
--- /dev/null
+++ b/src/scripts/genXplatLttng.py
@@ -0,0 +1,600 @@
+##
+## Copyright (c) Microsoft. All rights reserved.
+## Licensed under the MIT license. See LICENSE file in the project root for full license information.
+##
+## Sample LTTng Instrumentation code that is generated:
+##
+## HEADER:
+## #define GCFinalizersEnd_TRACEPOINT_ARGS \
+##TP_ARGS(\
+## const unsigned int ,Count\
+##)
+##TRACEPOINT_EVENT_CLASS(
+## DotNETRuntime,
+## GCFinalizersEnd,
+## GCFinalizersEnd_TRACEPOINT_ARGS,
+## TP_FIELDS(
+## ctf_integer(unsigned int, Count, Count)
+## )
+##)
+##
+##CPP :
+##
+##extern "C" BOOL EventXplatEnabledGCFinalizersEnd(){ return TRUE;}
+##extern "C" ULONG FireEtXplatGCFinalizersEnd(
+## const unsigned int Count
+##)
+##{
+## ULONG Error = ERROR_WRITE_FAULT;
+## if (!EventXplatEnabledGCFinalizersEnd()){ return ERROR_SUCCESS;}
+##
+##
+## tracepoint(
+## DotNETRuntime,
+## GCFinalizersEnd,
+## Count
+## );
+## Error = ERROR_SUCCESS;
+##
+##return Error;
+##}
+##
+###define GCFinalizersEndT_TRACEPOINT_INSTANCE(name) \
+##TRACEPOINT_EVENT_INSTANCE(\
+## DotNETRuntime,\
+## GCFinalizersEnd,\
+## name ,\
+## GCFinalizersEnd_TRACEPOINT_ARGS \
+##)
+#
+
+import os
+from genXplatEventing import *
+
+stdprolog="""
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/scripts/genXplatLttng.py
+
+******************************************************************/
+"""
+stdprolog_cmake="""
+#
+#
+#******************************************************************
+
+#DO NOT MODIFY. AUTOGENERATED FILE.
+#This file is generated using the logic from <root>/src/scripts/genXplatLttng.py
+
+#******************************************************************
+"""
+
+lttngDataTypeMapping ={
+ #constructed types
+ "win:null" :" ",
+ "win:Int64" :"const __int64",
+ "win:ULong" :"const ULONG",
+ "win:count" :"*",
+ "win:Struct" :"const int",
+ #actual spec
+ "win:GUID" :"const int",
+ "win:AnsiString" :"const char*",
+ "win:UnicodeString" :"const char*",
+ "win:Double" :"const double",
+ "win:Int32" :"const signed int",
+ "win:Boolean" :"const BOOL",
+ "win:UInt64" :"const unsigned __int64",
+ "win:UInt32" :"const unsigned int",
+ "win:UInt16" :"const unsigned short",
+ "win:UInt8" :"const unsigned char",
+ "win:Pointer" :"const size_t",
+ "win:Binary" :"const BYTE"
+ }
+
+ctfDataTypeMapping ={
+ #constructed types
+ "win:Int64" :"ctf_integer",
+ "win:ULong" :"ctf_integer",
+ "win:count" :"ctf_sequence",
+ "win:Struct" :"ctf_sequence",
+ #actual spec
+ "win:GUID" :"ctf_sequence",
+ "win:AnsiString" :"ctf_string",
+ "win:UnicodeString" :"ctf_string",
+ "win:Double" :"ctf_float",
+ "win:Int32" :"ctf_integer",
+ "win:Boolean" :"ctf_integer",
+ "win:UInt64" :"ctf_integer",
+ "win:UInt32" :"ctf_integer",
+ "win:UInt16" :"ctf_integer",
+ "win:UInt8" :"ctf_integer", #actually a character
+ "win:Pointer" :"ctf_integer",
+ "win:Binary" :"ctf_sequence"
+ }
+
+def generateLttngHeader(providerName,allTemplates,eventNodes):
+ lTTngHdr = []
+ for templateName in allTemplates.keys():
+ for subTemplate in allTemplates[templateName].allAbstractTemplateTypes:
+ fnSig = allTemplates[templateName].getFnFrame(subTemplate)
+#TP_ARGS
+ tp_args = []
+ tp_args_param = []
+ tp_args.append("\n#define ")
+ tp_args.append(subTemplate)
+ tp_args.append('_TRACEPOINT_ARGS \\\n')
+ tp_args.append('TP_ARGS(\\\n')
+
+
+ for params in fnSig.paramlist:
+ fnparam = fnSig.getParam(params)
+ wintypeName = fnparam.winType
+ typewName = lttngDataTypeMapping[wintypeName]
+ winCount = fnparam.count
+ countw = lttngDataTypeMapping[winCount]
+
+ tp_args_param.append(" ")
+ tp_args_param.append(typewName)
+ if countw != " ":
+ tp_args_param.append(countw)
+
+ tp_args_param.append(" ,")
+ tp_args_param.append(fnparam.name)
+ tp_args_param.append(",\\\n")
+
+ if len(tp_args_param) > 0:
+ del tp_args_param[-1]
+ tp_args.extend(tp_args_param)
+ tp_args.append("\\\n)\n")
+ lTTngHdr.extend(tp_args)
+#TP_EVENT_CLASS
+ tp_fields =[]
+ tp_fields.append("TRACEPOINT_EVENT_CLASS(\n")
+ tp_fields.append(" " + providerName + ",\n")
+ tp_fields.append(" " + subTemplate + ",\n")
+ tp_fields.append(" " + subTemplate + "_TRACEPOINT_ARGS,\n")
+ tp_fields.append(" " + " TP_FIELDS(\n")
+#TP_FIELDS
+
+ for params in fnSig.paramlist:
+ fnparam = fnSig.getParam(params)
+ wintypeName = fnparam.winType
+ typewName = lttngDataTypeMapping[wintypeName]
+ winCount = fnparam.count
+ countw = lttngDataTypeMapping[winCount]
+ typewName = typewName.replace("const ","")
+
+ tp_fields_body = []
+ ctf_type = None
+ varname = fnparam.name
+
+ if fnparam.prop:
+ #this is an explicit struct treat as a sequence
+ ctf_type = "ctf_sequence"
+ sizeofseq = fnparam.prop
+ tp_fields_body.append(typewName + ", " + varname +", " + varname + ",size_t,")
+ tp_fields_body.append(sizeofseq)
+
+ else:
+ ctf_type = ctfDataTypeMapping[wintypeName]
+ if ctf_type == "ctf_string":
+ tp_fields_body.append(varname + ", " + varname)
+ elif ctf_type == "ctf_integer" or ctf_type == "ctf_float":
+ tp_fields_body.append(typewName + ", " + varname +", " + varname)
+ elif ctf_type == "ctf_sequence":
+ raise Exception("ctf_sequence needs to have its memory expilicitly laid out")
+ else:
+ raise Exception("no such ctf intrinsic called: " + ctf_type)
+
+
+ tp_fields.append(" ")
+ tp_fields.append(ctf_type + "(")
+ tp_fields.extend(tp_fields_body)
+ tp_fields.append(")\n")
+
+ tp_fields.append(" )\n)\n")
+ lTTngHdr.extend(tp_fields)
+
+# Macro for defining event instance
+ lTTngHdr.append("\n#define " + subTemplate)
+ lTTngHdr.append("""T_TRACEPOINT_INSTANCE(name) \\
+TRACEPOINT_EVENT_INSTANCE(\\
+""")
+ lTTngHdr.append(" "+providerName + ",\\\n")
+ lTTngHdr.append(" " + subTemplate + ",\\\n")
+ lTTngHdr.append(" name ,\\\n")
+ lTTngHdr.append(" " + subTemplate + "_TRACEPOINT_ARGS \\\n)")
+
+#add an empty template node to just specify the event name in the event stream
+ lTTngHdr.append("\n\nTRACEPOINT_EVENT_CLASS(\n")
+ lTTngHdr.append(" " +providerName + ",\n")
+ lTTngHdr.append(" emptyTemplate ,\n")
+ lTTngHdr.append(""" TP_ARGS(),
+ TP_FIELDS()
+)
+#define T_TRACEPOINT_INSTANCE(name) \\
+TRACEPOINT_EVENT_INSTANCE(\\
+""")
+ lTTngHdr.append(" " +providerName + ",\\\n")
+ lTTngHdr.append(" emptyTemplate,\\\n")
+
+ lTTngHdr.append(""" name ,\\
+ TP_ARGS()\\
+)""")
+#end of empty template
+# create the event instance in headers
+ lTTngHdr.append("\n")
+ for eventNode in eventNodes:
+ eventName = eventNode.getAttribute('symbol');
+ templateName = eventNode.getAttribute('template');
+
+ if not eventName :
+ raise Exception(eventNode + " event does not have a symbol")
+ if not templateName:
+ lTTngHdr.append("T_TRACEPOINT_INSTANCE(")
+ lTTngHdr.append(eventName +")\n")
+ continue
+
+ for subtemplate in allTemplates[templateName].allAbstractTemplateTypes:
+ subevent = subtemplate;
+ subevent = subevent.replace(templateName,'')
+ lTTngHdr.append(subtemplate)
+ lTTngHdr.append("T_TRACEPOINT_INSTANCE(")
+ lTTngHdr.append(eventName + subevent + ")\n")
+
+ lTTngHdr.append("\n#endif /* LTTNG_CORECLR_H")
+ lTTngHdr.append(providerName + " */\n")
+ lTTngHdr.append("#include <lttng/tracepoint-event.h>")
+
+ return ''.join(lTTngHdr)
+
+def generateLttngTpProvider(providerName,eventNodes,allTemplates):
+ lTTngImpl = []
+ for eventNode in eventNodes:
+ eventName = eventNode.getAttribute('symbol')
+ templateName = eventNode.getAttribute('template')
+ vars_to_be_freed = [] #vars representing the allocation we make
+ #generate EventXplatEnabled
+ lTTngImpl.append("extern \"C\" BOOL EventXplatEnabled")
+ lTTngImpl.append(eventName)
+ lTTngImpl.append("(){ return TRUE;}\n")
+ #generate FireEtw functions
+ fnptype = []
+ linefnptype = []
+ fnptype.append("extern \"C\" ULONG FireEtXplat")
+ fnptype.append(eventName)
+ fnptype.append("(\n")
+
+
+ if templateName:
+ for subtemplate in allTemplates[templateName].allAbstractTemplateTypes:
+ fnSig = allTemplates[templateName].getFnFrame(subtemplate)
+ for params in fnSig.paramlist:
+ fnparam = fnSig.getParam(params)
+ wintypeName = fnparam.winType
+ typewName = palDataTypeMapping[wintypeName]
+ winCount = fnparam.count
+ countw = palDataTypeMapping[winCount]
+
+ linefnptype.append(lindent)
+ linefnptype.append(typewName)
+ if countw != " ":
+ linefnptype.append(countw)
+
+ linefnptype.append(" ")
+ linefnptype.append(fnparam.name)
+ linefnptype.append(",\n")
+
+ if len(linefnptype) > 0 :
+ del linefnptype[-1]
+
+ fnptype.extend(linefnptype)
+ fnptype.append("\n)\n")
+ fnptype.append("{\n ULONG Error = ERROR_WRITE_FAULT;\n")
+ lTTngImpl.extend(fnptype)
+
+#start of fn body
+ lTTngImpl.append(" if (!EventXplatEnabled")
+ lTTngImpl.append(eventName)
+ lTTngImpl.append("()){ return ERROR_SUCCESS;}\n")
+
+ linefnbody = []
+ if templateName:
+ #emit code to init variables convert unicode to ansi string
+ for subtemplate in allTemplates[templateName].allAbstractTemplateTypes:
+ fnSig = allTemplates[templateName].getFnFrame(subtemplate)
+ for params in fnSig.paramlist:
+ fnparam = fnSig.getParam(params)
+ wintypeName = fnparam.winType
+ paramname = fnparam.name
+
+ if wintypeName == "win:UnicodeString":
+ lTTngImpl.append(" INT " + paramname + "_path_size = -1;\n")
+ lTTngImpl.append(" INT " + paramname + "_full_name_path_size")
+ lTTngImpl.append(" = WideCharToMultiByte( CP_ACP, 0, " + paramname + ", -1, NULL, 0, NULL, NULL );\n")
+ lTTngImpl.append(" CHAR* " + paramname + "_full_name = NULL;\n")
+
+ lTTngImpl.append("\n")
+
+#emit tracepoints
+ for subtemplate in allTemplates[templateName].allAbstractTemplateTypes:
+ fnSig = allTemplates[templateName].getFnFrame(subtemplate)
+
+ subevent = subtemplate
+ subevent = subevent.replace(templateName,'')
+ linefnbody.append("\n tracepoint(\n")
+ linefnbody.append(" " + providerName + ",\n")
+ linefnbody.append(" " + eventName + subevent)
+ linefnbody.append(",\n")
+
+ for params in fnSig.paramlist:
+ fnparam = fnSig.getParam(params)
+ wintypeName = fnparam.winType
+ winCount = fnparam.count
+ paramname = fnparam.name
+ ctf_type = ctfDataTypeMapping.get(winCount)
+
+ linefnbody.append(" ")
+ if not ctf_type:
+ ctf_type = ctfDataTypeMapping[wintypeName]
+
+ if ctf_type == "ctf_string" and wintypeName == "win:UnicodeString":
+ #emit code to convert unicode to ansi string
+ lTTngImpl.append(" "+ paramname + "_full_name = (CHAR*)malloc(")
+ lTTngImpl.append(paramname + "_full_name_path_size*sizeof(CHAR));\n")
+
+ lTTngImpl.append(" _ASSERTE("+paramname+ "_full_name != NULL);\n")
+ lTTngImpl.append(" if(" + paramname + "_full_name == NULL){goto LExit;}\n\n")
+
+ lTTngImpl.append(" " + paramname+ "_path_size = WideCharToMultiByte( CP_ACP, 0, ")
+ lTTngImpl.append(paramname + ", -1, ")
+ lTTngImpl.append(paramname + "_full_name, ")
+ lTTngImpl.append(paramname + "_full_name_path_size, NULL, NULL );\n")
+
+ lTTngImpl.append(" _ASSERTE(" +paramname+ "_path_size == " )
+ lTTngImpl.append(paramname + "_full_name_path_size );\n")
+
+ lTTngImpl.append(" if( " + paramname + "_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}\n")
+
+ vars_to_be_freed.append(paramname + "_full_name")
+
+ linefnbody.append(paramname + "_full_name")
+ linefnbody.append(",\n")
+ continue
+
+ elif ctf_type == "ctf_sequence" or wintypeName == "win:Pointer":
+ linefnbody.append("(" + lttngDataTypeMapping[wintypeName])
+ if not lttngDataTypeMapping[winCount] == " ":
+ linefnbody.append( lttngDataTypeMapping[winCount])
+
+ linefnbody.append(") ")
+
+ linefnbody.append(paramname)
+ linefnbody.append(",\n")
+
+ if len(linefnbody) > 0 :
+ del linefnbody[-1]
+ linefnbody.append("\n );\n")
+
+ else:
+ linefnbody.append("\n tracepoint(\n")
+ linefnbody.append(" "+providerName + ",\n")
+ linefnbody.append(" "+eventName)
+ linefnbody.append("\n );\n")
+
+ lTTngImpl.extend(linefnbody)
+ lTTngImpl.append(" Error = ERROR_SUCCESS;\n")
+
+ if len(vars_to_be_freed) > 0:
+ lTTngImpl.append("LExit:\n")
+ vars_to_be_freed.reverse()
+ for var in vars_to_be_freed:
+ lTTngImpl.append(" if ("+ var + " != NULL) {free(" )
+ lTTngImpl.append(var)
+ lTTngImpl.append(");}\n")
+
+ lTTngImpl.append("\nreturn Error;\n}\n")
+
+ return ''.join(lTTngImpl)
+
+def generateLttngFiles(etwmanifest,intermediate):
+
+ tree = DOM.parse(etwmanifest)
+
+ if not os.path.exists(intermediate):
+ os.makedirs(intermediate)
+
+ eventprovider_directory = intermediate + "/eventprovider/"
+ tracepointprovider_directory = eventprovider_directory + "/tracepointprovider"
+ lttng_directory = eventprovider_directory + "/lttng/"
+ lttngevntprovPre = lttng_directory + "/eventprov"
+ lttngevntprovTpPre = lttng_directory + "/traceptprov"
+
+ if not os.path.exists(eventprovider_directory):
+ os.makedirs(eventprovider_directory)
+
+ if not os.path.exists(lttng_directory):
+ os.makedirs(lttng_directory)
+
+ if not os.path.exists(tracepointprovider_directory):
+ os.makedirs(tracepointprovider_directory)
+
+
+#Top level Cmake
+ topCmake = open(eventprovider_directory + "/CMakeLists.txt", 'w')
+ print >>topCmake, stdprolog_cmake
+ print >>topCmake, """cmake_minimum_required(VERSION 2.8.12.2)
+
+ project(eventprovider)
+
+ set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+ add_definitions(-DPAL_STDCPP_COMPAT=1)
+ include_directories(${COREPAL_SOURCE_DIR}/inc/rt)
+ include_directories(lttng)
+
+ add_library(eventprovider
+ STATIC
+"""
+
+ for providerNode in tree.getElementsByTagName('provider'):
+ providerName = providerNode.getAttribute('name')
+ providerName = providerName.replace("Windows-",'')
+ providerName = providerName.replace("Microsoft-",'')
+
+ providerName_File = providerName.replace('-','')
+ providerName_File = providerName_File.lower()
+
+ print >>topCmake,' "'+ lttngevntprovPre + providerName_File + ".cpp" + '"'
+
+ print >>topCmake, """)
+ add_subdirectory(tracepointprovider)
+
+ # Install the static eventprovider library
+ install (TARGETS eventprovider DESTINATION lib)"""
+ topCmake.close()
+
+#TracepointProvider Cmake
+
+ tracepointprovider_Cmake = open(tracepointprovider_directory + "/CMakeLists.txt", 'w')
+
+ print >>tracepointprovider_Cmake, stdprolog_cmake
+ print >>tracepointprovider_Cmake, """cmake_minimum_required(VERSION 2.8.12.2)
+
+ project(coreclrtraceptprovider)
+
+ set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+ add_definitions(-DPAL_STDCPP_COMPAT=1)
+ include_directories(${COREPAL_SOURCE_DIR}/inc/rt)
+ include_directories(../lttng/)
+ add_compile_options(-fPIC)
+
+ add_library(coreclrtraceptprovider
+ SHARED"""
+
+ for providerNode in tree.getElementsByTagName('provider'):
+ providerName = providerNode.getAttribute('name')
+ providerName = providerName.replace("Windows-",'')
+ providerName = providerName.replace("Microsoft-",'')
+
+ providerName_File = providerName.replace('-','')
+ providerName_File = providerName_File.lower()
+
+ print >>tracepointprovider_Cmake,' "'+ lttngevntprovTpPre + providerName_File +".cpp" + '"'
+
+ print >>tracepointprovider_Cmake, """ )
+
+ target_link_libraries(coreclrtraceptprovider
+ -llttng-ust
+ )
+
+ #Install the static coreclrtraceptprovider library
+ install (TARGETS coreclrtraceptprovider DESTINATION .)"""
+ tracepointprovider_Cmake.close()
+
+# Generate Lttng specific instrumentation
+ for providerNode in tree.getElementsByTagName('provider'):
+
+ providerName = providerNode.getAttribute('name')
+ providerName = providerName.replace("Windows-",'')
+ providerName = providerName.replace("Microsoft-",'')
+
+ providerName_File = providerName.replace('-','')
+ providerName_File = providerName_File.lower()
+ providerName = providerName.replace('-','_')
+
+ lttngevntheadershortname = "tp" + providerName_File +".h";
+ lttngevntheader = eventprovider_directory +"lttng/"+ lttngevntheadershortname
+ lttngevntprov = lttngevntprovPre + providerName_File + ".cpp"
+ lttngevntprovTp = lttngevntprovTpPre + providerName_File +".cpp"
+
+
+ lTTngHdr = open(lttngevntheader, 'w')
+ lTTngImpl = open(lttngevntprov, 'w')
+ lTTngTpImpl = open(lttngevntprovTp, 'w')
+
+ print >>lTTngHdr, stdprolog
+ print >>lTTngImpl, stdprolog
+ print >>lTTngTpImpl, stdprolog
+
+ print >>lTTngTpImpl,"\n#define TRACEPOINT_CREATE_PROBES\n"
+
+
+ print >>lTTngTpImpl,"#include \"./"+lttngevntheadershortname + "\""
+
+ print >>lTTngHdr, """
+#include "palrt.h"
+#include "pal.h"
+
+#undef TRACEPOINT_PROVIDER
+"""
+
+
+ print >>lTTngHdr, "#define TRACEPOINT_PROVIDER " + providerName
+ print >>lTTngHdr,"""
+
+#undef TRACEPOINT_INCLUDE"""
+
+ print >>lTTngHdr,"#define TRACEPOINT_INCLUDE \"./" + lttngevntheadershortname + "\"\n"
+
+
+ print >>lTTngHdr, "#if !defined(LTTNG_CORECLR_H" + providerName + ") || defined(TRACEPOINT_HEADER_MULTI_READ)\n"
+ print >>lTTngHdr, "#define LTTNG_CORECLR_H" + providerName
+
+ print >>lTTngHdr, "\n#include <lttng/tracepoint.h>\n"
+
+ print >>lTTngImpl, """
+#define TRACEPOINT_DEFINE
+#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE"""
+ print >>lTTngImpl,"#include \"" + lttngevntheadershortname + "\"\n"
+
+
+
+ templateNodes = providerNode.getElementsByTagName('template')
+ eventNodes = providerNode.getElementsByTagName('event')
+
+ allTemplates = parseTemplateNodes(templateNodes)
+ #generate the header
+ print >>lTTngHdr,generateLttngHeader(providerName,allTemplates,eventNodes)
+
+ #create the implementation of eventing functions : lttngeventprov*.cp
+ print >>lTTngImpl,generateLttngTpProvider(providerName,eventNodes,allTemplates)
+
+ lTTngHdr.close()
+ lTTngImpl.close()
+ lTTngTpImpl.close()
+
+import argparse
+import sys
+
+def main(argv):
+
+ #parse the command line
+ parser = argparse.ArgumentParser(description="Generates the Code required to instrument LTTtng logging mechanism")
+
+ required = parser.add_argument_group('required arguments')
+ required.add_argument('--man', type=str, required=True,
+ help='full path to manifest containig the description of events')
+ required.add_argument('--intermediate', type=str, required=True,
+ help='full path to intermediate directory')
+ args, unknown = parser.parse_known_args(argv)
+ if unknown:
+ print('Unknown argument(s): ', ', '.join(unknown))
+ return const.UnknownArguments
+
+ sClrEtwAllMan = args.man
+ intermediate = args.intermediate
+
+ generateLttngFiles(sClrEtwAllMan,intermediate)
+
+if __name__ == '__main__':
+ return_code = main(sys.argv[1:])
+ sys.exit(return_code)
+
diff --git a/src/strongname/api/common.h b/src/strongname/api/common.h
index 45f14a8b2b..ea315e44ac 100644
--- a/src/strongname/api/common.h
+++ b/src/strongname/api/common.h
@@ -270,6 +270,9 @@ namespace Loader
#if STRONGNAME_IN_VM
// src/vm
+#include "gcenv.interlocked.h"
+#include "gcenv.interlocked.inl"
+
#include "util.hpp"
#include "ibclogger.h"
#include "eepolicy.h"
diff --git a/src/utilcode/hostimpl.cpp b/src/utilcode/hostimpl.cpp
index c1195eaa75..582189c618 100644
--- a/src/utilcode/hostimpl.cpp
+++ b/src/utilcode/hostimpl.cpp
@@ -274,7 +274,7 @@ DWORD STDMETHODCALLTYPE UtilExecutionEngine::WaitForEvent(EVENT_COOKIE event, DW
DWORD STDMETHODCALLTYPE UtilExecutionEngine::WaitForSingleObject(HANDLE handle, DWORD dwMilliseconds)
{
_ASSERTE(handle);
- return WaitForSingleObject(handle, dwMilliseconds);
+ return WaitForSingleObjectEx(handle, dwMilliseconds, FALSE);
}
SEMAPHORE_COOKIE STDMETHODCALLTYPE UtilExecutionEngine::ClrCreateSemaphore(DWORD dwInitial, DWORD dwMax)
diff --git a/src/vm/CMakeLists.txt b/src/vm/CMakeLists.txt
index 9e9dd68a07..964c987532 100644
--- a/src/vm/CMakeLists.txt
+++ b/src/vm/CMakeLists.txt
@@ -39,6 +39,16 @@ add_definitions(-D_UNICODE)
# Add the Merge flag here is needed
add_definitions(-DFEATURE_MERGE_JIT_AND_ENGINE)
+if(CMAKE_CONFIGURATION_TYPES) # multi-configuration generator?
+ foreach (Config DEBUG CHECKED)
+ set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:${Config}>:WRITE_BARRIER_CHECK=1>)
+ endforeach (Config)
+else()
+ if(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG OR UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED)
+ add_definitions(-DWRITE_BARRIER_CHECK=1)
+ endif(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG OR UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED)
+endif(CMAKE_CONFIGURATION_TYPES)
+
if(CLR_CMAKE_PLATFORM_UNIX)
add_compile_options(-fPIC)
endif(CLR_CMAKE_PLATFORM_UNIX)
@@ -185,7 +195,8 @@ set(VM_SOURCES_WKS
finalizerthread.cpp
frameworkexceptionloader.cpp
gccover.cpp
- gcenv.cpp
+ gcenv.ee.cpp
+ gcenv.os.cpp
gchelpers.cpp
genmeth.cpp
../gc/gceesvr.cpp
diff --git a/src/vm/appdomain.cpp b/src/vm/appdomain.cpp
index d89146dbfa..c9f6588cdd 100644
--- a/src/vm/appdomain.cpp
+++ b/src/vm/appdomain.cpp
@@ -14,7 +14,6 @@
#include "excep.h"
#include "eeconfig.h"
#include "gc.h"
-#include "gcenv.h"
#include "eventtrace.h"
#ifdef FEATURE_FUSION
#include "assemblysink.h"
diff --git a/src/vm/common.h b/src/vm/common.h
index e323333ef5..2d23f8c471 100644
--- a/src/vm/common.h
+++ b/src/vm/common.h
@@ -288,7 +288,6 @@ namespace Loader
} LoadFlag;
}
-
// src/inc
#include "utilcode.h"
#include "log.h"
@@ -297,6 +296,9 @@ namespace Loader
#include "lazycow.h"
// src/vm
+#include "gcenv.interlocked.h"
+#include "gcenv.interlocked.inl"
+
#include "util.hpp"
#include "ibclogger.h"
#include "eepolicy.h"
diff --git a/src/vm/crst.cpp b/src/vm/crst.cpp
index 72665493a4..9ecdee748d 100644
--- a/src/vm/crst.cpp
+++ b/src/vm/crst.cpp
@@ -653,9 +653,9 @@ void CrstBase::PostEnter()
}
_ASSERTE((m_entercount == 0 && m_holderthreadid.IsUnknown()) ||
- m_holderthreadid.IsSameThread() ||
+ m_holderthreadid.IsCurrentThread() ||
IsAtProcessExit());
- m_holderthreadid.SetThreadId();
+ m_holderthreadid.SetToCurrentThread();
m_entercount++;
if (m_entercount == 1)
@@ -715,7 +715,7 @@ void CrstBase::PreLeave()
_ASSERTE(m_entercount > 0);
m_entercount--;
if (!m_entercount) {
- m_holderthreadid.ResetThreadId();
+ m_holderthreadid.Clear();
// Delink it from the Thread's chain of OwnedChain
if (m_prev)
@@ -796,7 +796,7 @@ void CrstBase::DebugInit(CrstType crstType, CrstFlags flags)
m_crstType = crstType;
m_tag = GetCrstName(crstType);
m_crstlevel = GetCrstLevel(crstType);
- m_holderthreadid.ResetThreadId();
+ m_holderthreadid.Clear();
m_entercount = 0;
m_next = NULL;
m_prev = NULL;
@@ -868,7 +868,7 @@ void CrstBase::DebugDestroy()
}
FillMemory(&m_criticalsection, sizeof(m_criticalsection), 0xcc);
- m_holderthreadid.ResetThreadId();
+ m_holderthreadid.Clear();
m_entercount = 0xcccccccc;
m_next = (CrstBase*)POISONC;
@@ -914,7 +914,7 @@ BOOL CrstBase::IsSafeToTake()
(GCHeap::IsGCInProgress() && pThread == ThreadSuspend::GetSuspensionThread()));
END_GETTHREAD_ALLOWED;
- if (m_holderthreadid.IsSameThread())
+ if (m_holderthreadid.IsCurrentThread())
{
// If we already hold it, we can't violate level order.
// Check if client wanted to allow reentrancy.
@@ -949,7 +949,7 @@ BOOL CrstBase::IsSafeToTake()
for (CrstBase *pcrst = GetThreadsOwnedCrsts(); pcrst != NULL; pcrst = pcrst->m_next)
{
fSafe =
- !pcrst->m_holderthreadid.IsSameThread()
+ !pcrst->m_holderthreadid.IsCurrentThread()
|| (pcrst->m_crstlevel == CRSTUNORDERED)
|| (pcrst->m_crstlevel > m_crstlevel)
|| (pcrst->m_crstlevel == m_crstlevel && (m_dwFlags & CRST_UNSAFE_SAMELEVEL) != 0);
diff --git a/src/vm/crst.h b/src/vm/crst.h
index 010cb5f8fb..730327e20d 100644
--- a/src/vm/crst.h
+++ b/src/vm/crst.h
@@ -261,7 +261,7 @@ public:
#ifdef CROSSGEN_COMPILE
return TRUE;
#else
- return m_holderthreadid.IsSameThread();
+ return m_holderthreadid.IsCurrentThread();
#endif
}
diff --git a/src/vm/eehash.inl b/src/vm/eehash.inl
index 6a09b29344..9910b5525b 100644
--- a/src/vm/eehash.inl
+++ b/src/vm/eehash.inl
@@ -17,7 +17,7 @@ BOOL EEHashTableBase<KeyType, Helper, bDefaultCopyIsDeep>::OwnLock()
return TRUE;
if (m_pfnLockOwner == NULL) {
- return m_writerThreadId.IsSameThread();
+ return m_writerThreadId.IsCurrentThread();
}
else {
BOOL ret = m_pfnLockOwner(m_lockData);
@@ -211,7 +211,7 @@ BOOL EEHashTableBase<KeyType, Helper, bDefaultCopyIsDeep>::Init(DWORD dwNumBucke
}
if (m_pfnLockOwner == NULL) {
- m_writerThreadId.SetThreadId();
+ m_writerThreadId.SetToCurrentThread();
}
m_CheckThreadSafety = CheckThreadSafety;
#endif
diff --git a/src/vm/gcenv.cpp b/src/vm/gcenv.ee.cpp
index 99880b54a1..ab1d66f82b 100644
--- a/src/vm/gcenv.cpp
+++ b/src/vm/gcenv.ee.cpp
@@ -4,7 +4,7 @@
//
/*
- * GCENV.CPP
+ * GCENV.EE.CPP
*
* GCToEEInterface implementation
*
@@ -36,7 +36,7 @@ void GCToEEInterface::SuspendEE(SUSPEND_REASON reason)
ThreadSuspend::SuspendEE((ThreadSuspend::SUSPEND_REASON)reason);
}
-void GCToEEInterface::RestartEE(BOOL bFinishedGC)
+void GCToEEInterface::RestartEE(bool bFinishedGC)
{
WRAPPER_NO_CONTRACT;
@@ -428,7 +428,7 @@ StackWalkAction GcStackCrawlCallBack(CrawlFrame* pCF, VOID* pData)
return SWA_CONTINUE;
}
-VOID GCToEEInterface::SyncBlockCacheWeakPtrScan(HANDLESCANPROC scanProc, LPARAM lp1, LPARAM lp2)
+VOID GCToEEInterface::SyncBlockCacheWeakPtrScan(HANDLESCANPROC scanProc, uintptr_t lp1, uintptr_t lp2)
{
CONTRACTL
{
@@ -726,3 +726,21 @@ void GCToEEInterface::GcEnumAllocContexts(enum_alloc_context_func* fn, void* par
fn(pThread->GetAllocContext(), param);
}
}
+
+bool GCToEEInterface::IsPreemptiveGCDisabled(Thread * pThread)
+{
+ WRAPPER_NO_CONTRACT;
+ return !!pThread->PreemptiveGCDisabled();
+}
+
+void GCToEEInterface::EnablePreemptiveGC(Thread * pThread)
+{
+ WRAPPER_NO_CONTRACT;
+ pThread->EnablePreemptiveGC();
+}
+
+void GCToEEInterface::DisablePreemptiveGC(Thread * pThread)
+{
+ WRAPPER_NO_CONTRACT;
+ pThread->DisablePreemptiveGC();
+}
diff --git a/src/vm/gcenv.ee.h b/src/vm/gcenv.ee.h
new file mode 100644
index 0000000000..2baf24ca36
--- /dev/null
+++ b/src/vm/gcenv.ee.h
@@ -0,0 +1,6 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+#include "../gc/env/gcenv.ee.h"
diff --git a/src/vm/gcenv.h b/src/vm/gcenv.h
index 73e65852a7..7ddbe5e46a 100644
--- a/src/vm/gcenv.h
+++ b/src/vm/gcenv.h
@@ -45,96 +45,14 @@
#include <mscoruefwrapper.h>
#endif // FEATURE_UEF_CHAINMANAGER
-
-struct ScanContext;
-class CrawlFrame;
-
-typedef void promote_func(PTR_PTR_Object, ScanContext*, uint32_t);
-
-typedef void enum_alloc_context_func(alloc_context*, void*);
-
-typedef struct
-{
- promote_func* f;
- ScanContext* sc;
- CrawlFrame * cf;
-} GCCONTEXT;
-
-
-class GCToEEInterface
-{
-public:
- //
- // Suspend/Resume callbacks
- //
- typedef enum
- {
- SUSPEND_FOR_GC = 1,
- SUSPEND_FOR_GC_PREP = 6
- } SUSPEND_REASON;
-
- static void SuspendEE(SUSPEND_REASON reason);
- static void RestartEE(BOOL bFinishedGC); //resume threads.
-
- //
- // The GC roots enumeration callback
- //
- static void GcScanRoots(promote_func* fn, int condemned, int max_gen, ScanContext* sc);
-
- //
- // Callbacks issues during GC that the execution engine can do its own bookeeping
- //
-
- // start of GC call back - single threaded
- static void GcStartWork(int condemned, int max_gen);
-
- //EE can perform post stack scanning action, while the
- // user threads are still suspended
- static void AfterGcScanRoots(int condemned, int max_gen, ScanContext* sc);
-
- // Called before BGC starts sweeping, the heap is walkable
- static void GcBeforeBGCSweepWork();
-
- // post-gc callback.
- static void GcDone(int condemned);
-
- // Promote refcounted handle callback
- static bool RefCountedHandleCallbacks(Object * pObject);
-
- // Sync block cache management
- static void SyncBlockCacheWeakPtrScan(HANDLESCANPROC scanProc, LPARAM lp1, LPARAM lp2);
- static void SyncBlockCacheDemote(int max_gen);
- static void SyncBlockCachePromotionsGranted(int max_gen);
-
- // Thread functions
- static bool IsPreemptiveGCDisabled(Thread * pThread)
- {
- WRAPPER_NO_CONTRACT;
- return !!pThread->PreemptiveGCDisabled();
- }
-
- static void EnablePreemptiveGC(Thread * pThread)
- {
- WRAPPER_NO_CONTRACT;
- pThread->EnablePreemptiveGC();
- }
-
- static void DisablePreemptiveGC(Thread * pThread)
- {
- WRAPPER_NO_CONTRACT;
- pThread->DisablePreemptiveGC();
- }
-
- static void SetGCSpecial(Thread * pThread);
- static alloc_context * GetAllocContext(Thread * pThread);
- static bool CatchAtSafePoint(Thread * pThread);
-
- static void GcEnumAllocContexts(enum_alloc_context_func* fn, void* param);
-};
-
#define GCMemoryStatus MEMORYSTATUSEX
-#define CLR_MUTEX_COOKIE MUTEX_COOKIE
+#include "util.hpp"
+
+#include "gcenv.ee.h"
+#include "gcenv.os.h"
+#include "gcenv.interlocked.h"
+#include "gcenv.interlocked.inl"
namespace ETW
{
diff --git a/src/vm/gcenv.interlocked.h b/src/vm/gcenv.interlocked.h
new file mode 100644
index 0000000000..39c6ad3078
--- /dev/null
+++ b/src/vm/gcenv.interlocked.h
@@ -0,0 +1,6 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+#include "../gc/env/gcenv.interlocked.h"
diff --git a/src/vm/gcenv.interlocked.inl b/src/vm/gcenv.interlocked.inl
new file mode 100644
index 0000000000..8d334168dc
--- /dev/null
+++ b/src/vm/gcenv.interlocked.inl
@@ -0,0 +1,6 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+#include "../gc/env/gcenv.interlocked.inl"
diff --git a/src/vm/gcenv.os.cpp b/src/vm/gcenv.os.cpp
new file mode 100644
index 0000000000..6d72cee3bd
--- /dev/null
+++ b/src/vm/gcenv.os.cpp
@@ -0,0 +1,520 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/*
+ * gcenv.os.cpp
+ *
+ * GCToOSInterface implementation
+ *
+
+ *
+ */
+
+#include "common.h"
+#include "gcenv.h"
+
+// Initialize the interface implementation
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::Initialize()
+{
+ LIMITED_METHOD_CONTRACT;
+ return true;
+}
+
+// Shutdown the interface implementation
+void GCToOSInterface::Shutdown()
+{
+ LIMITED_METHOD_CONTRACT;
+}
+
+// Get numeric id of the current thread if possible on the
+// current platform. It is indended for logging purposes only.
+// Return:
+// Numeric id of the current thread or 0 if the
+uint32_t GCToOSInterface::GetCurrentThreadIdForLogging()
+{
+ LIMITED_METHOD_CONTRACT;
+ return ::GetCurrentThreadId();
+}
+
+// Get id of the process
+// Return:
+// Id of the current process
+uint32_t GCToOSInterface::GetCurrentProcessId()
+{
+ LIMITED_METHOD_CONTRACT;
+ return ::GetCurrentProcessId();
+}
+
+// Set ideal affinity for the current thread
+// Parameters:
+// affinity - ideal processor affinity for the thread
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::SetCurrentThreadIdealAffinity(GCThreadAffinity* affinity)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ bool success = true;
+
+#if !defined(FEATURE_CORESYSTEM)
+ SetThreadIdealProcessor(GetCurrentThread(), (DWORD)affinity->Processor);
+#elif !defined(FEATURE_PAL)
+ PROCESSOR_NUMBER proc;
+
+ if (affinity->Group != -1)
+ {
+ proc.Group = (WORD)affinity->Group;
+ proc.Number = (BYTE)affinity->Processor;
+ proc.Reserved = 0;
+
+ success = !!SetThreadIdealProcessorEx(GetCurrentThread(), &proc, NULL);
+ }
+ else
+ {
+ if (GetThreadIdealProcessorEx(GetCurrentThread(), &proc))
+ {
+ proc.Number = (BYTE)affinity->Processor;
+ success = !!SetThreadIdealProcessorEx(GetCurrentThread(), &proc, NULL);
+ }
+ }
+#endif
+
+ return success;
+}
+
+// Get the number of the current processor
+uint32_t GCToOSInterface::GetCurrentProcessorNumber()
+{
+ LIMITED_METHOD_CONTRACT;
+
+ _ASSERTE(CanGetCurrentProcessorNumber());
+ return ::GetCurrentProcessorNumber();
+}
+
+// Check if the OS supports getting current processor number
+bool GCToOSInterface::CanGetCurrentProcessorNumber()
+{
+ LIMITED_METHOD_CONTRACT;
+
+#ifdef FEATURE_PAL
+ return PAL_HasGetCurrentProcessorNumber();
+#else
+ // on all Windows platforms we support this API exists
+ return true;
+#endif
+}
+
+// Flush write buffers of processors that are executing threads of the current process
+void GCToOSInterface::FlushProcessWriteBuffers()
+{
+ LIMITED_METHOD_CONTRACT;
+ ::FlushProcessWriteBuffers();
+}
+
+// Break into a debugger
+void GCToOSInterface::DebugBreak()
+{
+ LIMITED_METHOD_CONTRACT;
+ ::DebugBreak();
+}
+
+// Get number of logical processors
+uint32_t GCToOSInterface::GetLogicalCpuCount()
+{
+ LIMITED_METHOD_CONTRACT;
+ return ::GetLogicalCpuCount();
+}
+
+// Causes the calling thread to sleep for the specified number of milliseconds
+// Parameters:
+// sleepMSec - time to sleep before switching to another thread
+void GCToOSInterface::Sleep(uint32_t sleepMSec)
+{
+ LIMITED_METHOD_CONTRACT;
+ __SwitchToThread(sleepMSec, 0);
+}
+
+// Causes the calling thread to yield execution to another thread that is ready to run on the current processor.
+// Parameters:
+// switchCount - number of times the YieldThread was called in a loop
+void GCToOSInterface::YieldThread(uint32_t switchCount)
+{
+ LIMITED_METHOD_CONTRACT;
+ __SwitchToThread(0, switchCount);
+}
+
+// Reserve virtual memory range.
+// Parameters:
+// address - starting virtual address, it can be NULL to let the function choose the starting address
+// size - size of the virtual memory range
+// alignment - requested memory alignment
+// flags - flags to control special settings like write watching
+// Return:
+// Starting virtual address of the reserved range
+void* GCToOSInterface::VirtualReserve(void* address, size_t size, size_t alignment, uint32_t flags)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ DWORD memFlags = (flags & VirtualReserveFlags::WriteWatch) ? (MEM_RESERVE | MEM_WRITE_WATCH) : MEM_RESERVE;
+ if (alignment == 0)
+ {
+ return ::ClrVirtualAlloc(0, size, memFlags, PAGE_READWRITE);
+ }
+ else
+ {
+ return ::ClrVirtualAllocAligned(0, size, memFlags, PAGE_READWRITE, alignment);
+ }
+}
+
+// Release virtual memory range previously reserved using VirtualReserve
+// Parameters:
+// address - starting virtual address
+// size - size of the virtual memory range
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::VirtualRelease(void* address, size_t size)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ UNREFERENCED_PARAMETER(size);
+ return !!::ClrVirtualFree(address, 0, MEM_RELEASE);
+}
+
+// Commit virtual memory range. It must be part of a range reserved using VirtualReserve.
+// Parameters:
+// address - starting virtual address
+// size - size of the virtual memory range
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::VirtualCommit(void* address, size_t size)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ return ::ClrVirtualAlloc(address, size, MEM_COMMIT, PAGE_READWRITE) != NULL;
+}
+
+// Decomit virtual memory range.
+// Parameters:
+// address - starting virtual address
+// size - size of the virtual memory range
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::VirtualDecommit(void* address, size_t size)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ return !!::ClrVirtualFree(address, size, MEM_DECOMMIT);
+}
+
+// Reset virtual memory range. Indicates that data in the memory range specified by address and size is no
+// longer of interest, but it should not be decommitted.
+// Parameters:
+// address - starting virtual address
+// size - size of the virtual memory range
+// unlock - true if the memory range should also be unlocked
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::VirtualReset(void * address, size_t size, bool unlock)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ bool success = ::ClrVirtualAlloc(address, size, MEM_RESET, PAGE_READWRITE) != NULL;
+#ifndef FEATURE_PAL
+ if (success && unlock)
+ {
+ // Remove the page range from the working set
+ ::VirtualUnlock(address, size);
+ }
+#endif // FEATURE_PAL
+
+ return success;
+}
+
+// Check if the OS supports write watching
+bool GCToOSInterface::SupportsWriteWatch()
+{
+ LIMITED_METHOD_CONTRACT;
+
+ bool writeWatchSupported = false;
+
+ // check if the OS supports write-watch.
+ // Drawbridge does not support write-watch so we still need to do the runtime detection for them.
+ // Otherwise, all currently supported OSes do support write-watch.
+ void* mem = VirtualReserve (0, g_SystemInfo.dwAllocationGranularity, 0, VirtualReserveFlags::WriteWatch);
+ if (mem != NULL)
+ {
+ VirtualRelease (mem, g_SystemInfo.dwAllocationGranularity);
+ writeWatchSupported = true;
+ }
+
+ return writeWatchSupported;
+}
+
+// Reset the write tracking state for the specified virtual memory range.
+// Parameters:
+// address - starting virtual address
+// size - size of the virtual memory range
+void GCToOSInterface::ResetWriteWatch(void* address, size_t size)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ ::ResetWriteWatch(address, size);
+}
+
+// Retrieve addresses of the pages that are written to in a region of virtual memory
+// Parameters:
+// resetState - true indicates to reset the write tracking state
+// address - starting virtual address
+// size - size of the virtual memory range
+// pageAddresses - buffer that receives an array of page addresses in the memory region
+// pageAddressesCount - on input, size of the lpAddresses array, in array elements
+// on output, the number of page addresses that are returned in the array.
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::GetWriteWatch(bool resetState, void* address, size_t size, void** pageAddresses, uintptr_t* pageAddressesCount)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ uint32_t flags = resetState ? 1 : 0;
+ ULONG granularity;
+
+ bool success = ::GetWriteWatch(flags, address, size, pageAddresses, (ULONG_PTR*)pageAddressesCount, &granularity) == 0;
+ _ASSERTE (granularity == OS_PAGE_SIZE);
+
+ return success;
+}
+
+// Get size of the largest cache on the processor die
+// Parameters:
+// trueSize - true to return true cache size, false to return scaled up size based on
+// the processor architecture
+// Return:
+// Size of the cache
+size_t GCToOSInterface::GetLargestOnDieCacheSize(bool trueSize)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ return ::GetLargestOnDieCacheSize(trueSize);
+}
+
+// Get affinity mask of the current process
+// Parameters:
+// processMask - affinity mask for the specified process
+// systemMask - affinity mask for the system
+// Return:
+// true if it has succeeded, false if it has failed
+// Remarks:
+// A process affinity mask is a bit vector in which each bit represents the processors that
+// a process is allowed to run on. A system affinity mask is a bit vector in which each bit
+// represents the processors that are configured into a system.
+// A process affinity mask is a subset of the system affinity mask. A process is only allowed
+// to run on the processors configured into a system. Therefore, the process affinity mask cannot
+// specify a 1 bit for a processor when the system affinity mask specifies a 0 bit for that processor.
+bool GCToOSInterface::GetCurrentProcessAffinityMask(uintptr_t* processMask, uintptr_t* systemMask)
+{
+ LIMITED_METHOD_CONTRACT;
+
+#ifndef FEATURE_CORECLR
+ return !!::GetProcessAffinityMask(GetCurrentProcess(), (PDWORD_PTR)processMask, (PDWORD_PTR)systemMask);
+#else
+ return false;
+#endif
+}
+
+// Get number of processors assigned to the current process
+// Return:
+// The number of processors
+uint32_t GCToOSInterface::GetCurrentProcessCpuCount()
+{
+ LIMITED_METHOD_CONTRACT;
+
+ return ::GetCurrentProcessCpuCount();
+}
+
+// Get global memory status
+// Parameters:
+// ms - pointer to the structure that will be filled in with the memory status
+void GCToOSInterface::GetMemoryStatus(GCMemoryStatus* ms)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ MEMORYSTATUSEX msEx;
+ msEx.dwLength = sizeof(MEMORYSTATUSEX);
+
+ ::GetProcessMemoryLoad(&msEx);
+
+ // Convert Windows struct to abstract struct
+ ms->dwMemoryLoad = msEx.dwMemoryLoad;
+ ms->ullTotalPhys = msEx.ullTotalPhys;
+ ms->ullAvailPhys = msEx.ullAvailPhys;
+ ms->ullTotalPageFile = msEx.ullTotalPageFile;
+ ms->ullAvailPageFile = msEx.ullAvailPageFile;
+ ms->ullTotalVirtual = msEx.ullTotalVirtual;
+ ms->ullAvailVirtual = msEx.ullAvailVirtual;
+}
+
+// Get a high precision performance counter
+// Return:
+// The counter value
+int64_t GCToOSInterface::QueryPerformanceCounter()
+{
+ LIMITED_METHOD_CONTRACT;
+
+ LARGE_INTEGER ts;
+ if (!::QueryPerformanceCounter(&ts))
+ {
+ DebugBreak();
+ _ASSERTE(!"Fatal Error - cannot query performance counter.");
+ EEPOLICY_HANDLE_FATAL_ERROR(COR_E_EXECUTIONENGINE); // TODO: fatal error
+ }
+
+ return ts.QuadPart;
+}
+
+// Get a frequency of the high precision performance counter
+// Return:
+// The counter frequency
+int64_t GCToOSInterface::QueryPerformanceFrequency()
+{
+ LIMITED_METHOD_CONTRACT;
+
+ LARGE_INTEGER frequency;
+ if (!::QueryPerformanceFrequency(&frequency))
+ {
+ DebugBreak();
+ _ASSERTE(!"Fatal Error - cannot query performance counter.");
+ EEPOLICY_HANDLE_FATAL_ERROR(COR_E_EXECUTIONENGINE); // TODO: fatal error
+ }
+
+ return frequency.QuadPart;
+}
+
+// Get a time stamp with a low precision
+// Return:
+// Time stamp in milliseconds
+uint32_t GCToOSInterface::GetLowPrecisionTimeStamp()
+{
+ LIMITED_METHOD_CONTRACT;
+
+ return ::GetTickCount();
+}
+
+// Parameters of the GC thread stub
+struct GCThreadStubParam
+{
+ GCThreadFunction GCThreadFunction;
+ void* GCThreadParam;
+};
+
+// GC thread stub to convert GC thread function to an OS specific thread function
+static DWORD GCThreadStub(void* param)
+{
+ WRAPPER_NO_CONTRACT;
+
+ GCThreadStubParam *stubParam = (GCThreadStubParam*)param;
+ GCThreadFunction function = stubParam->GCThreadFunction;
+ void* threadParam = stubParam->GCThreadParam;
+
+ delete stubParam;
+
+ function(threadParam);
+
+ return 0;
+}
+
+// Create a new thread
+// Parameters:
+// function - the function to be executed by the thread
+// param - parameters of the thread
+// affinity - processor affinity of the thread
+// Return:
+// true if it has succeeded, false if it has failed
+bool GCToOSInterface::CreateThread(GCThreadFunction function, void* param, GCThreadAffinity* affinity)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ uint32_t thread_id;
+
+ GCThreadStubParam* stubParam = new (nothrow) GCThreadStubParam();
+ stubParam->GCThreadFunction = function;
+ stubParam->GCThreadParam = param;
+
+ HANDLE gc_thread = Thread::CreateUtilityThread(Thread::StackSize_Medium, GCThreadStub, stubParam, CREATE_SUSPENDED, (DWORD*)&thread_id);
+
+ if (!gc_thread)
+ {
+ return false;
+ }
+
+ SetThreadPriority(gc_thread, /* THREAD_PRIORITY_ABOVE_NORMAL );*/ THREAD_PRIORITY_HIGHEST );
+
+#ifndef FEATURE_CORECLR
+ if (affinity->Group != -1)
+ {
+ _ASSERTE(affinity->Processor != -1);
+ GROUP_AFFINITY ga;
+ ga.Group = (WORD)affinity->Group;
+ ga.Reserved[0] = 0; // reserve must be filled with zero
+ ga.Reserved[1] = 0; // otherwise call may fail
+ ga.Reserved[2] = 0;
+ ga.Mask = 1 << affinity->Processor;
+
+ CPUGroupInfo::SetThreadGroupAffinity(gc_thread, &ga, NULL);
+ }
+ else if (affinity->Processor != -1)
+ {
+ SetThreadAffinityMask(gc_thread, 1 << affinity->Processor);
+ }
+#endif // !FEATURE_CORECLR
+
+ ResumeThread(gc_thread);
+ CloseHandle(gc_thread);
+
+ return true;
+}
+
+// Open a file
+// Parameters:
+// filename - name of the file to open
+// mode - mode to open the file in (like in the CRT fopen)
+// Return:
+// FILE* of the opened file
+FILE* GCToOSInterface::OpenFile(const WCHAR* filename, const WCHAR* mode)
+{
+ LIMITED_METHOD_CONTRACT;
+
+ return _wfopen(filename, mode);
+}
+
+// Initialize the critical section
+void CLRCriticalSection::Initialize()
+{
+ WRAPPER_NO_CONTRACT;
+ UnsafeInitializeCriticalSection(&m_cs);
+}
+
+// Destroy the critical section
+void CLRCriticalSection::Destroy()
+{
+ WRAPPER_NO_CONTRACT;
+ UnsafeDeleteCriticalSection(&m_cs);
+}
+
+// Enter the critical section. Blocks until the section can be entered.
+void CLRCriticalSection::Enter()
+{
+ WRAPPER_NO_CONTRACT;
+ UnsafeEnterCriticalSection(&m_cs);
+}
+
+// Leave the critical section
+void CLRCriticalSection::Leave()
+{
+ WRAPPER_NO_CONTRACT;
+ UnsafeLeaveCriticalSection(&m_cs);
+}
+
diff --git a/src/vm/gcenv.os.h b/src/vm/gcenv.os.h
new file mode 100644
index 0000000000..b6897aed8f
--- /dev/null
+++ b/src/vm/gcenv.os.h
@@ -0,0 +1,6 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+#include "../gc/env/gcenv.os.h"
diff --git a/src/vm/gchelpers.cpp b/src/vm/gchelpers.cpp
index d7a1cacefe..8f9315a12c 100644
--- a/src/vm/gchelpers.cpp
+++ b/src/vm/gchelpers.cpp
@@ -1314,7 +1314,7 @@ void ErectWriteBarrierForMT(MethodTable **dst, MethodTable *ref)
*dst = ref;
-#ifdef _DEBUG
+#ifdef WRITE_BARRIER_CHECK
updateGCShadow((Object **)dst, (Object *)ref); // support debugging write barrier, updateGCShadow only cares that these are pointers
#endif
diff --git a/src/vm/hash.cpp b/src/vm/hash.cpp
index 8a0ab28652..8e8408c9a2 100644
--- a/src/vm/hash.cpp
+++ b/src/vm/hash.cpp
@@ -298,7 +298,7 @@ void HashMap::Init(DWORD cbInitialSize, Compare* pCompare, BOOL fAsyncMode, Lock
m_pfnLockOwner = pLock->lockOwnerFunc;
}
if (m_pfnLockOwner == NULL) {
- m_writerThreadId.SetThreadId();
+ m_writerThreadId.SetToCurrentThread();
}
#endif // _DEBUG
}
@@ -1079,7 +1079,7 @@ BOOL HashMap::OwnLock()
DEBUG_ONLY_FUNCTION;
if (m_pfnLockOwner == NULL) {
- return m_writerThreadId.IsSameThread();
+ return m_writerThreadId.IsCurrentThread();
}
else {
BOOL ret = m_pfnLockOwner(m_lockData);
diff --git a/src/vm/spinlock.cpp b/src/vm/spinlock.cpp
index 2360d5cf0c..68b9150158 100644
--- a/src/vm/spinlock.cpp
+++ b/src/vm/spinlock.cpp
@@ -160,7 +160,7 @@ BOOL SpinLock::OwnedByCurrentThread()
}
CONTRACTL_END;
- return m_holdingThreadId.IsSameThread();
+ return m_holdingThreadId.IsCurrentThread();
}
#endif
@@ -222,7 +222,7 @@ void SpinLock::GetLock(Thread* pThread)
INCTHREADLOCKCOUNTTHREAD(pThread);
#ifdef _DEBUG
- m_holdingThreadId.SetThreadId();
+ m_holdingThreadId.SetToCurrentThread();
dbg_EnterLock();
#endif
}
@@ -289,7 +289,7 @@ void SpinLock::FreeLock(Thread* pThread)
#ifdef _DEBUG
_ASSERTE(OwnedByCurrentThread());
- m_holdingThreadId.ResetThreadId();
+ m_holdingThreadId.Clear();
dbg_LeaveLock();
#endif
diff --git a/src/vm/syncblk.cpp b/src/vm/syncblk.cpp
index 7163658ef3..9e8dec4b62 100644
--- a/src/vm/syncblk.cpp
+++ b/src/vm/syncblk.cpp
@@ -1348,7 +1348,7 @@ void SyncBlockCache::GCDeleteSyncBlock(SyncBlock *psb)
m_FreeBlockList = &psb->m_Link;
}
-void SyncBlockCache::GCWeakPtrScan(HANDLESCANPROC scanProc, LPARAM lp1, LPARAM lp2)
+void SyncBlockCache::GCWeakPtrScan(HANDLESCANPROC scanProc, uintptr_t lp1, uintptr_t lp2)
{
CONTRACTL
{
diff --git a/src/vm/syncblk.h b/src/vm/syncblk.h
index ad527b9338..60f0fa240d 100644
--- a/src/vm/syncblk.h
+++ b/src/vm/syncblk.h
@@ -1008,7 +1008,7 @@ class SyncBlockCache
// return sync block to cache or delete, called from GC
void GCDeleteSyncBlock(SyncBlock *sb);
- void GCWeakPtrScan(HANDLESCANPROC scanProc, LPARAM lp1, LPARAM lp2);
+ void GCWeakPtrScan(HANDLESCANPROC scanProc, uintptr_t lp1, uintptr_t lp2);
void GCDone(BOOL demoting, int max_gen);
diff --git a/src/vm/threads.cpp b/src/vm/threads.cpp
index a614ddbdff..22e3b88d79 100644
--- a/src/vm/threads.cpp
+++ b/src/vm/threads.cpp
@@ -680,8 +680,8 @@ DWORD Thread::StartThread()
DWORD dwRetVal = (DWORD) -1;
#ifdef _DEBUG
- _ASSERTE (m_Creater.IsSameThread());
- m_Creater.ResetThreadId();
+ _ASSERTE (m_Creater.IsCurrentThread());
+ m_Creater.Clear();
#endif
#ifdef FEATURE_INCLUDE_ALL_INTERFACES
HostComHolder<IHostTask> pHostTask(GetHostTaskWithAddRef());
@@ -1922,7 +1922,7 @@ Thread::Thread()
#ifdef _DEBUG
dbg_m_cSuspendedThreads = 0;
dbg_m_cSuspendedThreadsWithoutOSLock = 0;
- m_Creater.ResetThreadId();
+ m_Creater.Clear();
m_dwUnbreakableLockCount = 0;
#endif
@@ -3132,7 +3132,7 @@ BOOL Thread::CreateNewOSThread(SIZE_T sizeToCommitOrReserve, LPTHREAD_START_ROUT
FastInterlockIncrement(&ThreadStore::s_pThreadStore->m_PendingThreadCount);
#ifdef _DEBUG
- m_Creater.SetThreadId();
+ m_Creater.SetToCurrentThread();
#endif
return TRUE;
@@ -3188,7 +3188,7 @@ BOOL Thread::CreateNewHostTask(SIZE_T stackSize, LPTHREAD_START_ROUTINE start, v
FastInterlockIncrement(&ThreadStore::s_pThreadStore->m_PendingThreadCount);
#ifdef _DEBUG
- m_Creater.SetThreadId();
+ m_Creater.SetToCurrentThread();
#endif
return TRUE;
@@ -11202,7 +11202,7 @@ BOOL ThreadStore::HoldingThreadStore(Thread *pThread)
}
else
{
- return (s_pThreadStore->m_holderthreadid.IsSameThread());
+ return (s_pThreadStore->m_holderthreadid.IsCurrentThread());
}
}
diff --git a/src/vm/threadsuspend.cpp b/src/vm/threadsuspend.cpp
index 0d823ddda1..705ae835c7 100644
--- a/src/vm/threadsuspend.cpp
+++ b/src/vm/threadsuspend.cpp
@@ -480,7 +480,7 @@ DWORD Thread::ResumeThread()
DWORD res = ::ResumeThread(m_ThreadHandleForResume);
_ASSERTE (res != 0 && "Thread is not previously suspended");
#ifdef _DEBUG_IMPL
- _ASSERTE (!m_Creater.IsSameThread());
+ _ASSERTE (!m_Creater.IsCurrentThread());
if ((res != (DWORD)-1) && (res != 0))
{
Thread * pCurThread = GetThread();
@@ -3102,7 +3102,7 @@ void ThreadSuspend::LockThreadStore(ThreadSuspend::SUSPEND_REASON reason)
_ASSERTE(ThreadStore::s_pThreadStore->m_holderthreadid.IsUnknown());
- ThreadStore::s_pThreadStore->m_holderthreadid.SetThreadId();
+ ThreadStore::s_pThreadStore->m_holderthreadid.SetToCurrentThread();
LOG((LF_SYNC, INFO3, "Locked thread store\n"));
@@ -3147,12 +3147,12 @@ void ThreadSuspend::UnlockThreadStore(BOOL bThreadDestroyed, ThreadSuspend::SUSP
// If Thread object has been destroyed, we need to reset the ownership info in Crst.
_ASSERTE(!bThreadDestroyed || GetThread() == NULL);
if (bThreadDestroyed) {
- ThreadStore::s_pThreadStore->m_Crst.m_holderthreadid.SetThreadId();
+ ThreadStore::s_pThreadStore->m_Crst.m_holderthreadid.SetToCurrentThread();
}
#endif
ThreadStore::s_pThreadStore->m_HoldingThread = NULL;
- ThreadStore::s_pThreadStore->m_holderthreadid.ResetThreadId();
+ ThreadStore::s_pThreadStore->m_holderthreadid.Clear();
ThreadStore::s_pThreadStore->Leave();
Thread::EndThreadAffinity();
diff --git a/src/vm/util.hpp b/src/vm/util.hpp
index b444357124..62508bc92b 100644
--- a/src/vm/util.hpp
+++ b/src/vm/util.hpp
@@ -652,14 +652,14 @@ public:
}
#endif
- void SetThreadId()
+ void SetToCurrentThread()
{
WRAPPER_NO_CONTRACT;
m_FiberPtrId = ClrTeb::GetFiberPtrId();
}
- BOOL IsSameThread() const
+ bool IsCurrentThread() const
{
WRAPPER_NO_CONTRACT;
@@ -668,13 +668,13 @@ public:
#ifdef _DEBUG
- BOOL IsUnknown() const
+ bool IsUnknown() const
{
LIMITED_METHOD_CONTRACT;
return m_FiberPtrId == NULL;
}
#endif
- void ResetThreadId()
+ void Clear()
{
LIMITED_METHOD_CONTRACT;
m_FiberPtrId = NULL;
diff --git a/src/vm/wks/wks.targets b/src/vm/wks/wks.targets
index 5f2770b267..5e5f18bd28 100644
--- a/src/vm/wks/wks.targets
+++ b/src/vm/wks/wks.targets
@@ -103,7 +103,8 @@
<CppCompile Include="$(VmSourcesDir)\FusionSink.cpp" Condition="'$(FeatureFusion)' == 'true'"/>
<CppCompile Include="$(VmSourcesDir)\FusionBind.cpp" Condition="'$(FeatureFusion)' == 'true'"/>
<CppCompile Include="$(VmSourcesDir)\GCDecode.cpp" />
- <CppCompile Include="$(VmSourcesDir)\gcenv.cpp" />
+ <CppCompile Include="$(VmSourcesDir)\gcenv.ee.cpp" />
+ <CppCompile Include="$(VmSourcesDir)\gcenv.os.cpp" />
<CppCompile Include="$(VmSourcesDir)\gchelpers.cpp" />
<CppCompile Include="$(VmSourcesDir)\gchost.cpp" />
<CppCompile Include="$(VmSourcesDir)\genericdict.cpp" />
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 2021fd1add..119266c2f4 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,6 +1,14 @@
# Require at least version 2.8.12 of CMake
cmake_minimum_required(VERSION 2.8.12)
+if (CMAKE_CONFIGURATION_TYPES) # multi-configuration generator?
+ set(CMAKE_CONFIGURATION_TYPES "Debug;Checked;Release;RelWithDebInfo" CACHE STRING "" FORCE)
+endif (CMAKE_CONFIGURATION_TYPES)
+set(CMAKE_C_FLAGS_CHECKED "")
+set(CMAKE_CXX_FLAGS_CHECKED "")
+set(CMAKE_EXE_LINKER_FLAGS_CHECKED "")
+set(CMAKE_SHARED_LINKER_FLAGS_CHECKED "")
+
set(INC_PLATFORM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/Common/Platform)
if (WIN32)
add_definitions(-DWINDOWS=1)
@@ -9,7 +17,7 @@ endif()
# Compile options
if (WIN32)
- add_compile_options(-wd4820)
+ add_compile_options(-wd4100 -wd4514 -wd4668 -wd4710 -wd4711 -wd4820)
endif()
if(CLR_CMAKE_PLATFORM_UNIX)
diff --git a/tests/buildtest.cmd b/tests/buildtest.cmd
index 795d287eb6..5e434a81a4 100644
--- a/tests/buildtest.cmd
+++ b/tests/buildtest.cmd
@@ -25,6 +25,7 @@ if /i "%1" == "x64" (set __BuildArch=x64&shift&goto Arg_Loop)
if /i "%1" == "debug" (set __BuildType=Debug&shift&goto Arg_Loop)
if /i "%1" == "release" (set __BuildType=Release&shift&goto Arg_Loop)
+if /i "%1" == "checked" (set __BuildType=Checked&shift&goto Arg_Loop)
if /i "%1" == "clean" (set __CleanBuild=1&shift&goto Arg_Loop)
@@ -32,6 +33,7 @@ if /i "%1" == "vs2013" (set __VSVersion=%1&shift&goto Arg_Loop)
if /i "%1" == "vs2015" (set __VSVersion=%1&shift&goto Arg_Loop)
if /i "%1" == "crossgen" (set _crossgen=true&shift&goto Arg_Loop)
+if /i "%1" == "ilasmroundtrip" (set _ilasmroundtrip=true&shift&goto Arg_Loop)
if /i "%1" == "priority" (set _priorityvalue=%2&shift&shift&goto Arg_Loop)
if /i "%1" == "verbose" (set _verbosity=detailed&shift&goto Arg_Loop)
@@ -42,6 +44,7 @@ goto Usage
:ArgsDone
if defined _crossgen echo Building tests with CrossGen enabled.&set _buildParameters=%_buildParameters% /p:CrossGen=true
+if defined _ilasmroundtrip echo Building tests with IlasmRoundTrip enabled.&set _buildParameters=%_buildParameters% /p:IlasmRoundTrip=true
if defined _priorityvalue echo Building Test Priority %_priorityvalue%&set _buildParameters=%_buildParameters% /p:CLRTestPriorityToBuild=%_priorityvalue%
if defined _verbosity echo Enabling verbose file logging
if not defined _verbosity set _verbosity=normal
@@ -50,6 +53,7 @@ if not defined __BuildArch set __BuildArch=x64
if not defined __BuildType set __BuildType=Debug
if not defined __BuildOS set __BuildOS=Windows_NT
+set "__BinDir=%__RootBinDir%\Product\%__BuildOS%.%__BuildArch%.%__BuildType%"
set "__TestBinDir=%__RootBinDir%\tests\%__BuildOS%.%__BuildArch%.%__BuildType%"
:: We have different managed and native intermediate dirs because the managed bits will include
:: the configuration information deeper in the intermediates path.
@@ -161,7 +165,6 @@ setlocal
call "!VS%__VSProductVersion%COMNTOOLS!\VsDevCmd.bat"
if not defined VSINSTALLDIR echo Error: build.cmd should be run from a Visual Studio Command Prompt. Please see https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/developer-guide.md for build instructions. && exit /b 1
-
:BuildTests
echo Starting the Managed Tests Build
@@ -215,10 +218,11 @@ echo Usage:
echo %0 BuildArch BuildType [clean] [vsversion] [crossgen] [priority N] [verbose] where:
echo.
echo BuildArch can be: x64
-echo BuildType can be: Debug, Release
+echo BuildType can be: Debug, Release, Checked
echo Clean - optional argument to force a clean build.
echo VSVersion - optional argument to use VS2013 or VS2015 (default VS2015)
echo CrossGen - Enables the tests to run crossgen on the test executables before executing them.
echo Priority (N) where N is a number greater than zero that signifies the set of tests that will be built and consequently run.
+echo IlasmRoundTrip - Enables ilasm round trip build and run of the tests before executing them.
echo Verbose - Enables detailed file logging for the msbuild tasks.
exit /b 1
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/runtest.cmd b/tests/runtest.cmd
index 7414e46193..0f92eb25b3 100644
--- a/tests/runtest.cmd
+++ b/tests/runtest.cmd
@@ -18,6 +18,7 @@ if /i "%1" == "x86" (set __BuildArch=x86&set __MSBuildBuildArch=x86&shift&got
if /i "%1" == "debug" (set __BuildType=debug&shift&goto Arg_Loop)
if /i "%1" == "release" (set __BuildType=release&shift&goto Arg_Loop)
+if /i "%1" == "checked" (set __BuildType=checked&shift&goto Arg_Loop)
if /i "%1" == "SkipWrapperGeneration" (set __SkipWrapperGeneration=true&shift&goto Arg_Loop)
if /i "%1" == "Exclude" (set __Exclude=%2&shift&shift&goto Arg_Loop)
if /i "%1" == "Exclude0" (set __Exclude0=%2&shift&shift&goto Arg_Loop)
@@ -153,7 +154,7 @@ echo Usage:
echo %0 BuildArch BuildType [SkipWrapperGeneration] [Exclude EXCLUSION_TARGETS] [TestEnv TEST_ENV_SCRIPT] [vsversion] CORE_ROOT where:
echo.
echo BuildArch is x64, x86
-echo BuildType can be: Debug, Release
+echo BuildType can be: Debug, Release, Checked
echo SkipWrapperGeneration- Optional parameter - this will run the same set of tests as the last time it was run
echo Exclude0- Optional parameter - specify location of default exclusion file (defaults to issues.targets if not specified)
echo Set to "" to disable default exclusion file.
diff --git a/tests/runtest.proj b/tests/runtest.proj
index 00e7e984fd..4623e6d2d2 100644
--- a/tests/runtest.proj
+++ b/tests/runtest.proj
@@ -183,6 +183,34 @@ using CoreclrTestLib%3B
namespace $([System.String]::Copy($(Category)).Replace(".","_").Replace("\","").Replace("-","_"))
{
+ internal class _Global
+ {
+ internal static bool runningInWindows%3B
+ internal static string reportBase%3B
+ internal static string testBinaryBase%3B
+ internal static string coreRoot%3B
+
+ static _Global()
+ {
+ reportBase = System.IO.Path.GetFullPath(System.Environment.GetEnvironmentVariable(%22XunitTestReportDirBase%22))%3B
+ testBinaryBase = System.IO.Path.GetFullPath(System.Environment.GetEnvironmentVariable(%22XunitTestBinBase%22))%3B
+ coreRoot = System.IO.Path.GetFullPath(System.Environment.GetEnvironmentVariable(%22CORE_ROOT%22))%3B
+
+ if (String.IsNullOrEmpty(reportBase)) {
+ throw new ArgumentException("Environment variable XunitTestReportDirBase is not set")%3B
+ }
+
+ if (String.IsNullOrEmpty(testBinaryBase)) {
+ throw new ArgumentException("Environment variable XunitTestBinBase is not set")%3B
+ }
+
+ if (String.IsNullOrEmpty(coreRoot)) {
+ throw new ArgumentException("Environment variable CORE_ROOT is not set")%3B
+ }
+
+ runningInWindows = System.Environment.GetEnvironmentVariable("OS").StartsWith("Windows")%3B
+ }
+ }
]]>
</_XunitProlog>
@@ -210,35 +238,9 @@ namespace $([System.String]::Copy($(Category)).Replace(".","_").Replace("\","").
<_XunitFact >
<![CDATA[
-
+
public class %(AllCommands._ClassName)
{
- static bool runningInWindows%3B
- static string reportBase%3B
- static string testBinaryBase%3B
- static string coreRoot%3B
-
- static %(AllCommands._ClassName)()
- {
- reportBase = System.IO.Path.GetFullPath(System.Environment.GetEnvironmentVariable(%22XunitTestReportDirBase%22))%3B
- testBinaryBase = System.IO.Path.GetFullPath(System.Environment.GetEnvironmentVariable(%22XunitTestBinBase%22))%3B
- coreRoot = System.IO.Path.GetFullPath(System.Environment.GetEnvironmentVariable(%22CORE_ROOT%22))%3B
-
- if (String.IsNullOrEmpty(reportBase)) {
- throw new ArgumentException("Environment variable XunitTestReportDirBase is not set")%3B
- }
-
- if (String.IsNullOrEmpty(testBinaryBase)) {
- throw new ArgumentException("Environment variable XunitTestBinBase is not set")%3B
- }
-
- if (String.IsNullOrEmpty(coreRoot)) {
- throw new ArgumentException("Environment variable CORE_ROOT is not set")%3B
- }
-
- runningInWindows = System.Environment.GetEnvironmentVariable("OS").StartsWith("Windows")%3B
- }
-
[Fact]
public void %(AllCommands._FactName)()
{
@@ -252,15 +254,15 @@ namespace $([System.String]::Copy($(Category)).Replace(".","_").Replace("\","").
{
CoreclrTestWrapperLib wrapper = new CoreclrTestWrapperLib()%3B
string testSubfolder = @"\$(Category)\$([System.String]::Copy('%(AllCMDs.RelativeDir)').Replace("$(_CMDDIR)\",''))"%3B
- outputFile = System.IO.Path.GetFullPath(reportBase + testSubfolder + @"%(AllCMDs.FileName).output.txt")%3B
- errorFile = System.IO.Path.GetFullPath(reportBase + testSubfolder + @"%(AllCMDs.FileName).error.txt")%3B
- testExecutable = System.IO.Path.GetFullPath(testBinaryBase + @"\$(Category)\$([System.String]::Copy('%(AllCMDs.FullPath)').Replace("$(_CMDDIR)",''))")%3B
+ outputFile = System.IO.Path.GetFullPath(_Global.reportBase + testSubfolder + @"%(AllCMDs.FileName).output.txt")%3B
+ errorFile = System.IO.Path.GetFullPath(_Global.reportBase + testSubfolder + @"%(AllCMDs.FileName).error.txt")%3B
+ testExecutable = System.IO.Path.GetFullPath(_Global.testBinaryBase + @"\$(Category)\$([System.String]::Copy('%(AllCMDs.FullPath)').Replace("$(_CMDDIR)",''))")%3B
- if (!runningInWindows) {
+ if (!_Global.runningInWindows) {
testExecutable = testExecutable.Replace(".cmd", ".sh")%3B
}
- System.IO.Directory.CreateDirectory(reportBase + testSubfolder)%3B
+ System.IO.Directory.CreateDirectory(_Global.reportBase + testSubfolder)%3B
ret = wrapper.RunTest(testExecutable, outputFile, errorFile)%3B
}
@@ -275,7 +277,7 @@ namespace $([System.String]::Copy($(Category)).Replace(".","_").Replace("\","").
: System.IO.File.ReadAllText(errorFile) + "\n\n" +
"Raw output: " + outputFile + "\n" +
"To run the test:\n" +
- "> set CORE_ROOT=" + coreRoot + "\n" +
+ "> set CORE_ROOT=" + _Global.coreRoot + "\n" +
"> " + testExecutable + "\n"%3B
Assert.True(ret == CoreclrTestWrapperLib.EXIT_SUCCESS_CODE, msg)%3B
diff --git a/tests/src/CLRTest.Execute.Bash.targets b/tests/src/CLRTest.Execute.Bash.targets
index f0543f714a..042aa8b7da 100644
--- a/tests/src/CLRTest.Execute.Bash.targets
+++ b/tests/src/CLRTest.Execute.Bash.targets
@@ -52,6 +52,41 @@ fi
</PropertyGroup>
</Target>
+ <Target
+ Name="GetIlasmRoundTripBashScript"
+ Returns="$(IlasmRoundTripBashScript)">
+ <PropertyGroup>
+ <InputAssemblyName Condition="'$(CLRTestKind)' == 'RunOnly'">$([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath)).Replace("\","/"))</InputAssemblyName>
+ <InputAssemblyName Condition="'$(CLRTestKind)' == 'BuildAndRun'">$(MSBuildProjectName).exe</InputAssemblyName>
+ <DisassemblyName>$(MSBuildProjectName).dasm.il</DisassemblyName>
+ <TargetAssemblyName>$(MSBuildProjectName).asm.exe</TargetAssemblyName>
+
+ <IlasmRoundTrip Condition="'$(ReferenceLocalMscorlib)'!=''">false</IlasmRoundTrip>
+
+ <IlasmRoundTripBashScript Condition="'$(IlasmRoundTrip)'=='true'">
+ <![CDATA[
+echo "$CORE_ROOT/ildasm" -raweh -out=$(DisassemblyName) $(InputAssemblyName)
+"$CORE_ROOT/ildasm" -raweh -out=$(DisassemblyName) $(InputAssemblyName)
+_ERRORLEVEL=$?
+if [ ! $ERRORLEVEL == 0 ]
+then
+ echo EXECUTION OF ILDASM - FAILED $ERRORLEVEL
+ exit 1
+fi
+
+echo "$CORE_ROOT/ilasm" -output=$(TargetAssemblyName) $(_IlasmSwitches) $(DisassemblyName)
+"$CORE_ROOT/ilasm" -output=$(TargetAssemblyName) $(_IlasmSwitches) $(DisassemblyName)
+_ERRORLEVEL=$?
+if [ ! $ERRORLEVEL == 0 ]
+then
+ echo EXECUTION OF ILASM - FAILED $ERRORLEVEL
+ exit 1
+fi
+ ]]>
+ </IlasmRoundTripBashScript>
+ </PropertyGroup>
+ </Target>
+
<!-- This is here because of this bug: http://blogs.msdn.com/b/msbuild/archive/2006/01/03/508629.aspx-->
<Target Name="FetchExternalProperties">
<!--Call GetExecuteShFullPath to get ToRunProject cmd file Path -->
@@ -95,7 +130,7 @@ fi
<Target Name="GenerateBashExecutionScript"
Inputs="$(MSBuildProjectFullPath)"
Outputs="$(OutputPath)\$(MSBuildProjectName).sh"
- DependsOnTargets="FetchExternalProperties;GetCrossgenBashScript">
+ DependsOnTargets="FetchExternalProperties;GetCrossgenBashScript;GetIlasmRoundTripBashScript">
<Message Text="Project depends on $(_CLRTestToRunFileFullPath)." Condition="'$(_CLRTestNeedsProjectToRun)' == 'True'" />
@@ -148,15 +183,22 @@ fi
</ItemGroup>
<PropertyGroup>
- <_CLRTestRunFile Condition="'$(_CLRTestNeedsProjectToRun)' == 'true'">$(_CLRTestToRunFileFullPath)</_CLRTestRunFile>
- <_CLRTestRunFile Condition=" '$(CLRTestIsHosted)'=='true' AND $(_CLRTestNeedsProjectToRun) ">"$CORE_ROOT/corerun" $([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath)).Replace("\","/"))</_CLRTestRunFile>
-
- <_CLRTestRunFile Condition="'$(_CLRTestNeedsProjectToRun)' == 'false'">"$(MSBuildProjectName).exe"</_CLRTestRunFile>
- <_CLRTestRunFile Condition=" '$(CLRTestIsHosted)'=='true' AND !$(_CLRTestNeedsProjectToRun) ">"$CORE_ROOT/corerun" $(_CLRTestRunFile)</_CLRTestRunFile>
+ <_CLRTestRunFile Condition="'$(CLRTestIsHosted)'=='true'">"$CORE_ROOT/corerun"</_CLRTestRunFile>
+ <BashCLRTestLaunchCmds Condition="'$(IlasmRoundTrip)'=='true'"><![CDATA[
+echo $(_CLRTestRunFile) $(TargetAssemblyName) $CLRTestExecutionArguments $Host_Args
+$(_CLRTestRunFile) $(TargetAssemblyName) $CLRTestExecutionArguments $Host_Args
+if [ ! $? == $CLRTestExpectedExitCode ]
+then
+ echo END EXECUTION OF IL{D}ASM BINARY - FAILED $? vs $CLRTestExpectedExitCode
+ echo FAILED
+ exit 1
+fi
+ ]]></BashCLRTestLaunchCmds>
- <BashCLRTestLaunchCmds Condition=" '$(BashCLRTestLaunchCmds)'=='' "><![CDATA[
-echo $(_CLRTestRunFile) $CLRTestExecutionArguments $Host_Args
-$_DebuggerFullPath $(_CLRTestRunFile) $CLRTestExecutionArguments $Host_Args
+ <BashCLRTestLaunchCmds><![CDATA[
+$(BashCLRTestLaunchCmds)
+echo $_DebuggerFullPath $(_CLRTestRunFile) $(InputAssemblyName) $CLRTestExecutionArguments $Host_Args
+$_DebuggerFullPath $(_CLRTestRunFile) $(InputAssemblyName) $CLRTestExecutionArguments $Host_Args
CLRTestExitCode=$?
]]></BashCLRTestLaunchCmds>
</PropertyGroup>
@@ -232,6 +274,8 @@ $(BashCLRTestArgPrep)
$(BashCLRTestExitCodePrep)
# CrossGen Script (when /p:CrossGen=true)
$(CrossgenBashScript)
+# IlasmRoundTrip Script
+$(IlasmRoundTripBashScript)
# PreCommands
$(_BashCLRTestPreCommands)
# Launch
@@ -255,4 +299,4 @@ $(BashCLRTestExitCodeCheck)
Overwrite="true" />
</Target>
-</Project> \ No newline at end of file
+</Project>
diff --git a/tests/src/CLRTest.Execute.Batch.targets b/tests/src/CLRTest.Execute.Batch.targets
index f8c27be279..67805cc120 100644
--- a/tests/src/CLRTest.Execute.Batch.targets
+++ b/tests/src/CLRTest.Execute.Batch.targets
@@ -46,6 +46,38 @@ if not exist "$(MSBuildProjectName).ni.exe" "%CORE_ROOT%\crossgen.exe" /Platform
</PropertyGroup>
</Target>
+ <Target
+ Name="GetIlasmRoundTripBatchScript"
+ Returns="$(IlasmRoundTripBatchScript)">
+ <PropertyGroup>
+ <InputAssemblyName Condition="'$(CLRTestKind)' == 'RunOnly'">$([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath)))</InputAssemblyName>
+ <InputAssemblyName Condition="'$(CLRTestKind)' == 'BuildAndRun'">$(MSBuildProjectName).exe</InputAssemblyName>
+ <DisassemblyName>$(MSBuildProjectName).dasm.il</DisassemblyName>
+ <TargetAssemblyName>$(MSBuildProjectName).asm.exe</TargetAssemblyName>
+
+ <!-- If a test is built against mscorlib instead of dotnet Core, permission attributes can be embedded, which CoreCLR does not support. -->
+ <IlasmRoundTrip Condition="'$(ReferenceLocalMscorlib)'!=''">false</IlasmRoundTrip>
+
+ <!-- https://github.com/dotnet/coreclr/issues/2481. Delete /raweh to ildasm once it is resolved.-->
+ <IlasmRoundTripBatchScript Condition="'$(IlasmRoundTrip)'=='true'">
+ <![CDATA[
+ECHO %CORE_ROOT%\ildasm.exe /raweh /out=$(DisassemblyName) $(InputAssemblyName)
+%CORE_ROOT%\ildasm.exe /raweh /out=$(DisassemblyName) $(InputAssemblyName)
+IF NOT "!ERRORLEVEL!"=="0" (
+ ECHO EXECUTION OF ILDASM - FAILED !ERRORLEVEL!
+ Exit /b 1
+)
+ECHO %CORE_ROOT%\ilasm.exe /output=$(TargetAssemblyName) $(_IlasmSwitches) $(DisassemblyName)
+%CORE_ROOT%\ilasm.exe /output=$(TargetAssemblyName) $(_IlasmSwitches) $(DisassemblyName)
+IF NOT "!ERRORLEVEL!"=="0" (
+ ECHO EXECUTION OF ILASM - FAILED !ERRORLEVEL!
+ Exit /b 1
+)
+ ]]>
+ </IlasmRoundTripBatchScript>
+ </PropertyGroup>
+ </Target>
+
<!-- This is here because of this bug: http://blogs.msdn.com/b/msbuild/archive/2006/01/03/508629.aspx-->
<Target Name="FetchExternalProperties">
<!--Call GetExecuteShFullPath to get ToRunProject cmd file Path -->
@@ -88,7 +120,7 @@ if not exist "$(MSBuildProjectName).ni.exe" "%CORE_ROOT%\crossgen.exe" /Platform
<Target Name="GenerateBatchExecutionScript"
Inputs="$(MSBuildProjectFullPath)"
Outputs="$(OutputPath)\$(MSBuildProjectName).cmd"
- DependsOnTargets="FetchExternalProperties;GetCrossgenBatchScript">
+ DependsOnTargets="FetchExternalProperties;GetCrossgenBatchScript;GetIlasmRoundTripBatchScript">
<Message Text="Project depends on $(_CLRTestToRunFileFullPath)." Condition="'$(_CLRTestNeedsProjectToRun)' == 'True'" />
@@ -154,7 +186,7 @@ IF NOT "%CLRTestExitCode%"=="%CLRTestExpectedExitCode%" (
<BatchCLRTestExecutionScriptArgument Include="coreroot">
<HasParam>true</HasParam>
- <ParamName>envScriptFullPath</ParamName>
+ <ParamName>CoreRootFullPath</ParamName>
<Command><![CDATA[
set CORE_ROOT=%2
]]></Command>
@@ -168,33 +200,24 @@ IF NOT "%CLRTestExitCode%"=="%CLRTestExpectedExitCode%" (
</ItemGroup>
<PropertyGroup>
- <_CLRTestExeFile Condition="'$(_CLRTestNeedsProjectToRun)' == 'true'">$(_CLRTestToRunFileFullPath)</_CLRTestExeFile>
- <_CLRTestExeFile Condition="'$(_CLRTestNeedsProjectToRun)' == 'false'">$(MSBuildProjectName).exe</_CLRTestExeFile>
- <_CLRTestExeFile Condition="'$(CLRTestIsHosted)'=='true' And '$(_CLRTestNeedsProjectToRun)'=='true'">$([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath)))</_CLRTestExeFile>
- <_CLRTestRunFile Condition="'$(CLRTestIsHosted)'=='true'">"%CORE_ROOT%\corerun.exe" "$(_CLRTestExeFile)"</_CLRTestRunFile>
- <_CLRTestRunFile Condition="'$(CLRTestIsHosted)'=='false'">"$(_CLRTestExeFile)"</_CLRTestRunFile>
+ <_CLRTestRunFile Condition="'$(CLRTestIsHosted)'=='true'">"%CORE_ROOT%\corerun.exe"</_CLRTestRunFile>
+ <BatchCLRTestLaunchCmds Condition=" '$(IlasmRoundTrip)'=='true' "><![CDATA[
+ECHO $(_CLRTestRunFile) $(TargetAssemblyName) %CLRTestExecutionArguments% %Host_Args%
+$(_CLRTestRunFile) $(TargetAssemblyName) %CLRTestExecutionArguments% %Host_Args%
- <BatchCLRTestLaunchCmds Condition=" '$(BatchCLRTestLaunchCmds)'=='' "><![CDATA[
-IF NOT "%CLRCustomTestLauncher%"=="" (
- goto :CustomLauncher
-) ELSE (
- goto :DefaultLauncher
+IF NOT "!ERRORLEVEL!"=="%CLRTestExpectedExitCode%" (
+ ECHO END EXECUTION OF IL{D}ASM BINARY - FAILED !ERRORLEVEL! vs %CLRTestExpectedExitCode%
+ ECHO FAILED
+ Exit /b 1
)
-
-:CustomLauncher
- call %CLRCustomTestLauncher% %~dp0 $(_CLRTestExeFile) %CLRTestExecutionArguments% %Host_Args%
- set CLRTestExitCode=%ERRORLEVEL%
- goto :EndLauncher
-
-:DefaultLauncher
- ECHO $(_CLRTestRunFile) %CLRTestExecutionArguments% %Host_Args%
- %_DebuggerFullPath% $(_CLRTestRunFile) %CLRTestExecutionArguments% %Host_Args%
- set CLRTestExitCode=%ERRORLEVEL%
-
-:EndLauncher
-
]]></BatchCLRTestLaunchCmds>
- </PropertyGroup>
+ <BatchCLRTestLaunchCmds><![CDATA[
+$(BatchCLRTestLaunchCmds)
+ECHO %_DebuggerFullPath% $(_CLRTestRunFile) $(InputAssemblyName) %CLRTestExecutionArguments% %Host_Args%
+%_DebuggerFullPath% $(_CLRTestRunFile) $(InputAssemblyName) %CLRTestExecutionArguments% %Host_Args%
+set CLRTestExitCode=!ERRORLEVEL!
+ ]]></BatchCLRTestLaunchCmds>
+ </PropertyGroup>
<PropertyGroup>
<BatchEnvironmentVariables>
@(CLRTestBatchEnvironmentVariable -> '%(Identity)', '%0d%0a')
@@ -269,7 +292,7 @@ $(BatchCLRTestArgPrep)
<_CLRTestExecutionScriptText>
<![CDATA[
@ECHO OFF
-setlocal
+setlocal ENABLEDELAYEDEXPANSION
pushd %~dp0
$(BatchCLRTestArgPrep)
$(BatchCLRTestExitCodePrep)
@@ -283,6 +306,9 @@ $(BatchEnvironmentVariables)
REM CrossGen Script (when /p:CrossGen=true)
$(CrossgenBatchScript)
+REM IlasmRoundTrip Script
+$(IlasmRoundTripBatchScript)
+
REM Precommands
$(CLRTestBatchPreCommands)
REM Launch
diff --git a/tests/src/Common/Platform/platformdefines.cpp b/tests/src/Common/Platform/platformdefines.cpp
index 86e71aefcc..4caead59ea 100644
--- a/tests/src/Common/Platform/platformdefines.cpp
+++ b/tests/src/Common/Platform/platformdefines.cpp
@@ -31,7 +31,6 @@ LPSTR HackyConvertToSTR(LPWSTR pwszInput)
{
size_t cchInput;
LPSTR pszOutput;
- LPWSTR pStr;
if (NULL == pwszInput) return NULL;
@@ -49,7 +48,7 @@ LPSTR HackyConvertToSTR(LPWSTR pwszInput)
error_t TP_scpy_s(LPWSTR strDestination, size_t sizeInWords, LPCWSTR strSource)
{
- int cnt;
+ size_t cnt;
// copy sizeInBytes bytes of strSource into strDestination
if (NULL == strDestination || NULL == strSource) return 1;
@@ -189,7 +188,7 @@ void TP_ZeroMemory(LPVOID buffer, size_t sizeInBytes)
if (NULL == buffer) return;
bBuf = (BYTE*)buffer;
- for(int i=0; i<sizeInBytes; i++)
+ for(size_t i=0; i<sizeInBytes; i++)
{
bBuf[i] = 0;
}
@@ -197,7 +196,7 @@ void TP_ZeroMemory(LPVOID buffer, size_t sizeInBytes)
error_t TP_itow_s(int num, LPWSTR buffer, size_t sizeInCharacters, int radix)
{
- int len;
+ size_t len;
int tmpNum;
// only support radix == 10 and only positive numbers
@@ -226,11 +225,10 @@ error_t TP_itow_s(int num, LPWSTR buffer, size_t sizeInCharacters, int radix)
// convert num into a string (backwards)
buffer[len] = '\0';
- len--;
- while(0 < num && 0 <= len)
+ while(0 < num && 0 < len)
{
+ len--;
buffer[len] = (WCHAR)((num % 10) + '0');
- len--;
num /= 10;
}
diff --git a/tests/src/IL.targets b/tests/src/IL.targets
index 2d549be8d9..e2be21742d 100644
--- a/tests/src/IL.targets
+++ b/tests/src/IL.targets
@@ -13,17 +13,16 @@
<PropertyGroup>
<_OutputTypeArgument Condition="'$(OutputType)' == 'Library'">/DLL</_OutputTypeArgument>
<_OutputTypeArgument Condition="'$(OutputType)' == 'Exe'">/EXE</_OutputTypeArgument>
- <_IlasmSwitches>/QUIET /NOLOGO</_IlasmSwitches>
- <_IlasmSwitches Condition="'$(KeyOriginatorFile)' != ''">$(_IlasmSwitches) /KEY=$(KeyOriginatorFile)</_IlasmSwitches>
- <_IlasmSwitches Condition="'$(FoldIdenticalMethods)' == 'True'">$(_IlasmSwitches) /FOLD</_IlasmSwitches>
- <_IlasmSwitches Condition="'$(SizeOfStackReserve)' != ''">$(_IlasmSwitches) /STACK=$(SizeOfStackReserve)</_IlasmSwitches>
- <_IlasmSwitches Condition="'$(DebugType)' == 'Full'">$(_IlasmSwitches) /DEBUG</_IlasmSwitches>
- <_IlasmSwitches Condition="'$(DebugType)' == 'Impl'">$(_IlasmSwitches) /DEBUG=IMPL</_IlasmSwitches>
- <_IlasmSwitches Condition="'$(DebugType)' == 'PdbOnly'">$(_IlasmSwitches) /DEBUG=OPT</_IlasmSwitches>
- <_IlasmSwitches Condition="'$(Optimize)' == 'True'">$(_IlasmSwitches) /OPTIMIZE</_IlasmSwitches>
+ <_IlasmSwitches>-QUIET -NOLOGO</_IlasmSwitches>
+ <_IlasmSwitches Condition="'$(FoldIdenticalMethods)' == 'True'">$(_IlasmSwitches) -FOLD</_IlasmSwitches>
+ <_IlasmSwitches Condition="'$(SizeOfStackReserve)' != ''">$(_IlasmSwitches) -STACK=$(SizeOfStackReserve)</_IlasmSwitches>
+ <_IlasmSwitches Condition="'$(DebugType)' == 'Full'">$(_IlasmSwitches) -DEBUG</_IlasmSwitches>
+ <_IlasmSwitches Condition="'$(DebugType)' == 'Impl'">$(_IlasmSwitches) -DEBUG=IMPL</_IlasmSwitches>
+ <_IlasmSwitches Condition="'$(DebugType)' == 'PdbOnly'">$(_IlasmSwitches) -DEBUG=OPT</_IlasmSwitches>
+ <_IlasmSwitches Condition="'$(Optimize)' == 'True'">$(_IlasmSwitches) -OPTIMIZE</_IlasmSwitches>
</PropertyGroup>
- <Exec Command="ilasm $(_OutputTypeArgument) /OUTPUT=@(IntermediateAssembly) $(_IlasmSwitches) @(Compile)">
+ <Exec Command="$(__BinDir)\ilasm $(_OutputTypeArgument) /OUTPUT=@(IntermediateAssembly) $(_IlasmSwitches) @(Compile)">
<Output TaskParameter="ExitCode" PropertyName="_ILAsmExitCode" />
</Exec>
<Error Text="ILAsm failed" Condition="'$(_ILAsmExitCode)' != '0'" />
diff --git a/tests/src/JIT/BBT/Scenario4/Not-Int32.ilproj b/tests/src/JIT/BBT/Scenario4/Not-Int32.ilproj
index 4ddb8bc690..eebe8b0222 100644
--- a/tests/src/JIT/BBT/Scenario4/Not-Int32.ilproj
+++ b/tests/src/JIT/BBT/Scenario4/Not-Int32.ilproj
@@ -14,6 +14,7 @@
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IlasmRoundTrip>true</IlasmRoundTrip>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
diff --git a/tests/src/JIT/CodeGenBringUpTests/Add1.csproj b/tests/src/JIT/CodeGenBringUpTests/Add1.csproj
index 8427c290ec..88ee59d8bd 100644
--- a/tests/src/JIT/CodeGenBringUpTests/Add1.csproj
+++ b/tests/src/JIT/CodeGenBringUpTests/Add1.csproj
@@ -13,6 +13,7 @@
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IlasmRoundTrip>true</IlasmRoundTrip>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
diff --git a/tests/src/JIT/CodeGenBringUpTests/RecursiveTailCall.cs b/tests/src/JIT/CodeGenBringUpTests/RecursiveTailCall.cs
new file mode 100644
index 0000000000..aa95e14ddc
--- /dev/null
+++ b/tests/src/JIT/CodeGenBringUpTests/RecursiveTailCall.cs
@@ -0,0 +1,143 @@
+// 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.Runtime.CompilerServices;
+
+public struct Struct1
+{
+ public bool bfield;
+
+ public Struct1(bool b)
+ {
+ bfield = b;
+ }
+}
+
+public struct Struct8
+{
+ public double dfield;
+
+ public Struct8(double d)
+ {
+ dfield = d;
+ }
+}
+
+public class Test
+{
+ // Test a recursive tail call with a 1-byte struct parameter.
+ static bool TestStruct1Param(Struct1 str1, int count)
+ {
+ Console.WriteLine(count);
+ Console.WriteLine(count);
+ Console.WriteLine(count);
+ Console.WriteLine(count);
+ if (!CheckStruct1(str1))
+ {
+ return false;
+ }
+
+ if (count <= 0)
+ {
+ return true;
+ }
+
+ return TestStruct1Param(str1, count - 1);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static bool CheckStruct1(Struct1 str1)
+ {
+ return str1.bfield;
+ }
+
+ // Test a recursive tail call with an 8-byte struct parameter.
+ static bool TestStruct8Param(Struct8 str8, int count)
+ {
+ Console.WriteLine(count);
+ Console.WriteLine(count);
+ Console.WriteLine(count);
+ Console.WriteLine(count);
+ if (!CheckStruct8(str8))
+ {
+ return false;
+ }
+
+ if (count <= 0)
+ {
+ return true;
+ }
+
+ return TestStruct8Param(str8, count - 1);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static bool CheckStruct8(Struct8 str8)
+ {
+ return (str8.dfield == 1.0);
+ }
+
+ // Test a recursive tail call to a method with generic sharing.
+ bool TestGenericSharing<T>()
+ {
+ if (typeof(T) == typeof(string))
+ {
+ return true;
+ }
+ else
+ {
+ return TestGenericSharing<string>();
+ }
+ }
+
+ // Test a recursive tail call to a method that has a 'this' parameter
+ // and a parameter passed on the stack.
+ bool TestStackParam(int i1, int i2, int i3, int i4)
+ {
+ if ((i3 != 5) || (i4 != 7))
+ {
+ return false;
+ }
+ if (i1 == 0)
+ {
+ return true;
+ }
+ return TestStackParam(i1 - 1, i2, i3, i4);
+ }
+
+ public static int Main()
+ {
+ const int Pass = 100;
+ const int Fail = -1;
+
+ Struct1 str1 = new Struct1(true);
+
+ if (!TestStruct1Param(str1, 4))
+ {
+ return Fail;
+ }
+
+ Struct8 str8 = new Struct8(1.0);
+
+ if (!TestStruct8Param(str8, 4))
+ {
+ return Fail;
+ }
+
+ Test test = new Test();
+
+ if (!test.TestGenericSharing<object>())
+ {
+ return Fail;
+ }
+
+ if (!test.TestStackParam(1, 0, 5, 7))
+ {
+ return Fail;
+ }
+
+ return Pass;
+ }
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/b20785.csproj b/tests/src/JIT/CodeGenBringUpTests/RecursiveTailCall.csproj
index 4c0d57f7e7..0290528b7c 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/b20785.csproj
+++ b/tests/src/JIT/CodeGenBringUpTests/RecursiveTailCall.csproj
@@ -4,16 +4,14 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <AssemblyName>$(MSBuildProjectName)</AssemblyName>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.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 -->
@@ -26,29 +24,20 @@
<Visible>False</Visible>
</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" />
- </ItemGroup>
<ItemGroup>
<None Include="$(JitPackagesConfigFileDirectory)threading+thread\project.json" />
- <None Include="app.config" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
+ <ItemGroup>
+ <Compile Include="RecursiveTailCall.cs" />
+ </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>
-</Project>
+ </PropertyGroup>
+</Project> \ No newline at end of file
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-M09/b14585/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-M09/b14585/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/1/Desktop/add.il b/tests/src/JIT/Directed/PREFIX/unaligned/1/Desktop/add.il
index fa4433d32b..a8aae34bb1 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/1/Desktop/add.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/1/Desktop/add.il
@@ -11,7 +11,6 @@
.assembly 'add'{
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class explicit _add {
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/1/add.il b/tests/src/JIT/Directed/PREFIX/unaligned/1/add.il
index f510bab5f4..682a806a1d 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/1/add.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/1/add.il
@@ -11,7 +11,6 @@
.assembly 'add'{
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class _add {
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/1/arglist64.il b/tests/src/JIT/Directed/PREFIX/unaligned/1/arglist64.il
index 01fd87a3b2..421c166bd2 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/1/arglist64.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/1/arglist64.il
@@ -26,7 +26,6 @@ arg1==arg4, arg2==arg5, arg3==arg6.
}
.assembly arglist.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
/*
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/1/cpblk.il b/tests/src/JIT/Directed/PREFIX/unaligned/1/cpblk.il
index 51d9da0541..85fd978c42 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/1/cpblk.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/1/cpblk.il
@@ -10,7 +10,6 @@
.assembly 'cpblk'{
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/1/initblk.il b/tests/src/JIT/Directed/PREFIX/unaligned/1/initblk.il
index 9d0b922b3a..3ef3b47075 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/1/initblk.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/1/initblk.il
@@ -9,7 +9,6 @@
}
.assembly initblk.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class _initblk {
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/1/initobj.il b/tests/src/JIT/Directed/PREFIX/unaligned/1/initobj.il
index a106c42cac..476e6aff61 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/1/initobj.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/1/initobj.il
@@ -9,7 +9,6 @@
}
.assembly initobj.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public value sealed valClass{
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/1/ldind_stind.il b/tests/src/JIT/Directed/PREFIX/unaligned/1/ldind_stind.il
index 82fc2c3251..bb60e52765 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/1/ldind_stind.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/1/ldind_stind.il
@@ -9,7 +9,6 @@
}
.assembly ldind_stind.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class ldind_stind {
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/1/ldloca.il b/tests/src/JIT/Directed/PREFIX/unaligned/1/ldloca.il
index b7c38c40df..a7b7d8db87 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/1/ldloca.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/1/ldloca.il
@@ -10,7 +10,6 @@
.assembly 'ldloca'{
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class _ldloca {
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/1/ldobj.il b/tests/src/JIT/Directed/PREFIX/unaligned/1/ldobj.il
index 6fbf4fc145..cdc5877ad6 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/1/ldobj.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/1/ldobj.il
@@ -9,7 +9,6 @@
.assembly extern legacy library mscorlib {}
.assembly 'ldobj' {
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/1/localloc.il b/tests/src/JIT/Directed/PREFIX/unaligned/1/localloc.il
index 984950495c..06852e50cf 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/1/localloc.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/1/localloc.il
@@ -9,7 +9,6 @@
.assembly extern legacy library mscorlib {}
.assembly 'localloc' {
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/2/add.il b/tests/src/JIT/Directed/PREFIX/unaligned/2/add.il
index ec9ed05eee..41f024a874 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/2/add.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/add.il
@@ -12,7 +12,6 @@
.assembly 'add' {
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/2/arglist64.il b/tests/src/JIT/Directed/PREFIX/unaligned/2/arglist64.il
index 12b2d6f20a..7e2fbc52c4 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/2/arglist64.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/arglist64.il
@@ -26,7 +26,6 @@ arg1==arg4, arg2==arg5, arg3==arg6.
}
.assembly arglist.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
/*
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/2/cpblk.il b/tests/src/JIT/Directed/PREFIX/unaligned/2/cpblk.il
index de5c859b55..97b592a6e0 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/2/cpblk.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/cpblk.il
@@ -10,7 +10,6 @@
.assembly 'cpblk' {
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
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/initblk.il b/tests/src/JIT/Directed/PREFIX/unaligned/2/initblk.il
index 7e3c2673b5..ea56b5ca14 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/2/initblk.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/initblk.il
@@ -9,7 +9,6 @@
}
.assembly initblk.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class _initblk {
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/2/initobj.il b/tests/src/JIT/Directed/PREFIX/unaligned/2/initobj.il
index a9baf60a0b..7d6c5e675e 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/2/initobj.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/initobj.il
@@ -9,7 +9,6 @@
}
.assembly initobj.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public value sealed valClass{
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/2/ldind_stind.il b/tests/src/JIT/Directed/PREFIX/unaligned/2/ldind_stind.il
index 42f7664bee..837674c8ba 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/2/ldind_stind.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/ldind_stind.il
@@ -9,7 +9,6 @@
}
.assembly ldind_stind.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class ldind_stind {
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/2/ldloca.il b/tests/src/JIT/Directed/PREFIX/unaligned/2/ldloca.il
index 2229fe8bbc..499ef0b984 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/2/ldloca.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/ldloca.il
@@ -10,7 +10,6 @@
.assembly 'ldloca' {
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class _ldloca {
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..b8ddcf09b9
--- /dev/null
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/ldobj.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 legacy library mscorlib {}
+.assembly 'ldobj' {
+ }
+
+
+.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..08a1188c46
--- /dev/null
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/localloc.il
@@ -0,0 +1,144 @@
+
+.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' {
+ }
+
+
+
+.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/PREFIX/unaligned/4/Desktop/add.il b/tests/src/JIT/Directed/PREFIX/unaligned/4/Desktop/add.il
index 8f709989b6..8c304a4e9c 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/4/Desktop/add.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/4/Desktop/add.il
@@ -11,7 +11,6 @@
.assembly 'add' {
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/4/add.il b/tests/src/JIT/Directed/PREFIX/unaligned/4/add.il
index b25f4ac1bc..8f9507b70e 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/4/add.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/4/add.il
@@ -11,7 +11,6 @@
.assembly 'add' {
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/4/arglist64.il b/tests/src/JIT/Directed/PREFIX/unaligned/4/arglist64.il
index 3a1e6247b6..23622252d6 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/4/arglist64.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/4/arglist64.il
@@ -26,7 +26,6 @@ arg1==arg4, arg2==arg5, arg3==arg6.
}
.assembly arglist.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
/*
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/4/cpblk.il b/tests/src/JIT/Directed/PREFIX/unaligned/4/cpblk.il
index b17b3c0885..f6dcaff929 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/4/cpblk.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/4/cpblk.il
@@ -10,7 +10,6 @@
.assembly 'cpblk' {
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/4/initblk.il b/tests/src/JIT/Directed/PREFIX/unaligned/4/initblk.il
index a9687f4291..f13a7803b3 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/4/initblk.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/4/initblk.il
@@ -9,7 +9,6 @@
}
.assembly initblk.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class _initblk {
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/4/initobj.il b/tests/src/JIT/Directed/PREFIX/unaligned/4/initobj.il
index 6197e43798..4ffd9b6ae5 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/4/initobj.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/4/initobj.il
@@ -9,7 +9,6 @@
}
.assembly initobj.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public value sealed valClass{
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/4/ldind_stind.il b/tests/src/JIT/Directed/PREFIX/unaligned/4/ldind_stind.il
index a53deb39c7..12993b61cb 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/4/ldind_stind.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/4/ldind_stind.il
@@ -9,7 +9,6 @@
}
.assembly ldind_stind.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class ldind_stind {
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/4/ldloca.il b/tests/src/JIT/Directed/PREFIX/unaligned/4/ldloca.il
index ea7f96df59..7abd056979 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/4/ldloca.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/4/ldloca.il
@@ -10,7 +10,6 @@
.assembly 'ldloca' {
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class _ldloca {
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/4/ldobj.il b/tests/src/JIT/Directed/PREFIX/unaligned/4/ldobj.il
index 5aa41fffbf..5207345443 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/4/ldobj.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/4/ldobj.il
@@ -9,7 +9,6 @@
.assembly extern legacy library mscorlib {}
.assembly 'ldobj' {
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public _ldobj {
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/4/localloc.il b/tests/src/JIT/Directed/PREFIX/unaligned/4/localloc.il
index 4347eaaa89..cc544253e6 100644
--- a/tests/src/JIT/Directed/PREFIX/unaligned/4/localloc.il
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/4/localloc.il
@@ -9,7 +9,6 @@
.assembly extern legacy library mscorlib {}
.assembly 'localloc' {
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
diff --git a/tests/src/JIT/Directed/PREFIX/volatile/1/Desktop/add.il b/tests/src/JIT/Directed/PREFIX/volatile/1/Desktop/add.il
index 485b1f14ba..76b3c75a63 100644
--- a/tests/src/JIT/Directed/PREFIX/volatile/1/Desktop/add.il
+++ b/tests/src/JIT/Directed/PREFIX/volatile/1/Desktop/add.il
@@ -11,7 +11,6 @@
.assembly 'add' {
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
diff --git a/tests/src/JIT/Directed/PREFIX/volatile/1/add.il b/tests/src/JIT/Directed/PREFIX/volatile/1/add.il
index b4fe513ea5..1e9b14ca05 100644
--- a/tests/src/JIT/Directed/PREFIX/volatile/1/add.il
+++ b/tests/src/JIT/Directed/PREFIX/volatile/1/add.il
@@ -11,7 +11,6 @@
.assembly 'add' {
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
diff --git a/tests/src/JIT/Directed/PREFIX/volatile/1/arglist64.il b/tests/src/JIT/Directed/PREFIX/volatile/1/arglist64.il
index 02234fcfb0..82a8c5b253 100644
--- a/tests/src/JIT/Directed/PREFIX/volatile/1/arglist64.il
+++ b/tests/src/JIT/Directed/PREFIX/volatile/1/arglist64.il
@@ -26,7 +26,6 @@ arg1==arg4, arg2==arg5, arg3==arg6.
}
.assembly arglist.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
/*
diff --git a/tests/src/JIT/Directed/PREFIX/volatile/1/cpblk.il b/tests/src/JIT/Directed/PREFIX/volatile/1/cpblk.il
index 409157c55c..634346fa4e 100644
--- a/tests/src/JIT/Directed/PREFIX/volatile/1/cpblk.il
+++ b/tests/src/JIT/Directed/PREFIX/volatile/1/cpblk.il
@@ -10,7 +10,6 @@
.assembly 'cpblk' {
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
diff --git a/tests/src/JIT/Directed/PREFIX/volatile/1/initblk.il b/tests/src/JIT/Directed/PREFIX/volatile/1/initblk.il
index 66816a7244..1ae034fb6b 100644
--- a/tests/src/JIT/Directed/PREFIX/volatile/1/initblk.il
+++ b/tests/src/JIT/Directed/PREFIX/volatile/1/initblk.il
@@ -9,7 +9,6 @@
}
.assembly initblk.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class _initblk {
diff --git a/tests/src/JIT/Directed/PREFIX/volatile/1/initobj.il b/tests/src/JIT/Directed/PREFIX/volatile/1/initobj.il
index 00ca48101a..57aeff0969 100644
--- a/tests/src/JIT/Directed/PREFIX/volatile/1/initobj.il
+++ b/tests/src/JIT/Directed/PREFIX/volatile/1/initobj.il
@@ -9,7 +9,6 @@
}
.assembly initobj.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public value sealed valClass{
diff --git a/tests/src/JIT/Directed/PREFIX/volatile/1/ldind_stind.il b/tests/src/JIT/Directed/PREFIX/volatile/1/ldind_stind.il
index 4afbc16858..013f6ebcc5 100644
--- a/tests/src/JIT/Directed/PREFIX/volatile/1/ldind_stind.il
+++ b/tests/src/JIT/Directed/PREFIX/volatile/1/ldind_stind.il
@@ -9,7 +9,6 @@
}
.assembly ldind_stind.exe{ //This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class ldind_stind {
diff --git a/tests/src/JIT/Directed/PREFIX/volatile/1/ldloca.il b/tests/src/JIT/Directed/PREFIX/volatile/1/ldloca.il
index 2b26fc6898..831a5e798c 100644
--- a/tests/src/JIT/Directed/PREFIX/volatile/1/ldloca.il
+++ b/tests/src/JIT/Directed/PREFIX/volatile/1/ldloca.il
@@ -10,7 +10,6 @@
.assembly 'ldloca' {
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class _ldloca {
diff --git a/tests/src/JIT/Directed/PREFIX/volatile/1/ldobj.il b/tests/src/JIT/Directed/PREFIX/volatile/1/ldobj.il
index 5292d320fd..47357697a4 100644
--- a/tests/src/JIT/Directed/PREFIX/volatile/1/ldobj.il
+++ b/tests/src/JIT/Directed/PREFIX/volatile/1/ldobj.il
@@ -9,7 +9,6 @@
.assembly extern legacy library mscorlib {}
.assembly 'ldobj' {
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
diff --git a/tests/src/JIT/Directed/PREFIX/volatile/1/localloc.il b/tests/src/JIT/Directed/PREFIX/volatile/1/localloc.il
index 9fad70159d..46da2b5d09 100644
--- a/tests/src/JIT/Directed/PREFIX/volatile/1/localloc.il
+++ b/tests/src/JIT/Directed/PREFIX/volatile/1/localloc.il
@@ -9,7 +9,6 @@
.assembly extern legacy library mscorlib {}
.assembly 'localloc' {
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
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/RVAInit/simple.il b/tests/src/JIT/Directed/RVAInit/simple.il
index 0a7e21dff4..5f081bb6e1 100644
--- a/tests/src/JIT/Directed/RVAInit/simple.il
+++ b/tests/src/JIT/Directed/RVAInit/simple.il
@@ -10,47 +10,6 @@
.assembly extern mscorlib { }
.assembly simple
{
- .permissionset reqmin = (3C 00 50 00 65 00 72 00 6D 00 69 00 73 00 73 00 // <.P.e.r.m.i.s.s.
- 69 00 6F 00 6E 00 53 00 65 00 74 00 20 00 63 00 // i.o.n.S.e.t. .c.
- 6C 00 61 00 73 00 73 00 3D 00 22 00 53 00 79 00 // l.a.s.s.=.".S.y.
- 73 00 74 00 65 00 6D 00 2E 00 53 00 65 00 63 00 // s.t.e.m...S.e.c.
- 75 00 72 00 69 00 74 00 79 00 2E 00 50 00 65 00 // u.r.i.t.y...P.e.
- 72 00 6D 00 69 00 73 00 73 00 69 00 6F 00 6E 00 // r.m.i.s.s.i.o.n.
- 53 00 65 00 74 00 22 00 0D 00 0A 00 20 00 20 00 // S.e.t."..... . .
- 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 // . . . . .v.e.r.
- 73 00 69 00 6F 00 6E 00 3D 00 22 00 31 00 22 00 // s.i.o.n.=.".1.".
- 3E 00 0D 00 0A 00 20 00 20 00 20 00 3C 00 49 00 // >..... . . .<.I.
- 50 00 65 00 72 00 6D 00 69 00 73 00 73 00 69 00 // P.e.r.m.i.s.s.i.
- 6F 00 6E 00 20 00 63 00 6C 00 61 00 73 00 73 00 // o.n. .c.l.a.s.s.
- 3D 00 22 00 53 00 79 00 73 00 74 00 65 00 6D 00 // =.".S.y.s.t.e.m.
- 2E 00 53 00 65 00 63 00 75 00 72 00 69 00 74 00 // ..S.e.c.u.r.i.t.
- 79 00 2E 00 50 00 65 00 72 00 6D 00 69 00 73 00 // y...P.e.r.m.i.s.
- 73 00 69 00 6F 00 6E 00 73 00 2E 00 53 00 65 00 // s.i.o.n.s...S.e.
- 63 00 75 00 72 00 69 00 74 00 79 00 50 00 65 00 // c.u.r.i.t.y.P.e.
- 72 00 6D 00 69 00 73 00 73 00 69 00 6F 00 6E 00 // r.m.i.s.s.i.o.n.
- 2C 00 20 00 6D 00 73 00 63 00 6F 00 72 00 6C 00 // ,. .m.s.c.o.r.l.
- 69 00 62 00 2C 00 20 00 56 00 65 00 72 00 73 00 // i.b.,. .V.e.r.s.
- 69 00 6F 00 6E 00 3D 00 31 00 2E 00 30 00 2E 00 // i.o.n.=.1...0...
- 32 00 34 00 31 00 31 00 2E 00 30 00 2C 00 20 00 // 2.4.1.1...0.,. .
- 43 00 75 00 6C 00 74 00 75 00 72 00 65 00 3D 00 // C.u.l.t.u.r.e.=.
- 6E 00 65 00 75 00 74 00 72 00 61 00 6C 00 2C 00 // n.e.u.t.r.a.l.,.
- 20 00 50 00 75 00 62 00 6C 00 69 00 63 00 4B 00 // .P.u.b.l.i.c.K.
- 65 00 79 00 54 00 6F 00 6B 00 65 00 6E 00 3D 00 // e.y.T.o.k.e.n.=.
- 62 00 37 00 37 00 61 00 35 00 63 00 35 00 36 00 // b.7.7.a.5.c.5.6.
- 31 00 39 00 33 00 34 00 65 00 30 00 38 00 39 00 // 1.9.3.4.e.0.8.9.
- 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 // . . .v.e.r.s.i.
- 6F 00 6E 00 3D 00 22 00 31 00 22 00 0D 00 0A 00 // o.n.=.".1.".....
- 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 // F.l.a.g.s.=.".S.
- 6B 00 69 00 70 00 56 00 65 00 72 00 69 00 66 00 // k.i.p.V.e.r.i.f.
- 69 00 63 00 61 00 74 00 69 00 6F 00 6E 00 22 00 // i.c.a.t.i.o.n.".
- 2F 00 3E 00 0D 00 0A 00 3C 00 2F 00 50 00 65 00 // /.>.....<./.P.e.
- 72 00 6D 00 69 00 73 00 73 00 69 00 6F 00 6E 00 // r.m.i.s.s.i.o.n.
- 53 00 65 00 74 00 3E 00 0D 00 0A 00 ) // S.e.t.>.....
}
.class private sequential ansi sealed beforefieldinit Test
extends [mscorlib]System.ValueType
diff --git a/tests/src/JIT/Directed/StructABI/CMakeLists.txt b/tests/src/JIT/Directed/StructABI/CMakeLists.txt
index 23c9352262..3fbe54c3d4 100644
--- a/tests/src/JIT/Directed/StructABI/CMakeLists.txt
+++ b/tests/src/JIT/Directed/StructABI/CMakeLists.txt
@@ -2,7 +2,9 @@ cmake_minimum_required (VERSION 2.6)
project (StructABILib)
include_directories(${INC_PLATFORM_DIR})
+if(!WIN32)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
+endif()
# add the executable
add_library (StructABILib SHARED StructABI.c)
diff --git a/tests/src/JIT/Directed/array-il/_Arrayscomplex3.ilproj b/tests/src/JIT/Directed/array-il/_Arrayscomplex3.ilproj
index a85f4e238c..5d6d3c7019 100644
--- a/tests/src/JIT/Directed/array-il/_Arrayscomplex3.ilproj
+++ b/tests/src/JIT/Directed/array-il/_Arrayscomplex3.ilproj
@@ -15,6 +15,7 @@
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<RestorePackages>true</RestorePackages>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IlasmRoundTrip>true</IlasmRoundTrip>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
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.2-M02/b20785/app.config b/tests/src/JIT/Directed/coverage/compiler/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/coverage/compiler/app.config
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/ldvirtftncalli.il b/tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli.il
index 672d24d633..0c4914467f 100644
--- a/tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli.il
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli.il
@@ -10,7 +10,6 @@
}
.assembly 'ldvirtftncalli'
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class private auto ansi beforefieldinit A
extends [mscorlib]System.Object
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-M09/b14585/b14585.csproj b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic1.ilproj
index 90c6647841..cfa8086f14 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b14585/b14585.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);CORECLR</DefineConstants>
</PropertyGroup>
<ItemGroup>
- <Compile Include="b14585.cs" />
+ <Compile Include="rva_rvaStatic1.il" />
</ItemGroup>
<ItemGroup>
- <None Include="$(JitPackagesConfigFileDirectory)extra\project.json" />
<None Include="app.config" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)extra\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)extra\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/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/app.config b/tests/src/JIT/Directed/pinning/object-pin/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/pinning/object-pin/app.config
@@ -24,4 +24,4 @@
</dependentAssembly>
</assemblyBinding>
</runtime>
-</configuration> \ No newline at end of file
+</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/Generics/Exceptions/general_class_instance01.csproj b/tests/src/JIT/Generics/Exceptions/general_class_instance01.csproj
index 3888e2d206..eb263f8c11 100644
--- a/tests/src/JIT/Generics/Exceptions/general_class_instance01.csproj
+++ b/tests/src/JIT/Generics/Exceptions/general_class_instance01.csproj
@@ -15,6 +15,7 @@
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IlasmRoundTrip>true</IlasmRoundTrip>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
diff --git a/tests/src/JIT/IL_Conformance/Old/Base/add.il b/tests/src/JIT/IL_Conformance/Old/Base/add.il
index d0a0fdfc20..ee7d5c212f 100644
--- a/tests/src/JIT/IL_Conformance/Old/Base/add.il
+++ b/tests/src/JIT/IL_Conformance/Old/Base/add.il
@@ -20,7 +20,6 @@
.assembly add.exe{
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public explicit _add {
diff --git a/tests/src/JIT/IL_Conformance/Old/Base/clt.il b/tests/src/JIT/IL_Conformance/Old/Base/clt.il
index a740197929..05fe744877 100644
--- a/tests/src/JIT/IL_Conformance/Old/Base/clt.il
+++ b/tests/src/JIT/IL_Conformance/Old/Base/clt.il
@@ -4,7 +4,6 @@
.assembly extern legacy library mscorlib {}
.assembly clt.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public _clt {
diff --git a/tests/src/JIT/IL_Conformance/Old/Base/cpblk.il b/tests/src/JIT/IL_Conformance/Old/Base/cpblk.il
index 22dee585c3..1f52826394 100644
--- a/tests/src/JIT/IL_Conformance/Old/Base/cpblk.il
+++ b/tests/src/JIT/IL_Conformance/Old/Base/cpblk.il
@@ -4,7 +4,6 @@
.assembly extern legacy library mscorlib {}
.assembly cpblk.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public _cpblk {
diff --git a/tests/src/JIT/IL_Conformance/Old/Base/dup.il b/tests/src/JIT/IL_Conformance/Old/Base/dup.il
index 071676e986..5db2997489 100644
--- a/tests/src/JIT/IL_Conformance/Old/Base/dup.il
+++ b/tests/src/JIT/IL_Conformance/Old/Base/dup.il
@@ -4,7 +4,6 @@
.assembly extern legacy library mscorlib {}
.assembly dup.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public _dup {
diff --git a/tests/src/JIT/IL_Conformance/Old/Base/initblk.il b/tests/src/JIT/IL_Conformance/Old/Base/initblk.il
index 4f74d80b48..6c6ec1c319 100644
--- a/tests/src/JIT/IL_Conformance/Old/Base/initblk.il
+++ b/tests/src/JIT/IL_Conformance/Old/Base/initblk.il
@@ -4,7 +4,6 @@
.assembly extern legacy library mscorlib {}
.assembly initblk.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public _initblk {
diff --git a/tests/src/JIT/IL_Conformance/Old/Base/jmp.il b/tests/src/JIT/IL_Conformance/Old/Base/jmp.il
index 58a302d730..79c2141d5e 100644
--- a/tests/src/JIT/IL_Conformance/Old/Base/jmp.il
+++ b/tests/src/JIT/IL_Conformance/Old/Base/jmp.il
@@ -4,7 +4,6 @@
.assembly extern legacy library mscorlib {}
.assembly jmp.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.method public static int32 main(class [mscorlib]System.String[]) {
diff --git a/tests/src/JIT/IL_Conformance/Old/Base/ldarg_starg.il b/tests/src/JIT/IL_Conformance/Old/Base/ldarg_starg.il
index b2e16ebbaf..d961dbd81d 100644
--- a/tests/src/JIT/IL_Conformance/Old/Base/ldarg_starg.il
+++ b/tests/src/JIT/IL_Conformance/Old/Base/ldarg_starg.il
@@ -4,7 +4,6 @@
.assembly extern legacy library mscorlib {}
.assembly ldarg_starg.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public ldarg_starg {
diff --git a/tests/src/JIT/IL_Conformance/Old/Base/ldloc_stloc.il b/tests/src/JIT/IL_Conformance/Old/Base/ldloc_stloc.il
index ac141d03e7..cb9551d3f9 100644
--- a/tests/src/JIT/IL_Conformance/Old/Base/ldloc_stloc.il
+++ b/tests/src/JIT/IL_Conformance/Old/Base/ldloc_stloc.il
@@ -6,7 +6,6 @@
.assembly ldloc_stloc.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public value sealed vclass{
diff --git a/tests/src/JIT/IL_Conformance/Old/Base/ldloca.il b/tests/src/JIT/IL_Conformance/Old/Base/ldloca.il
index 5504acfd1e..9631be17a2 100644
--- a/tests/src/JIT/IL_Conformance/Old/Base/ldloca.il
+++ b/tests/src/JIT/IL_Conformance/Old/Base/ldloca.il
@@ -4,7 +4,6 @@
.assembly extern legacy library mscorlib {}
.assembly ldloca.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public _ldloca {
diff --git a/tests/src/JIT/IL_Conformance/Old/Base/unaligned.il b/tests/src/JIT/IL_Conformance/Old/Base/unaligned.il
index 86600a89e0..db7804dbde 100644
--- a/tests/src/JIT/IL_Conformance/Old/Base/unaligned.il
+++ b/tests/src/JIT/IL_Conformance/Old/Base/unaligned.il
@@ -4,7 +4,6 @@
.assembly extern legacy library mscorlib {}
.assembly unaligned.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.method public static int32 main(class [mscorlib]System.String[]) {
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/IL_Conformance/Old/directed/heap_ovf.il b/tests/src/JIT/IL_Conformance/Old/directed/heap_ovf.il
index eef0373051..6dbcd0c924 100644
--- a/tests/src/JIT/IL_Conformance/Old/directed/heap_ovf.il
+++ b/tests/src/JIT/IL_Conformance/Old/directed/heap_ovf.il
@@ -11,7 +11,6 @@
.assembly extern legacy library mscorlib {}
.assembly heap_ovf.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public heap_ovf {
diff --git a/tests/src/JIT/IL_Conformance/Old/directed/heap_ovf.ilproj b/tests/src/JIT/IL_Conformance/Old/directed/heap_ovf.ilproj
index afef3a71b4..e6af1f7954 100644
--- a/tests/src/JIT/IL_Conformance/Old/directed/heap_ovf.ilproj
+++ b/tests/src/JIT/IL_Conformance/Old/directed/heap_ovf.ilproj
@@ -15,6 +15,7 @@
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<RestorePackages>true</RestorePackages>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IlasmRoundTrip>true</IlasmRoundTrip>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
diff --git a/tests/src/JIT/IL_Conformance/Old/objectmodel/initobj.il b/tests/src/JIT/IL_Conformance/Old/objectmodel/initobj.il
index 5313fd1bae..79f8293bfd 100644
--- a/tests/src/JIT/IL_Conformance/Old/objectmodel/initobj.il
+++ b/tests/src/JIT/IL_Conformance/Old/objectmodel/initobj.il
@@ -5,7 +5,6 @@
.assembly extern legacy library mscorlib {}
.assembly initobj.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public value sealed valClass{
diff --git a/tests/src/JIT/IL_Conformance/Old/objectmodel/ldobj.il b/tests/src/JIT/IL_Conformance/Old/objectmodel/ldobj.il
index 6f6a83740c..56972930ea 100644
--- a/tests/src/JIT/IL_Conformance/Old/objectmodel/ldobj.il
+++ b/tests/src/JIT/IL_Conformance/Old/objectmodel/ldobj.il
@@ -10,7 +10,6 @@
.assembly extern legacy library mscorlib {}
.assembly ldobj.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public _ldobj {
diff --git a/tests/src/JIT/IL_Conformance/Old/objectmodel/ldvirtftn.il b/tests/src/JIT/IL_Conformance/Old/objectmodel/ldvirtftn.il
index 91d2bf0c3d..b9d4c2cd85 100644
--- a/tests/src/JIT/IL_Conformance/Old/objectmodel/ldvirtftn.il
+++ b/tests/src/JIT/IL_Conformance/Old/objectmodel/ldvirtftn.il
@@ -4,7 +4,6 @@
.assembly extern legacy library mscorlib {}
.assembly ldvirtftn.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.method public static int32 main(class System.String[]) {
diff --git a/tests/src/JIT/IL_Conformance/Old/objectmodel/localloc.il b/tests/src/JIT/IL_Conformance/Old/objectmodel/localloc.il
index 2a76153cdf..fb5c5407e6 100644
--- a/tests/src/JIT/IL_Conformance/Old/objectmodel/localloc.il
+++ b/tests/src/JIT/IL_Conformance/Old/objectmodel/localloc.il
@@ -10,7 +10,6 @@
.assembly extern legacy library mscorlib {}
.assembly localloc.exe{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public _localloc {
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/ELEMENT_TYPE_IU/i_qsort1.il b/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/i_qsort1.il
index 830db85553..65b9a2e5bf 100644
--- a/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/i_qsort1.il
+++ b/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/i_qsort1.il
@@ -15,7 +15,6 @@
}
.assembly 'qsort'// as "qsort"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'qsort.exe'
// MVID: {D2333E3D-2CA6-4703-8D46-E41A46BDF801}
diff --git a/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/i_qsort2.il b/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/i_qsort2.il
index 9176aad35b..3378333cc9 100644
--- a/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/i_qsort2.il
+++ b/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/i_qsort2.il
@@ -15,7 +15,6 @@
}
.assembly 'qsort'// as "qsort"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'qsort.exe'
// MVID: {D2333E3D-2CA6-4703-8D46-E41A46BDF801}
diff --git a/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/qperm.il b/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/qperm.il
index 173eedbd44..140d2a15b1 100644
--- a/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/qperm.il
+++ b/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/qperm.il
@@ -15,7 +15,6 @@
}
.assembly 'qsort'// as "qsort"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'qsort.exe'
// MVID: {D2333E3D-2CA6-4703-8D46-E41A46BDF801}
diff --git a/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/u_qsort1.il b/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/u_qsort1.il
index c39a081b04..e7e858fc08 100644
--- a/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/u_qsort1.il
+++ b/tests/src/JIT/Methodical/ELEMENT_TYPE_IU/u_qsort1.il
@@ -15,7 +15,6 @@
}
.assembly 'qsort'// as "qsort"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'qsort.exe'
// MVID: {D2333E3D-2CA6-4703-8D46-E41A46BDF801}
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/Invoke/SEH/catchfault_jmp.il b/tests/src/JIT/Methodical/Invoke/SEH/catchfault_jmp.il
index 553842c906..d8f893e67c 100644
--- a/tests/src/JIT/Methodical/Invoke/SEH/catchfault_jmp.il
+++ b/tests/src/JIT/Methodical/Invoke/SEH/catchfault_jmp.il
@@ -13,7 +13,6 @@
}
.assembly 'catchfault_tail'// as "catchfault_tail"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'catchfault_tail.exe'
// MVID: {7D0BA0DB-DCB6-4997-83C9-9F31894A25EF}
diff --git a/tests/src/JIT/Methodical/Invoke/SEH/catchfinally_ind.il b/tests/src/JIT/Methodical/Invoke/SEH/catchfinally_ind.il
index 532b03ce1b..c406ccb51c 100644
--- a/tests/src/JIT/Methodical/Invoke/SEH/catchfinally_ind.il
+++ b/tests/src/JIT/Methodical/Invoke/SEH/catchfinally_ind.il
@@ -13,7 +13,6 @@
}
.assembly 'catchfinally'// as "catchfinally"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'catchfinally.exe'
// MVID: {15FE650F-7944-4B46-86D7-2ECCFDC924C2}
diff --git a/tests/src/JIT/Methodical/Invoke/SEH/catchfinally_jmp.il b/tests/src/JIT/Methodical/Invoke/SEH/catchfinally_jmp.il
index e3d4f7bb56..c14582a7aa 100644
--- a/tests/src/JIT/Methodical/Invoke/SEH/catchfinally_jmp.il
+++ b/tests/src/JIT/Methodical/Invoke/SEH/catchfinally_jmp.il
@@ -13,7 +13,6 @@
}
.assembly 'catchfinally_tail'// as "catchfinally_tail"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'catchfinally_tail.exe'
// MVID: {CCB52291-4072-427C-8C14-2780C164EB2B}
diff --git a/tests/src/JIT/Methodical/Invoke/SEH/catchfinally_jmpind.il b/tests/src/JIT/Methodical/Invoke/SEH/catchfinally_jmpind.il
index 1c09dd002e..94e93cfc9c 100644
--- a/tests/src/JIT/Methodical/Invoke/SEH/catchfinally_jmpind.il
+++ b/tests/src/JIT/Methodical/Invoke/SEH/catchfinally_jmpind.il
@@ -13,7 +13,6 @@
}
.assembly 'catchfinally_tail'// as "catchfinally_tail"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'catchfinally_tail.exe'
// MVID: {CCB52291-4072-427C-8C14-2780C164EB2B}
diff --git a/tests/src/JIT/Methodical/Invoke/deep/deep1.il b/tests/src/JIT/Methodical/Invoke/deep/deep1.il
index d6f05e7cf3..b43edc26b6 100644
--- a/tests/src/JIT/Methodical/Invoke/deep/deep1.il
+++ b/tests/src/JIT/Methodical/Invoke/deep/deep1.il
@@ -13,7 +13,6 @@
}
.assembly 'deep'// as "deep"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'deep.exe'
// MVID: {AA806490-3696-4693-BEEE-68E449C58639}
diff --git a/tests/src/JIT/Methodical/Invoke/fptr/ftn_t.il b/tests/src/JIT/Methodical/Invoke/fptr/ftn_t.il
index 170fa8a0fd..51a2e9f117 100644
--- a/tests/src/JIT/Methodical/Invoke/fptr/ftn_t.il
+++ b/tests/src/JIT/Methodical/Invoke/fptr/ftn_t.il
@@ -17,7 +17,6 @@
// .custom instance void ['mscorlib']System.Diagnostics.DebuggableAttribute::.ctor(bool,
// bool) = ( 01 00 00 01 00 00 )
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'bug.exe'
diff --git a/tests/src/JIT/Methodical/Invoke/fptr/instftn.il b/tests/src/JIT/Methodical/Invoke/fptr/instftn.il
index d46ccb36ba..e915640fad 100644
--- a/tests/src/JIT/Methodical/Invoke/fptr/instftn.il
+++ b/tests/src/JIT/Methodical/Invoke/fptr/instftn.il
@@ -18,7 +18,6 @@
// bool) = ( 01 00 00 01 00 00 )
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'bug.exe'
// MVID: {90803FD0-8E18-44C9-A242-98463ADD450D}
diff --git a/tests/src/JIT/Methodical/Invoke/fptr/instftn_t.il b/tests/src/JIT/Methodical/Invoke/fptr/instftn_t.il
index 27483d77e7..1d723764ec 100644
--- a/tests/src/JIT/Methodical/Invoke/fptr/instftn_t.il
+++ b/tests/src/JIT/Methodical/Invoke/fptr/instftn_t.il
@@ -17,7 +17,6 @@
// bool) = ( 01 00 00 01 00 00 )
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'bug.exe'
diff --git a/tests/src/JIT/Methodical/Invoke/fptr/recurse_jmp.il b/tests/src/JIT/Methodical/Invoke/fptr/recurse_jmp.il
index 389319cad1..9ccfd81386 100644
--- a/tests/src/JIT/Methodical/Invoke/fptr/recurse_jmp.il
+++ b/tests/src/JIT/Methodical/Invoke/fptr/recurse_jmp.il
@@ -17,7 +17,6 @@
// .custom instance void ['mscorlib']System.Diagnostics.DebuggableAttribute::.ctor(bool,
// bool) = ( 01 00 00 01 00 00 )
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'recurse.exe'
diff --git a/tests/src/JIT/Methodical/Invoke/fptr/recurse_jmpi.il b/tests/src/JIT/Methodical/Invoke/fptr/recurse_jmpi.il
index f25e1403e4..6d8e210605 100644
--- a/tests/src/JIT/Methodical/Invoke/fptr/recurse_jmpi.il
+++ b/tests/src/JIT/Methodical/Invoke/fptr/recurse_jmpi.il
@@ -17,7 +17,6 @@
// .custom instance void ['mscorlib']System.Diagnostics.DebuggableAttribute::.ctor(bool,
// bool) = ( 01 00 00 01 00 00 )
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'recurse.exe'
diff --git a/tests/src/JIT/Methodical/Invoke/fptr/recurse_tail_call.il b/tests/src/JIT/Methodical/Invoke/fptr/recurse_tail_call.il
index d74dbd1ea9..6b75d7ec57 100644
--- a/tests/src/JIT/Methodical/Invoke/fptr/recurse_tail_call.il
+++ b/tests/src/JIT/Methodical/Invoke/fptr/recurse_tail_call.il
@@ -17,7 +17,6 @@
// .custom instance void ['mscorlib']System.Diagnostics.DebuggableAttribute::.ctor(bool,
// bool) = ( 01 00 00 01 00 00 )
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'recurse.exe'
diff --git a/tests/src/JIT/Methodical/Invoke/fptr/recurse_tail_calli.il b/tests/src/JIT/Methodical/Invoke/fptr/recurse_tail_calli.il
index cfd921a0ce..fa60d12087 100644
--- a/tests/src/JIT/Methodical/Invoke/fptr/recurse_tail_calli.il
+++ b/tests/src/JIT/Methodical/Invoke/fptr/recurse_tail_calli.il
@@ -17,7 +17,6 @@
// .custom instance void ['mscorlib']System.Diagnostics.DebuggableAttribute::.ctor(bool,
// bool) = ( 01 00 00 01 00 00 )
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'recurse.exe'
diff --git a/tests/src/JIT/Methodical/Invoke/fptr/valftn.il b/tests/src/JIT/Methodical/Invoke/fptr/valftn.il
index c452e411aa..51c485125e 100644
--- a/tests/src/JIT/Methodical/Invoke/fptr/valftn.il
+++ b/tests/src/JIT/Methodical/Invoke/fptr/valftn.il
@@ -9,7 +9,6 @@
}
.assembly 'bug'
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'bug.exe'
// MVID: {90803FD0-8E18-44C9-A242-98463ADD450D}
diff --git a/tests/src/JIT/Methodical/Invoke/fptr/valftn_t.il b/tests/src/JIT/Methodical/Invoke/fptr/valftn_t.il
index 5c81c56e08..30ae9f98a6 100644
--- a/tests/src/JIT/Methodical/Invoke/fptr/valftn_t.il
+++ b/tests/src/JIT/Methodical/Invoke/fptr/valftn_t.il
@@ -17,7 +17,6 @@
// bool) = ( 01 00 00 01 00 00 )
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'bug.exe'
diff --git a/tests/src/JIT/Methodical/Invoke/fptr/virtftn.il b/tests/src/JIT/Methodical/Invoke/fptr/virtftn.il
index 0dcceb08fc..2b72986f3b 100644
--- a/tests/src/JIT/Methodical/Invoke/fptr/virtftn.il
+++ b/tests/src/JIT/Methodical/Invoke/fptr/virtftn.il
@@ -17,7 +17,6 @@
// .custom instance void ['mscorlib']System.Diagnostics.DebuggableAttribute::.ctor(bool,
// bool) = ( 01 00 00 01 00 00 )
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'bug.exe'
diff --git a/tests/src/JIT/Methodical/Invoke/fptr/virtftn_t.il b/tests/src/JIT/Methodical/Invoke/fptr/virtftn_t.il
index 07a249dbbf..f056743bee 100644
--- a/tests/src/JIT/Methodical/Invoke/fptr/virtftn_t.il
+++ b/tests/src/JIT/Methodical/Invoke/fptr/virtftn_t.il
@@ -17,7 +17,6 @@
// bool) = ( 01 00 00 01 00 00 )
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'bug.exe'
diff --git a/tests/src/JIT/Methodical/Invoke/implicit/objref.il b/tests/src/JIT/Methodical/Invoke/implicit/objref.il
index 5fb579473b..7c982bf844 100644
--- a/tests/src/JIT/Methodical/Invoke/implicit/objref.il
+++ b/tests/src/JIT/Methodical/Invoke/implicit/objref.il
@@ -18,7 +18,6 @@
// bool) = ( 01 00 00 01 00 00 )
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'objref.exe'
// MVID: {4F6CDA4F-13A9-40C8-ADF8-98FBBEF21260}
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/VT/callconv/calli.il b/tests/src/JIT/Methodical/VT/callconv/calli.il
index f98cf85458..3c9603d033 100644
--- a/tests/src/JIT/Methodical/VT/callconv/calli.il
+++ b/tests/src/JIT/Methodical/VT/callconv/calli.il
@@ -14,7 +14,6 @@
}
.assembly 'call' // as "call"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module call.exe
// MVID: {CF1D567F-C985-45B8-8028-219BDC43D791}
diff --git a/tests/src/JIT/Methodical/VT/callconv/jumper4.il b/tests/src/JIT/Methodical/VT/callconv/jumper4.il
index 09842a27c6..66a8bed0a0 100644
--- a/tests/src/JIT/Methodical/VT/callconv/jumper4.il
+++ b/tests/src/JIT/Methodical/VT/callconv/jumper4.il
@@ -16,7 +16,6 @@
{
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module jumper.exe
// MVID: {2E4A2D77-5614-4325-A9DC-CBB90842669E}
diff --git a/tests/src/JIT/Methodical/VT/callconv/jumper5.il b/tests/src/JIT/Methodical/VT/callconv/jumper5.il
index b11987d87c..148c524be9 100644
--- a/tests/src/JIT/Methodical/VT/callconv/jumper5.il
+++ b/tests/src/JIT/Methodical/VT/callconv/jumper5.il
@@ -16,7 +16,6 @@
{
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module jumper.exe
// MVID: {2E4A2D77-5614-4325-A9DC-CBB90842669E}
diff --git a/tests/src/JIT/Methodical/VT/callconv/jumps1.il b/tests/src/JIT/Methodical/VT/callconv/jumps1.il
index 47f4996922..eb5273dc2f 100644
--- a/tests/src/JIT/Methodical/VT/callconv/jumps1.il
+++ b/tests/src/JIT/Methodical/VT/callconv/jumps1.il
@@ -17,7 +17,6 @@
}
.assembly jumps // as "jumps"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module jumps.exe
.namespace MS
diff --git a/tests/src/JIT/Methodical/VT/callconv/jumps2.il b/tests/src/JIT/Methodical/VT/callconv/jumps2.il
index 3db5c5ba34..b5fa73b125 100644
--- a/tests/src/JIT/Methodical/VT/callconv/jumps2.il
+++ b/tests/src/JIT/Methodical/VT/callconv/jumps2.il
@@ -18,7 +18,6 @@
.assembly jumps // as "jumps"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module jumps.exe
.namespace MS
diff --git a/tests/src/JIT/Methodical/VT/callconv/jumps3.il b/tests/src/JIT/Methodical/VT/callconv/jumps3.il
index 775e662e93..b4ff580457 100644
--- a/tests/src/JIT/Methodical/VT/callconv/jumps3.il
+++ b/tests/src/JIT/Methodical/VT/callconv/jumps3.il
@@ -17,7 +17,6 @@
}
.assembly jumps // as "jumps"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module jumps.exe
.namespace MS
diff --git a/tests/src/JIT/Methodical/VT/callconv/jumps4.il b/tests/src/JIT/Methodical/VT/callconv/jumps4.il
index d82cf50e5d..5f873df879 100644
--- a/tests/src/JIT/Methodical/VT/callconv/jumps4.il
+++ b/tests/src/JIT/Methodical/VT/callconv/jumps4.il
@@ -12,7 +12,6 @@
}
.assembly jumps // as "jumps"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module jumps.exe
.namespace MS
diff --git a/tests/src/JIT/Methodical/VT/callconv/jumps5.il b/tests/src/JIT/Methodical/VT/callconv/jumps5.il
index 2712eeec1e..a1b49397d9 100644
--- a/tests/src/JIT/Methodical/VT/callconv/jumps5.il
+++ b/tests/src/JIT/Methodical/VT/callconv/jumps5.il
@@ -17,7 +17,6 @@
}
.assembly jumps // as "jumps"
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module jumps.exe
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/basic/refloc_o2.il b/tests/src/JIT/Methodical/explicit/basic/refloc_o2.il
index 09e519fd04..265e4bf921 100644
--- a/tests/src/JIT/Methodical/explicit/basic/refloc_o2.il
+++ b/tests/src/JIT/Methodical/explicit/basic/refloc_o2.il
@@ -16,7 +16,6 @@
// bool) = ( 01 00 00 01 00 00 )
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'refloc_o.exe'
// MVID: {3CF0A869-1266-4091-97CF-DEFA0C36E038}
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_bug675304/loopIV_init.il b/tests/src/JIT/Methodical/flowgraph/dev10_bug675304/loopIV_init.il
index 13453f7f14..64a860e0a0 100644
--- a/tests/src/JIT/Methodical/flowgraph/dev10_bug675304/loopIV_init.il
+++ b/tests/src/JIT/Methodical/flowgraph/dev10_bug675304/loopIV_init.il
@@ -14,8 +14,6 @@
.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 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
- .permissionset reqmin
- = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
.ver 0:0:0:0
}
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/fp/apps/bouncingball_cs_d.csproj b/tests/src/JIT/Methodical/fp/apps/bouncingball_cs_d.csproj
index 380db83829..d707e581c2 100644
--- a/tests/src/JIT/Methodical/fp/apps/bouncingball_cs_d.csproj
+++ b/tests/src/JIT/Methodical/fp/apps/bouncingball_cs_d.csproj
@@ -15,6 +15,7 @@
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IlasmRoundTrip>true</IlasmRoundTrip>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
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/refany/indcall.il b/tests/src/JIT/Methodical/refany/indcall.il
index 03a4c9bc07..facc199ea9 100644
--- a/tests/src/JIT/Methodical/refany/indcall.il
+++ b/tests/src/JIT/Methodical/refany/indcall.il
@@ -12,7 +12,6 @@
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.module 'bug.exe'
.namespace JitTest
diff --git a/tests/src/JIT/Methodical/structs/systemvbringup/structinregs.cpp b/tests/src/JIT/Methodical/structs/systemvbringup/structinregs.cpp
index 22519f6da2..a01e93034b 100644
--- a/tests/src/JIT/Methodical/structs/systemvbringup/structinregs.cpp
+++ b/tests/src/JIT/Methodical/structs/systemvbringup/structinregs.cpp
@@ -319,12 +319,12 @@ EXPORT(void) InvokeCallback20(PFNACTION20 callback, S20 s)
EXPORT(void) InvokeCallback28(PFNACTION28 callback, S28 s)
{
- printf("Native S28: %X object, %d\n", (unsigned int)s.x, s.y);
+ printf("Native S28: %p object, %d\n", s.x, s.y);
callback(s);
}
EXPORT(void) InvokeCallback29(PFNACTION29 callback, S29 s)
{
- printf("Native S29: %d, %X object\n", s.x, (unsigned int)s.y);
+ printf("Native S29: %d, %p object\n", s.x, s.y);
callback(s);
}
@@ -463,13 +463,13 @@ EXPORT(S20) InvokeCallback20R(PFNACTION20 callback, S20 s)
EXPORT(S28) InvokeCallback28R(PFNACTION28 callback, S28 s)
{
- printf("Native S28: %X object, %d\n", (unsigned int)s.x, s.y);
+ printf("Native S28: %p object, %d\n", s.x, s.y);
callback(s);
return s;
}
EXPORT(S29) InvokeCallback29R(PFNACTION29 callback, S29 s)
{
- printf("Native S29: %d, %X object\n", s.x, (unsigned int)s.y);
+ printf("Native S29: %d, %p object\n", s.x, s.y);
callback(s);
return s;
}
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/tailcall_v4/hijacking.il b/tests/src/JIT/Methodical/tailcall_v4/hijacking.il
index 2f552ed0b6..7c3babb174 100644
--- a/tests/src/JIT/Methodical/tailcall_v4/hijacking.il
+++ b/tests/src/JIT/Methodical/tailcall_v4/hijacking.il
@@ -19,8 +19,6 @@
.custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.custom instance void [System.Runtime]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
- .permissionset reqmin
- = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
.ver 0:0:0:0
}
diff --git a/tests/src/JIT/Methodical/tailcall_v4/stk_bndchk.il b/tests/src/JIT/Methodical/tailcall_v4/stk_bndchk.il
index c889b3b7c2..cbea22914d 100644
--- a/tests/src/JIT/Methodical/tailcall_v4/stk_bndchk.il
+++ b/tests/src/JIT/Methodical/tailcall_v4/stk_bndchk.il
@@ -22,8 +22,6 @@
.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 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
- .permissionset reqmin
- = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
.ver 0:0:0:0
}
diff --git a/tests/src/JIT/Methodical/varargs/callconv/gc_ctor.il b/tests/src/JIT/Methodical/varargs/callconv/gc_ctor.il
index 2875772a60..92cd648992 100644
--- a/tests/src/JIT/Methodical/varargs/callconv/gc_ctor.il
+++ b/tests/src/JIT/Methodical/varargs/callconv/gc_ctor.il
@@ -12,7 +12,6 @@
{
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
-.permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.namespace Test
{
diff --git a/tests/src/JIT/Methodical/varargs/callconv/val_ctor.il b/tests/src/JIT/Methodical/varargs/callconv/val_ctor.il
index 12a27f8854..0068d67e18 100644
--- a/tests/src/JIT/Methodical/varargs/callconv/val_ctor.il
+++ b/tests/src/JIT/Methodical/varargs/callconv/val_ctor.il
@@ -12,7 +12,6 @@
{
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
-.permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.namespace Test
{
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/const.il b/tests/src/JIT/Methodical/xxobj/operand/const.il
index 524279dd02..3e5f6dba93 100644
--- a/tests/src/JIT/Methodical/xxobj/operand/const.il
+++ b/tests/src/JIT/Methodical/xxobj/operand/const.il
@@ -10,7 +10,6 @@
}
.assembly 'const'
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.namespace JitTest
{
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..cbecaf4ba3
--- /dev/null
+++ b/tests/src/JIT/Methodical/xxobj/operand/localloc.il
@@ -0,0 +1,215 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly 'localloc' {
+}
+.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/Methodical/xxobj/sizeof/64sizeof.il b/tests/src/JIT/Methodical/xxobj/sizeof/64sizeof.il
index aa8f0d7f31..dc64d80df9 100644
--- a/tests/src/JIT/Methodical/xxobj/sizeof/64sizeof.il
+++ b/tests/src/JIT/Methodical/xxobj/sizeof/64sizeof.il
@@ -10,7 +10,6 @@
.assembly extern mscorlib { }
.assembly 'sizeof'
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
.namespace JitTest
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.cs
index c1e39cbdde..e054c732bd 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.cs
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.cs
@@ -16,7 +16,7 @@ public static class SqMtx
#if DEBUG
public const int Iterations = 1;
#else
- public const int Iterations = 1000;
+ public const int Iterations = 4000;
#endif
const int MatrixSize = 40;
@@ -71,18 +71,13 @@ public static class SqMtx
public static void Test() {
foreach (var iteration in Benchmark.Iterations) {
using (iteration.StartMeasurement()) {
- for (int i = 0; i < Iterations; i++) {
- Bench();
- }
+ Bench();
}
}
}
static bool TestBase() {
- bool result = true;
- for (int i = 0; i < Iterations; i++) {
- result &= Bench();
- }
+ bool result = Bench();
return result;
}
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj
index e9f416df72..9263d7ebd5 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj
@@ -13,6 +13,7 @@
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IlasmRoundTrip>true</IlasmRoundTrip>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
diff --git a/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.cs b/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.cs
new file mode 100644
index 0000000000..8e7f4db9b5
--- /dev/null
+++ b/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.cs
@@ -0,0 +1,200 @@
+// 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.IO;
+using System.Runtime.CompilerServices;
+using System.Runtime.Serialization;
+using System.Runtime.Serialization.Json;
+using System.Text;
+using Newtonsoft.Json.Bson;
+using Microsoft.Xunit.Performance;
+
+[assembly: OptimizeForBenchmarks]
+[assembly: MeasureInstructionsRetired]
+
+public class JsonBenchmarks
+{
+
+#if DEBUG
+ public const int Iterations = 1;
+ public const int JsonNetIterations = 1;
+#else
+ public const int Iterations = 30000;
+ public const int JsonNetIterations = 90000;
+#endif
+
+ const string DataContractXml = @"<JsonBenchmarks.TestObject xmlns=""http://schemas.datacontract.org/2004/07/"" xmlns:i=""http://www.w3.org/2001/XMLSchema-instance""><Id>33</Id><Name>SqMtx</Name><Results xmlns:a=""http://schemas.microsoft.com/2003/10/Serialization/Arrays""><a:double>101.3</a:double><a:double>99.8</a:double><a:double>99.6</a:double><a:double>100.4</a:double></Results><WhenRun>2015-01-01T00:00:00-08:00</WhenRun></JsonBenchmarks.TestObject>";
+
+ const string DataContractJson = @"{""Id"":33,""Name"":""SqMtx"",""Results"":[101.3,99.8,99.6,100.4],""WhenRun"":""\/Date(1420099200000-0800)\/""}";
+
+ const string JsonNetJson = @"{""Id"":33,""Name"":""SqMtx"",""Results"":[101.3,99.8,99.6,100.4],""WhenRun"":""2015-01-01T00:00:00-08:00""}";
+
+ byte[] JsonNetBinary = new byte[] { 0x68, 0x00, 0x00, 0x00, 0x10, 0x49, 0x64, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x06, 0x00, 0x00, 0x00, 0x53, 0x71, 0x4D, 0x74, 0x78, 0x00, 0x04, 0x52, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x73, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x30, 0x00, 0x33, 0x33, 0x33, 0x33, 0x33, 0x53, 0x59, 0x40, 0x01, 0x31, 0x00, 0x33, 0x33, 0x33, 0x33, 0x33, 0xF3, 0x58, 0x40, 0x01, 0x32, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0xE6, 0x58, 0x40, 0x01, 0x33, 0x00, 0x9A, 0x99, 0x99, 0x99, 0x99, 0x19, 0x59, 0x40, 0x00, 0x09, 0x57, 0x68, 0x65, 0x6E, 0x52, 0x75, 0x6E, 0x00, 0x00, 0x24, 0x82, 0xA4, 0x4A, 0x01, 0x00, 0x00, 0x00 };
+
+ static volatile object VolatileObject;
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void Escape(object obj) {
+ VolatileObject = obj;
+ }
+
+ [DataContract]
+ public class TestObject
+ {
+ [DataMember]
+ public int Id { get; set; }
+
+ [DataMember]
+ public string Name { get; set; }
+
+ [DataMember]
+ public double[] Results { get; set; }
+
+ [DataMember]
+ public DateTime WhenRun { get; set; }
+
+ public static TestObject Expected()
+ {
+ TestObject t = new TestObject();
+ t.Id = 33;
+ t.Name = "SqMtx";
+ t.Results = new double[] { 101.3, 99.8, 99.6, 100.4 };
+ t.WhenRun = DateTime.Parse("Jan 1, 2015 8:00 GMT");
+ return t;
+ }
+ }
+
+ private bool Deserialize()
+ {
+ bool result = true;
+ DeserializeObject();
+ return result;
+ }
+
+ private void DeserializeObject()
+ {
+ DeserializeDataContractBench();
+ DeserializeDataContractJsonBench();
+ DeserializeJsonNetBinaryBench();
+ DeserializeJsonNetBench();
+ }
+
+ [Benchmark]
+ private void DeserializeDataContract()
+ {
+ foreach (var iteration in Benchmark.Iterations) {
+ using (iteration.StartMeasurement()) {
+ DeserializeDataContractBench();
+ }
+ }
+ }
+
+ private void DeserializeDataContractBench() {
+ DataContractSerializer ds = new DataContractSerializer(typeof(TestObject));
+ MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(DataContractXml));
+ DeserializeDataContractBenchInner(ds, ms);
+ }
+
+ private void DeserializeDataContractBenchInner(DataContractSerializer ds, MemoryStream ms)
+ {
+ TestObject t;
+ for (int i = 0; i < Iterations; i++)
+ {
+ t = (TestObject)ds.ReadObject(ms);
+ Escape(t.Name);
+ ms.Seek(0, SeekOrigin.Begin);
+ }
+ }
+
+ [Benchmark]
+ private void DeserializeDataContractJson()
+ {
+ foreach (var iteration in Benchmark.Iterations) {
+ using (iteration.StartMeasurement()) {
+ DeserializeDataContractJsonBench();
+ }
+ }
+ }
+
+ private void DeserializeDataContractJsonBench()
+ {
+ DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(TestObject));
+ MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(DataContractJson));
+ DeserializeDataContractJsonBenchInner(ds, ms);
+ }
+
+ private void DeserializeDataContractJsonBenchInner(DataContractJsonSerializer ds, MemoryStream ms)
+ {
+ TestObject t;
+ for (int i = 0; i < Iterations; i++)
+ {
+ t = (TestObject) ds.ReadObject(ms);
+ Escape(t.Name);
+ ms.Seek(0, SeekOrigin.Begin);
+ }
+ }
+
+ [Benchmark]
+ private void DeserializeJsonNetBinary()
+ {
+ foreach (var iteration in Benchmark.Iterations) {
+ using (iteration.StartMeasurement()) {
+ DeserializeJsonNetBinaryBench();
+ }
+ }
+ }
+
+ private void DeserializeJsonNetBinaryBench()
+ {
+ DeserializeJsonNetBinaryBenchInner();
+ }
+
+ private void DeserializeJsonNetBinaryBenchInner()
+ {
+ Newtonsoft.Json.JsonSerializer ds = new Newtonsoft.Json.JsonSerializer();
+ TestObject t;
+ Type ty = typeof(TestObject);
+ for (int i = 0; i < JsonNetIterations; i++)
+ {
+ BsonReader br = new BsonReader(new MemoryStream(JsonNetBinary));
+ t = (TestObject) ds.Deserialize(br, ty);
+ Escape(t.Name);
+ }
+ }
+
+ [Benchmark]
+ private void DeserializeJsonNet()
+ {
+ foreach (var iteration in Benchmark.Iterations) {
+ using (iteration.StartMeasurement()) {
+ DeserializeJsonNetBench();
+ }
+ }
+ }
+
+ private void DeserializeJsonNetBench()
+ {
+ DeserializeJsonNetBenchInner();
+ }
+
+ private void DeserializeJsonNetBenchInner()
+ {
+ Newtonsoft.Json.JsonSerializer ds = new Newtonsoft.Json.JsonSerializer();
+ TestObject t;
+ Type ty = typeof(TestObject);
+ for (int i = 0; i < JsonNetIterations; i++)
+ {
+ StringReader sr = new StringReader(JsonNetJson);
+ t = (TestObject)ds.Deserialize(sr, ty);
+ Escape(t.Name);
+ }
+ }
+
+ public static int Main() {
+ var tests = new JsonBenchmarks();
+ bool result = tests.Deserialize();
+ return result ? 100 : -1;
+ }
+}
diff --git a/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj b/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj
new file mode 100644
index 0000000000..246310841e
--- /dev/null
+++ b/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj
@@ -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>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>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>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="$(JitPackagesConfigFileDirectory)benchmark+serialize\project.json" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Deserialize.cs" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark+serialize\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark+serialize\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.cs b/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.cs
new file mode 100644
index 0000000000..0c9aa64929
--- /dev/null
+++ b/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.cs
@@ -0,0 +1,187 @@
+// 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.IO;
+using System.Runtime.CompilerServices;
+using System.Runtime.Serialization;
+using System.Runtime.Serialization.Json;
+using Newtonsoft.Json.Bson;
+using Microsoft.Xunit.Performance;
+
+[assembly: OptimizeForBenchmarks]
+[assembly: MeasureInstructionsRetired]
+
+public class JsonBenchmarks
+{
+
+#if DEBUG
+ public const int Iterations = 1;
+#else
+ public const int Iterations = 75000;
+#endif
+
+ static volatile object VolatileObject;
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void Escape(object obj) {
+ VolatileObject = obj;
+ }
+
+ [DataContract]
+ public class TestObject
+ {
+ [DataMember]
+ public int Id { get; set; }
+
+ [DataMember]
+ public string Name { get; set; }
+
+ [DataMember]
+ public double[] Results { get; set; }
+
+ [DataMember]
+ public DateTime WhenRun { get; set; }
+
+ public static TestObject New()
+ {
+ TestObject t = new TestObject();
+ t.Id = 33;
+ t.Name = "SqMtx";
+ t.Results = new double[] { 101.3, 99.8, 99.6, 100.4 };
+ t.WhenRun = DateTime.Parse("Jan 1, 2015 8:00 GMT");
+ return t;
+ }
+ }
+
+ private bool Serialize()
+ {
+ bool result = true;
+ SerializeObject();
+ return result;
+ }
+
+ private void SerializeObject()
+ {
+ SerializeDataContractBench();
+ SerializeDataContractJsonBench();
+ SerializeJsonNetBinaryBench();
+ SerializeJsonNetBench();
+ }
+
+ [Benchmark]
+ private void SerializeDataContract()
+ {
+ foreach (var iteration in Benchmark.Iterations) {
+ using (iteration.StartMeasurement()) {
+ SerializeDataContractBench();
+ }
+ }
+ }
+
+ private void SerializeDataContractBench() {
+ TestObject t = TestObject.New();
+ MemoryStream ms = new MemoryStream();
+ SerializeDataContractBenchInner(t, ms);
+ }
+
+ private void SerializeDataContractBenchInner(object o, MemoryStream ms)
+ {
+ for (int i = 0; i < Iterations; i++)
+ {
+ var s = new DataContractSerializer(o.GetType());
+ s.WriteObject(ms, o);
+ Escape(ms);
+ ms.Flush();
+ }
+ }
+
+ [Benchmark]
+ private void SerializeDataContractJson()
+ {
+ foreach (var iteration in Benchmark.Iterations) {
+ using (iteration.StartMeasurement()) {
+ SerializeDataContractJsonBench();
+ }
+ }
+ }
+
+ private void SerializeDataContractJsonBench()
+ {
+ TestObject t = TestObject.New();
+ MemoryStream ms = new MemoryStream();
+ SerializeDataContractJsonBenchInner(t, ms);
+ }
+
+ private void SerializeDataContractJsonBenchInner(object o, MemoryStream ms)
+ {
+ for (int i = 0; i < Iterations; i++)
+ {
+ var s = new DataContractJsonSerializer(o.GetType());
+ s.WriteObject(ms, o);
+ Escape(ms);
+ ms.Flush();
+ }
+ }
+
+ [Benchmark]
+ private void SerializeJsonNetBinary()
+ {
+ foreach (var iteration in Benchmark.Iterations) {
+ using (iteration.StartMeasurement()) {
+ SerializeJsonNetBinaryBench();
+ }
+ }
+ }
+
+ private void SerializeJsonNetBinaryBench()
+ {
+ TestObject t = TestObject.New();
+ MemoryStream ms = new MemoryStream();
+ SerializeJsonNetBinaryBenchInner(t, ms);
+ }
+
+ private void SerializeJsonNetBinaryBenchInner(object o, MemoryStream ms)
+ {
+ for (int i = 0; i < Iterations; i++)
+ {
+ var s = new Newtonsoft.Json.JsonSerializer();
+ var w = new BsonWriter(ms);
+ s.Serialize(w, o);
+ Escape(w);
+ w.Flush();
+ }
+ }
+
+ [Benchmark]
+ private void SerializeJsonNet()
+ {
+ foreach (var iteration in Benchmark.Iterations) {
+ using (iteration.StartMeasurement()) {
+ SerializeJsonNetBench();
+ }
+ }
+ }
+
+ private void SerializeJsonNetBench()
+ {
+ TestObject t = TestObject.New();
+ SerializeJsonNetBenchInner(t);
+ }
+
+ private void SerializeJsonNetBenchInner(object o)
+ {
+ for (int i = 0; i < Iterations; i++)
+ {
+ var s = Newtonsoft.Json.JsonConvert.SerializeObject(o);
+ Escape(s);
+ }
+ }
+
+ public static int Main() {
+ var tests = new JsonBenchmarks();
+ bool result = tests.Serialize();
+ return result ? 100 : -1;
+ }
+}
diff --git a/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj b/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj
new file mode 100644
index 0000000000..0fe71230f8
--- /dev/null
+++ b/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj
@@ -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>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>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>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="$(JitPackagesConfigFileDirectory)benchmark+serialize\project.json" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Serialize.cs" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark+serialize\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark+serialize\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
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/b10897/b10897.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b10897/b10897.il
index d81e76753b..4cc9353620 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b10897/b10897.il
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b10897/b10897.il
@@ -9,7 +9,6 @@
}
.assembly b10897
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
// ----------------------------------
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b14777/b14777.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b14777/b14777.il
index c4c70e6006..91a9a3ce69 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b14777/b14777.il
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b14777/b14777.il
@@ -18,7 +18,6 @@
}
.assembly b14777
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class _ldtoken {
.method static int32 main(class [mscorlib]System.String[]) {
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..0e3e3cd29b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.il
@@ -0,0 +1,165 @@
+.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 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/b28927/b28927.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b28927/b28927.il
index 495c70ac9b..c8d084da07 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b28927/b28927.il
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b28927/b28927.il
@@ -18,7 +18,6 @@
}
.assembly b14777
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class public _ldtoken
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/b14585/b14585.cs b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b14585/b14585.cs
deleted file mode 100644
index a77dc9b786..0000000000
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b14585/b14585.cs
+++ /dev/null
@@ -1,24 +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.IO;
-namespace DefaultNamespace
-{
- internal class Bug31
- {
- public static int Main(String[] args)
- {
- Console.WriteLine("abc");
- try
- {
- Directory.CreateDirectory("EraseThisDir");
- }
- catch (Exception)
- {
- }
- Console.WriteLine("xyz");
- return 100;
- }
- }
-}
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/b64026/b64026.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b64026/b64026.il
index aeacc42253..b5a6660e10 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b64026/b64026.il
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b64026/b64026.il
@@ -10,7 +10,6 @@
}
.assembly 'ldvirtftncalli'
{
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.class private auto ansi beforefieldinit A
extends [mscorlib]System.Object
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/b00719/b00719.csproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b00719/b00719.csproj
index 54c1f9dcf1..f17ec7f1c7 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b00719/b00719.csproj
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b00719/b00719.csproj
@@ -15,6 +15,7 @@
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<RestorePackages>true</RestorePackages>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IlasmRoundTrip>true</IlasmRoundTrip>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
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..25273d53a3
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/OverwriteArray.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 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 )
+}
+
+.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/Desktop/b423755.il b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/Desktop/b423755.il
index 5c1bfbf5d0..36254f4516 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/Desktop/b423755.il
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/Desktop/b423755.il
@@ -9,13 +9,6 @@
}
.assembly 'test' {
- .permissionset reqrefuse =
- {
- [mscorlib]System.Security.Permissions.SecurityPermissionAttribute =
- {
- property bool 'SkipVerification' = bool(true)
- }
- }
}
.method public static int32 Main()
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..e5bd833bff
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/b423755.il
@@ -0,0 +1,26 @@
+
+.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 )
+}
+
+.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..4d96a01be4
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/b431011.il
@@ -0,0 +1,107 @@
+
+
+.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 )
+ .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..a8e5018cd9
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/cs_il.il
@@ -0,0 +1,127 @@
+
+
+
+
+.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
+{
+
+
+ .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..73e21821c4
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/test3.il
@@ -0,0 +1,140 @@
+
+
+
+
+
+.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
+{
+
+
+ .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/b102844/tailcallcalli.il b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b102844/tailcallcalli.il
index c093f88872..f40ac3d3fc 100644
--- a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b102844/tailcallcalli.il
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b102844/tailcallcalli.il
@@ -18,13 +18,6 @@
}
.assembly legacy library bug
{
- .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"
.ver 0:0:0:0
}
.module bug.exe
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..f7c9e5d1bc
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/call01.il
@@ -0,0 +1,323 @@
+
+
+
+
+
+.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
+{
+
+
+ .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/SIMD/BitwiseOperations.csproj b/tests/src/JIT/SIMD/BitwiseOperations.csproj
index 85e8868c6f..d9835c3364 100644
--- a/tests/src/JIT/SIMD/BitwiseOperations.csproj
+++ b/tests/src/JIT/SIMD/BitwiseOperations.csproj
@@ -13,6 +13,7 @@
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IlasmRoundTrip>true</IlasmRoundTrip>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
diff --git a/tests/src/JIT/config/benchmark+serialize/project.json b/tests/src/JIT/config/benchmark+serialize/project.json
new file mode 100644
index 0000000000..4ada24a362
--- /dev/null
+++ b/tests/src/JIT/config/benchmark+serialize/project.json
@@ -0,0 +1,22 @@
+{
+ "dependencies": {
+ "Microsoft.DotNet.xunit.performance": "1.0.0-alpha-build0027",
+ "Microsoft.DotNet.xunit.performance.analysis": "1.0.0-alpha-build0027",
+ "Microsoft.DotNet.xunit.performance.runner.Windows": "1.0.0-alpha-build0027",
+ "System.Runtime": "4.0.20-beta-*",
+ "System.Console": "4.0.0-beta-*",
+ "System.IO": "4.0.0-beta-*",
+ "System.Runtime.Serialization.Json": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Runtime.Serialization.Xml": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0",
+ "System.Xml.XmlSerializer": "4.0.10",
+ "Newtonsoft.Json": "7.0.1",
+ "xunit": "2.1.0",
+ "xunit.runner.utility": "2.1.0",
+ "xunit.console.netcore": "1.0.2-prerelease-00128"
+ },
+ "frameworks": {
+ "dnxcore50": { }
+ },
+}
diff --git a/tests/src/JIT/config/benchmark+serialize/project.lock.json b/tests/src/JIT/config/benchmark+serialize/project.lock.json
new file mode 100644
index 0000000000..c591808265
--- /dev/null
+++ b/tests/src/JIT/config/benchmark+serialize/project.lock.json
@@ -0,0 +1,3891 @@
+{
+ "locked": true,
+ "version": 2,
+ "targets": {
+ "DNXCore,Version=v5.0": {
+ "Microsoft.DotNet.xunit.performance/1.0.0-alpha-build0027": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "xunit.abstractions": "2.0.0",
+ "xunit.extensibility.core": "2.1.0",
+ "xunit.extensibility.execution": "2.1.0"
+ },
+ "compile": {
+ "lib/dotnet/xunit.performance.core.dll": {},
+ "lib/dotnet/xunit.performance.execution.dotnet.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.performance.core.dll": {},
+ "lib/dotnet/xunit.performance.execution.dotnet.dll": {}
+ }
+ },
+ "Microsoft.DotNet.xunit.performance.analysis/1.0.0-alpha-build0027": {
+ "type": "package"
+ },
+ "Microsoft.DotNet.xunit.performance.runner.Windows/1.0.0-alpha-build0027": {
+ "type": "package",
+ "dependencies": {
+ "xunit.runner.console": "2.1.0"
+ }
+ },
+ "Newtonsoft.Json/7.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {}
+ },
+ "runtime": {
+ "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {}
+ }
+ },
+ "System.Collections/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Collections.dll": {}
+ }
+ },
+ "System.Collections.Concurrent/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Concurrent.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Concurrent.dll": {}
+ }
+ },
+ "System.Console/4.0.0-beta-23516": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet5.1/System.Console.dll": {}
+ }
+ },
+ "System.Diagnostics.Debug/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Debug.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Diagnostics.Debug.dll": {}
+ }
+ },
+ "System.Diagnostics.Tracing/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Tracing.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Diagnostics.Tracing.dll": {}
+ }
+ },
+ "System.Globalization/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Globalization.dll": {}
+ }
+ },
+ "System.IO/4.0.0-beta-23127": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0-beta-23127",
+ "System.Text.Encoding": "4.0.0-beta-23127",
+ "System.Threading.Tasks": "4.0.0-beta-23127"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.dll": {}
+ }
+ },
+ "System.IO.FileSystem/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.IO.FileSystem.dll": {}
+ }
+ },
+ "System.IO.FileSystem.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ }
+ },
+ "System.Linq/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Linq.dll": {}
+ }
+ },
+ "System.Linq.Expressions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.Expressions.dll": {}
+ }
+ },
+ "System.ObjectModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.ObjectModel.dll": {}
+ }
+ },
+ "System.Private.DataContractSerialization/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/dnxcore50/_._": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Private.DataContractSerialization.dll": {}
+ }
+ },
+ "System.Private.Uri/4.0.0-beta-23127": {
+ "type": "package",
+ "compile": {
+ "ref/dnxcore50/_._": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Private.Uri.dll": {}
+ }
+ },
+ "System.Reflection/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.dll": {}
+ }
+ },
+ "System.Reflection.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.Extensions.dll": {}
+ }
+ },
+ "System.Reflection.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.Primitives.dll": {}
+ }
+ },
+ "System.Reflection.TypeExtensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.TypeExtensions.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.TypeExtensions.dll": {}
+ }
+ },
+ "System.Resources.ResourceManager/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Resources.ResourceManager.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Resources.ResourceManager.dll": {}
+ }
+ },
+ "System.Runtime/4.0.20-beta-23127": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Uri": "4.0.0-beta-23127"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.dll": {}
+ }
+ },
+ "System.Runtime.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.Extensions.dll": {}
+ }
+ },
+ "System.Runtime.Handles/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Handles.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.Handles.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.InteropServices.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.InteropServices.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Json/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Json.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.Serialization.Json.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Xml/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Xml.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.Serialization.Xml.dll": {}
+ }
+ },
+ "System.Text.Encoding/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Text.Encoding.dll": {}
+ }
+ },
+ "System.Text.Encoding.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {}
+ }
+ },
+ "System.Text.RegularExpressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.RegularExpressions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.RegularExpressions.dll": {}
+ }
+ },
+ "System.Threading/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Threading.dll": {}
+ }
+ },
+ "System.Threading.Overlapped/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Overlapped.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Threading.Overlapped.dll": {}
+ }
+ },
+ "System.Threading.Tasks/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Tasks.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Threading.Tasks.dll": {}
+ }
+ },
+ "System.Xml.ReaderWriter/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.ReaderWriter.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.ReaderWriter.dll": {}
+ }
+ },
+ "System.Xml.XDocument/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlDocument/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XmlDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlSerializer/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlSerializer.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Xml.XmlSerializer.dll": {}
+ }
+ },
+ "xunit/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "xunit.assert": "[2.1.0]",
+ "xunit.core": "[2.1.0]"
+ }
+ },
+ "xunit.abstractions/2.0.0": {
+ "type": "package",
+ "compile": {
+ "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll": {}
+ },
+ "runtime": {
+ "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll": {}
+ }
+ },
+ "xunit.assert/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.ObjectModel": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/xunit.assert.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.assert.dll": {}
+ }
+ },
+ "xunit.console.netcore/1.0.2-prerelease-00128": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Console": "4.0.0-beta-23213",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Xml.XDocument": "4.0.10",
+ "xunit.runner.utility": "2.1.0"
+ },
+ "compile": {
+ "lib/dnxcore50/_._": {}
+ },
+ "runtime": {
+ "lib/dnxcore50/_._": {}
+ }
+ },
+ "xunit.core/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0",
+ "xunit.abstractions": "2.0.0",
+ "xunit.extensibility.core": "[2.1.0]",
+ "xunit.extensibility.execution": "[2.1.0]"
+ }
+ },
+ "xunit.extensibility.core/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "xunit.abstractions": "[2.0.0]"
+ },
+ "compile": {
+ "lib/dotnet/xunit.core.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.core.dll": {},
+ "lib/dotnet/xunit.runner.tdnet.dll": {},
+ "lib/dotnet/xunit.runner.utility.desktop.dll": {}
+ }
+ },
+ "xunit.extensibility.execution/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0",
+ "xunit.abstractions": "2.0.0",
+ "xunit.extensibility.core": "[2.1.0]"
+ },
+ "compile": {
+ "lib/dotnet/xunit.execution.dotnet.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.execution.dotnet.dll": {}
+ }
+ },
+ "xunit.runner.console/2.1.0": {
+ "type": "package"
+ },
+ "xunit.runner.utility/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0",
+ "xunit.abstractions": "2.0.0"
+ },
+ "compile": {
+ "lib/dotnet/xunit.runner.utility.dotnet.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.runner.utility.dotnet.dll": {}
+ }
+ }
+ },
+ "DNXCore,Version=v5.0/win7-x86": {
+ "Microsoft.DotNet.xunit.performance/1.0.0-alpha-build0027": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "xunit.abstractions": "2.0.0",
+ "xunit.extensibility.core": "2.1.0",
+ "xunit.extensibility.execution": "2.1.0"
+ },
+ "compile": {
+ "lib/dotnet/xunit.performance.core.dll": {},
+ "lib/dotnet/xunit.performance.execution.dotnet.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.performance.core.dll": {},
+ "lib/dotnet/xunit.performance.execution.dotnet.dll": {}
+ }
+ },
+ "Microsoft.DotNet.xunit.performance.analysis/1.0.0-alpha-build0027": {
+ "type": "package"
+ },
+ "Microsoft.DotNet.xunit.performance.runner.Windows/1.0.0-alpha-build0027": {
+ "type": "package",
+ "dependencies": {
+ "xunit.runner.console": "2.1.0"
+ }
+ },
+ "Newtonsoft.Json/7.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {}
+ },
+ "runtime": {
+ "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {}
+ }
+ },
+ "runtime.win7.System.Console/4.0.0-beta-23516": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/_._": {}
+ },
+ "runtime": {
+ "runtimes/win7/lib/dotnet5.4/System.Console.dll": {}
+ }
+ },
+ "System.Collections/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Collections.dll": {}
+ }
+ },
+ "System.Collections.Concurrent/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Concurrent.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Concurrent.dll": {}
+ }
+ },
+ "System.Console/4.0.0-beta-23516": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet5.1/System.Console.dll": {}
+ }
+ },
+ "System.Diagnostics.Debug/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Debug.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Diagnostics.Debug.dll": {}
+ }
+ },
+ "System.Diagnostics.Tracing/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Tracing.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Diagnostics.Tracing.dll": {}
+ }
+ },
+ "System.Globalization/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Globalization.dll": {}
+ }
+ },
+ "System.IO/4.0.0-beta-23127": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0-beta-23127",
+ "System.Text.Encoding": "4.0.0-beta-23127",
+ "System.Threading.Tasks": "4.0.0-beta-23127"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.dll": {}
+ }
+ },
+ "System.IO.FileSystem/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.IO.FileSystem.dll": {}
+ }
+ },
+ "System.IO.FileSystem.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ }
+ },
+ "System.Linq/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Linq.dll": {}
+ }
+ },
+ "System.Linq.Expressions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.Expressions.dll": {}
+ }
+ },
+ "System.ObjectModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.ObjectModel.dll": {}
+ }
+ },
+ "System.Private.DataContractSerialization/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/dnxcore50/_._": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Private.DataContractSerialization.dll": {}
+ }
+ },
+ "System.Private.Uri/4.0.0-beta-23127": {
+ "type": "package",
+ "compile": {
+ "ref/dnxcore50/_._": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Private.Uri.dll": {}
+ }
+ },
+ "System.Reflection/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.dll": {}
+ }
+ },
+ "System.Reflection.Emit/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.Emit.dll": {}
+ }
+ },
+ "System.Reflection.Emit.ILGeneration/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.ILGeneration.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.Emit.ILGeneration.dll": {}
+ }
+ },
+ "System.Reflection.Emit.Lightweight/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.Lightweight.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.Emit.Lightweight.dll": {}
+ }
+ },
+ "System.Reflection.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.Extensions.dll": {}
+ }
+ },
+ "System.Reflection.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.Primitives.dll": {}
+ }
+ },
+ "System.Reflection.TypeExtensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.TypeExtensions.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.TypeExtensions.dll": {}
+ }
+ },
+ "System.Resources.ResourceManager/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Resources.ResourceManager.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Resources.ResourceManager.dll": {}
+ }
+ },
+ "System.Runtime/4.0.20-beta-23127": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Uri": "4.0.0-beta-23127"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.dll": {}
+ }
+ },
+ "System.Runtime.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.Extensions.dll": {}
+ }
+ },
+ "System.Runtime.Handles/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Handles.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.Handles.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.InteropServices.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.InteropServices.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Json/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Json.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.Serialization.Json.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Xml/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Xml.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.Serialization.Xml.dll": {}
+ }
+ },
+ "System.Text.Encoding/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Text.Encoding.dll": {}
+ }
+ },
+ "System.Text.Encoding.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {}
+ }
+ },
+ "System.Text.RegularExpressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.RegularExpressions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.RegularExpressions.dll": {}
+ }
+ },
+ "System.Threading/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Threading.dll": {}
+ }
+ },
+ "System.Threading.Overlapped/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Overlapped.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Threading.Overlapped.dll": {}
+ }
+ },
+ "System.Threading.Tasks/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Tasks.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Threading.Tasks.dll": {}
+ }
+ },
+ "System.Xml.ReaderWriter/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.ReaderWriter.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.ReaderWriter.dll": {}
+ }
+ },
+ "System.Xml.XDocument/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlDocument/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XmlDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlSerializer/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlSerializer.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Xml.XmlSerializer.dll": {}
+ }
+ },
+ "xunit/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "xunit.assert": "[2.1.0]",
+ "xunit.core": "[2.1.0]"
+ }
+ },
+ "xunit.abstractions/2.0.0": {
+ "type": "package",
+ "compile": {
+ "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll": {}
+ },
+ "runtime": {
+ "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll": {}
+ }
+ },
+ "xunit.assert/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.ObjectModel": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/xunit.assert.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.assert.dll": {}
+ }
+ },
+ "xunit.console.netcore/1.0.2-prerelease-00128": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Console": "4.0.0-beta-23213",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Xml.XDocument": "4.0.10",
+ "xunit.runner.utility": "2.1.0"
+ },
+ "compile": {
+ "lib/dnxcore50/_._": {}
+ },
+ "runtime": {
+ "lib/dnxcore50/_._": {}
+ },
+ "native": {
+ "runtimes/any/native/xunit.console.netcore.exe": {}
+ }
+ },
+ "xunit.core/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0",
+ "xunit.abstractions": "2.0.0",
+ "xunit.extensibility.core": "[2.1.0]",
+ "xunit.extensibility.execution": "[2.1.0]"
+ }
+ },
+ "xunit.extensibility.core/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "xunit.abstractions": "[2.0.0]"
+ },
+ "compile": {
+ "lib/dotnet/xunit.core.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.core.dll": {},
+ "lib/dotnet/xunit.runner.tdnet.dll": {},
+ "lib/dotnet/xunit.runner.utility.desktop.dll": {}
+ }
+ },
+ "xunit.extensibility.execution/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0",
+ "xunit.abstractions": "2.0.0",
+ "xunit.extensibility.core": "[2.1.0]"
+ },
+ "compile": {
+ "lib/dotnet/xunit.execution.dotnet.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.execution.dotnet.dll": {}
+ }
+ },
+ "xunit.runner.console/2.1.0": {
+ "type": "package"
+ },
+ "xunit.runner.utility/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0",
+ "xunit.abstractions": "2.0.0"
+ },
+ "compile": {
+ "lib/dotnet/xunit.runner.utility.dotnet.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.runner.utility.dotnet.dll": {}
+ }
+ }
+ },
+ "DNXCore,Version=v5.0/win7-x64": {
+ "Microsoft.DotNet.xunit.performance/1.0.0-alpha-build0027": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "xunit.abstractions": "2.0.0",
+ "xunit.extensibility.core": "2.1.0",
+ "xunit.extensibility.execution": "2.1.0"
+ },
+ "compile": {
+ "lib/dotnet/xunit.performance.core.dll": {},
+ "lib/dotnet/xunit.performance.execution.dotnet.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.performance.core.dll": {},
+ "lib/dotnet/xunit.performance.execution.dotnet.dll": {}
+ }
+ },
+ "Microsoft.DotNet.xunit.performance.analysis/1.0.0-alpha-build0027": {
+ "type": "package"
+ },
+ "Microsoft.DotNet.xunit.performance.runner.Windows/1.0.0-alpha-build0027": {
+ "type": "package",
+ "dependencies": {
+ "xunit.runner.console": "2.1.0"
+ }
+ },
+ "Newtonsoft.Json/7.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {}
+ },
+ "runtime": {
+ "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {}
+ }
+ },
+ "runtime.win7.System.Console/4.0.0-beta-23516": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/_._": {}
+ },
+ "runtime": {
+ "runtimes/win7/lib/dotnet5.4/System.Console.dll": {}
+ }
+ },
+ "System.Collections/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Collections.dll": {}
+ }
+ },
+ "System.Collections.Concurrent/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Diagnostics.Tracing": "4.0.20",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Collections.Concurrent.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Collections.Concurrent.dll": {}
+ }
+ },
+ "System.Console/4.0.0-beta-23516": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet5.1/System.Console.dll": {}
+ }
+ },
+ "System.Diagnostics.Debug/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Debug.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Diagnostics.Debug.dll": {}
+ }
+ },
+ "System.Diagnostics.Tracing/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Diagnostics.Tracing.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Diagnostics.Tracing.dll": {}
+ }
+ },
+ "System.Globalization/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Globalization.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Globalization.dll": {}
+ }
+ },
+ "System.IO/4.0.0-beta-23127": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0-beta-23127",
+ "System.Text.Encoding": "4.0.0-beta-23127",
+ "System.Threading.Tasks": "4.0.0-beta-23127"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.dll": {}
+ }
+ },
+ "System.IO.FileSystem/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Handles": "4.0.0",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Overlapped": "4.0.0",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.IO.FileSystem.dll": {}
+ }
+ },
+ "System.IO.FileSystem.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.IO.FileSystem.Primitives.dll": {}
+ }
+ },
+ "System.Linq/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Linq.dll": {}
+ }
+ },
+ "System.Linq.Expressions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Linq.Expressions.dll": {}
+ }
+ },
+ "System.ObjectModel/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.ObjectModel.dll": {}
+ }
+ },
+ "System.Private.DataContractSerialization/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.Serialization.Primitives": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlSerializer": "4.0.10"
+ },
+ "compile": {
+ "ref/dnxcore50/_._": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Private.DataContractSerialization.dll": {}
+ }
+ },
+ "System.Private.Uri/4.0.0-beta-23127": {
+ "type": "package",
+ "compile": {
+ "ref/dnxcore50/_._": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Private.Uri.dll": {}
+ }
+ },
+ "System.Reflection/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.dll": {}
+ }
+ },
+ "System.Reflection.Emit/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.Emit.dll": {}
+ }
+ },
+ "System.Reflection.Emit.ILGeneration/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.ILGeneration.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.Emit.ILGeneration.dll": {}
+ }
+ },
+ "System.Reflection.Emit.Lightweight/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Emit.ILGeneration": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Emit.Lightweight.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.Emit.Lightweight.dll": {}
+ }
+ },
+ "System.Reflection.Extensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.Extensions.dll": {}
+ }
+ },
+ "System.Reflection.Primitives/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.Primitives.dll": {}
+ }
+ },
+ "System.Reflection.TypeExtensions/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Reflection.TypeExtensions.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Reflection.TypeExtensions.dll": {}
+ }
+ },
+ "System.Resources.ResourceManager/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Globalization": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Resources.ResourceManager.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Resources.ResourceManager.dll": {}
+ }
+ },
+ "System.Runtime/4.0.20-beta-23127": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.Uri": "4.0.0-beta-23127"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.dll": {}
+ }
+ },
+ "System.Runtime.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.Extensions.dll": {}
+ }
+ },
+ "System.Runtime.Handles/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Handles.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.Handles.dll": {}
+ }
+ },
+ "System.Runtime.InteropServices/4.0.20": {
+ "type": "package",
+ "dependencies": {
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.InteropServices.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.InteropServices.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Json/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Json.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.Serialization.Json.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Primitives/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Runtime.Serialization.Primitives.dll": {}
+ }
+ },
+ "System.Runtime.Serialization.Xml/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Private.DataContractSerialization": "4.0.0",
+ "System.Runtime.Serialization.Primitives": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Runtime.Serialization.Xml.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Runtime.Serialization.Xml.dll": {}
+ }
+ },
+ "System.Text.Encoding/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Text.Encoding.dll": {}
+ }
+ },
+ "System.Text.Encoding.Extensions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Text.Encoding": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.Encoding.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {}
+ }
+ },
+ "System.Text.RegularExpressions/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Threading": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Text.RegularExpressions.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Text.RegularExpressions.dll": {}
+ }
+ },
+ "System.Threading/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Threading.dll": {}
+ }
+ },
+ "System.Threading.Overlapped/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Handles": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Overlapped.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Threading.Overlapped.dll": {}
+ }
+ },
+ "System.Threading.Tasks/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Threading.Tasks.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Threading.Tasks.dll": {}
+ }
+ },
+ "System.Xml.ReaderWriter/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Runtime.InteropServices": "4.0.20",
+ "System.Text.Encoding": "4.0.10",
+ "System.Text.Encoding.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading.Tasks": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.ReaderWriter.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.ReaderWriter.dll": {}
+ }
+ },
+ "System.Xml.XDocument/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Reflection": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlDocument/4.0.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.Encoding": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlDocument.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/System.Xml.XmlDocument.dll": {}
+ }
+ },
+ "System.Xml.XmlSerializer/4.0.10": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.10",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Reflection.Primitives": "4.0.0",
+ "System.Reflection.TypeExtensions": "4.0.0",
+ "System.Resources.ResourceManager": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Xml.ReaderWriter": "4.0.10",
+ "System.Xml.XmlDocument": "4.0.0"
+ },
+ "compile": {
+ "ref/dotnet/System.Xml.XmlSerializer.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.Xml.XmlSerializer.dll": {}
+ }
+ },
+ "xunit/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "xunit.assert": "[2.1.0]",
+ "xunit.core": "[2.1.0]"
+ }
+ },
+ "xunit.abstractions/2.0.0": {
+ "type": "package",
+ "compile": {
+ "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll": {}
+ },
+ "runtime": {
+ "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll": {}
+ }
+ },
+ "xunit.assert/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.ObjectModel": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0"
+ },
+ "compile": {
+ "lib/dotnet/xunit.assert.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.assert.dll": {}
+ }
+ },
+ "xunit.console.netcore/1.0.2-prerelease-00128": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.10",
+ "System.Collections.Concurrent": "4.0.10",
+ "System.Console": "4.0.0-beta-23213",
+ "System.Diagnostics.Debug": "4.0.10",
+ "System.Globalization": "4.0.10",
+ "System.IO": "4.0.10",
+ "System.IO.FileSystem": "4.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Runtime": "4.0.20",
+ "System.Runtime.Extensions": "4.0.10",
+ "System.Text.RegularExpressions": "4.0.10",
+ "System.Threading": "4.0.10",
+ "System.Threading.Tasks": "4.0.10",
+ "System.Xml.XDocument": "4.0.10",
+ "xunit.runner.utility": "2.1.0"
+ },
+ "compile": {
+ "lib/dnxcore50/_._": {}
+ },
+ "runtime": {
+ "lib/dnxcore50/_._": {}
+ },
+ "native": {
+ "runtimes/any/native/xunit.console.netcore.exe": {}
+ }
+ },
+ "xunit.core/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Threading.Tasks": "4.0.0",
+ "xunit.abstractions": "2.0.0",
+ "xunit.extensibility.core": "[2.1.0]",
+ "xunit.extensibility.execution": "[2.1.0]"
+ }
+ },
+ "xunit.extensibility.core/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "xunit.abstractions": "[2.0.0]"
+ },
+ "compile": {
+ "lib/dotnet/xunit.core.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.core.dll": {},
+ "lib/dotnet/xunit.runner.tdnet.dll": {},
+ "lib/dotnet/xunit.runner.utility.desktop.dll": {}
+ }
+ },
+ "xunit.extensibility.execution/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Linq.Expressions": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Text.Encoding": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0",
+ "xunit.abstractions": "2.0.0",
+ "xunit.extensibility.core": "[2.1.0]"
+ },
+ "compile": {
+ "lib/dotnet/xunit.execution.dotnet.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.execution.dotnet.dll": {}
+ }
+ },
+ "xunit.runner.console/2.1.0": {
+ "type": "package"
+ },
+ "xunit.runner.utility/2.1.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Collections": "4.0.0",
+ "System.Diagnostics.Debug": "4.0.0",
+ "System.Globalization": "4.0.0",
+ "System.IO": "4.0.0",
+ "System.Linq": "4.0.0",
+ "System.Reflection": "4.0.0",
+ "System.Reflection.Extensions": "4.0.0",
+ "System.Runtime": "4.0.0",
+ "System.Runtime.Extensions": "4.0.0",
+ "System.Text.RegularExpressions": "4.0.0",
+ "System.Threading": "4.0.0",
+ "System.Threading.Tasks": "4.0.0",
+ "xunit.abstractions": "2.0.0"
+ },
+ "compile": {
+ "lib/dotnet/xunit.runner.utility.dotnet.dll": {}
+ },
+ "runtime": {
+ "lib/dotnet/xunit.runner.utility.dotnet.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Microsoft.DotNet.xunit.performance/1.0.0-alpha-build0027": {
+ "type": "package",
+ "sha512": "Ic8LKByvYV0C/3/4G2mcQ7tigJyQb79c7eagSywTfSLGYJa0sBkzFyVDgXqCOQm/T0EUYOc6Oqj//avSqfHnLQ==",
+ "files": [
+ "lib/dotnet/xunit.performance.core.dll",
+ "lib/dotnet/xunit.performance.core.pdb",
+ "lib/dotnet/xunit.performance.core.XML",
+ "lib/dotnet/xunit.performance.execution.dotnet.dll",
+ "lib/dotnet/xunit.performance.execution.dotnet.pdb",
+ "lib/net46/xunit.performance.core.dll",
+ "lib/net46/xunit.performance.core.pdb",
+ "lib/net46/xunit.performance.core.XML",
+ "lib/net46/xunit.performance.execution.desktop.dll",
+ "lib/net46/xunit.performance.execution.desktop.pdb",
+ "Microsoft.DotNet.xunit.performance.1.0.0-alpha-build0027.nupkg",
+ "Microsoft.DotNet.xunit.performance.1.0.0-alpha-build0027.nupkg.sha512",
+ "Microsoft.DotNet.xunit.performance.nuspec"
+ ]
+ },
+ "Microsoft.DotNet.xunit.performance.analysis/1.0.0-alpha-build0027": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "w/6R/4EBbESpNYyPgp7TDNISOvj8ucrv5FN9X3defsgD1ZAO+4Z+fu9DCZWd78+A0MEQPGIaCKssLgGlzQf6xw==",
+ "files": [
+ "Microsoft.DotNet.xunit.performance.analysis.1.0.0-alpha-build0027.nupkg",
+ "Microsoft.DotNet.xunit.performance.analysis.1.0.0-alpha-build0027.nupkg.sha512",
+ "Microsoft.DotNet.xunit.performance.analysis.nuspec",
+ "tools/MathNet.Numerics.dll",
+ "tools/Microsoft.Diagnostics.Tracing.TraceEvent.dll",
+ "tools/xunit.performance.analysis.exe",
+ "tools/xunit.performance.analysis.exe.config",
+ "tools/xunit.performance.analysis.pdb"
+ ]
+ },
+ "Microsoft.DotNet.xunit.performance.runner.Windows/1.0.0-alpha-build0027": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "CMFSRSg26B7Z1dB3IUppS2Ry1aLiCcwyVvK2+BjR0hEIYQ8+PcyhAmnSUxQhKMJ/80ho0HdXhxWbKFB/XmgTWg==",
+ "files": [
+ "Microsoft.DotNet.xunit.performance.runner.Windows.1.0.0-alpha-build0027.nupkg",
+ "Microsoft.DotNet.xunit.performance.runner.Windows.1.0.0-alpha-build0027.nupkg.sha512",
+ "Microsoft.DotNet.xunit.performance.runner.Windows.nuspec",
+ "tools/amd64/KernelTraceControl.dll",
+ "tools/amd64/msdia140.dll",
+ "tools/Microsoft.Diagnostics.Tracing.TraceEvent.dll",
+ "tools/ProcDomain.dll",
+ "tools/ProcDomain.pdb",
+ "tools/x86/KernelTraceControl.dll",
+ "tools/x86/msdia140.dll",
+ "tools/xunit.abstractions.dll",
+ "tools/xunit.core.dll",
+ "tools/xunit.performance.core.dll",
+ "tools/xunit.performance.core.pdb",
+ "tools/xunit.performance.logger.exe",
+ "tools/xunit.performance.logger.pdb",
+ "tools/xunit.performance.metrics.dll",
+ "tools/xunit.performance.metrics.pdb",
+ "tools/xunit.performance.run.exe",
+ "tools/xunit.performance.run.exe.config",
+ "tools/xunit.performance.run.pdb",
+ "tools/xunit.runner.utility.desktop.dll",
+ "tools/xunit.runner.utility.desktop.pdb"
+ ]
+ },
+ "Newtonsoft.Json/7.0.1": {
+ "type": "package",
+ "sha512": "q3V4KLetMLnt1gpAVWgtXnHjKs0UG/RalBc29u2ZKxd5t5Ze4JBL5WiiYIklJyK/5CRiIiNwigVQUo0FgbsuWA==",
+ "files": [
+ "lib/net20/Newtonsoft.Json.dll",
+ "lib/net20/Newtonsoft.Json.xml",
+ "lib/net35/Newtonsoft.Json.dll",
+ "lib/net35/Newtonsoft.Json.xml",
+ "lib/net40/Newtonsoft.Json.dll",
+ "lib/net40/Newtonsoft.Json.xml",
+ "lib/net45/Newtonsoft.Json.dll",
+ "lib/net45/Newtonsoft.Json.xml",
+ "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll",
+ "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml",
+ "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll",
+ "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.xml",
+ "Newtonsoft.Json.7.0.1.nupkg",
+ "Newtonsoft.Json.7.0.1.nupkg.sha512",
+ "Newtonsoft.Json.nuspec",
+ "tools/install.ps1"
+ ]
+ },
+ "runtime.win7.System.Console/4.0.0-beta-23516": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "TJZhrw44Bf7sYqne+CX5II/PaNf5L7oKVfl0FLkr4pj76KS8hSsJzsKL0IvxC+bi4d51+wTbv91kF1kgPyHMVw==",
+ "files": [
+ "ref/dotnet/_._",
+ "runtime.win7.System.Console.4.0.0-beta-23516.nupkg",
+ "runtime.win7.System.Console.4.0.0-beta-23516.nupkg.sha512",
+ "runtime.win7.System.Console.nuspec",
+ "runtimes/win7/lib/dotnet5.4/System.Console.dll",
+ "runtimes/win7/lib/net/_._"
+ ]
+ },
+ "System.Collections/4.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "ux6ilcZZjV/Gp7JEZpe+2V1eTueq6NuoGRM3eZCFuPM25hLVVgCRuea6STW8hvqreIOE59irJk5/ovpA5xQipw==",
+ "files": [
+ "lib/DNXCore50/System.Collections.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Collections.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Collections.xml",
+ "ref/dotnet/es/System.Collections.xml",
+ "ref/dotnet/fr/System.Collections.xml",
+ "ref/dotnet/it/System.Collections.xml",
+ "ref/dotnet/ja/System.Collections.xml",
+ "ref/dotnet/ko/System.Collections.xml",
+ "ref/dotnet/ru/System.Collections.xml",
+ "ref/dotnet/System.Collections.dll",
+ "ref/dotnet/System.Collections.xml",
+ "ref/dotnet/zh-hans/System.Collections.xml",
+ "ref/dotnet/zh-hant/System.Collections.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Collections.dll",
+ "System.Collections.4.0.10.nupkg",
+ "System.Collections.4.0.10.nupkg.sha512",
+ "System.Collections.nuspec"
+ ]
+ },
+ "System.Collections.Concurrent/4.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "ZtMEqOPAjAIqR8fqom9AOKRaB94a+emO2O8uOP6vyJoNswSPrbiwN7iH53rrVpvjMVx0wr4/OMpI7486uGZjbw==",
+ "files": [
+ "lib/dotnet/System.Collections.Concurrent.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Collections.Concurrent.xml",
+ "ref/dotnet/es/System.Collections.Concurrent.xml",
+ "ref/dotnet/fr/System.Collections.Concurrent.xml",
+ "ref/dotnet/it/System.Collections.Concurrent.xml",
+ "ref/dotnet/ja/System.Collections.Concurrent.xml",
+ "ref/dotnet/ko/System.Collections.Concurrent.xml",
+ "ref/dotnet/ru/System.Collections.Concurrent.xml",
+ "ref/dotnet/System.Collections.Concurrent.dll",
+ "ref/dotnet/System.Collections.Concurrent.xml",
+ "ref/dotnet/zh-hans/System.Collections.Concurrent.xml",
+ "ref/dotnet/zh-hant/System.Collections.Concurrent.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "System.Collections.Concurrent.4.0.10.nupkg",
+ "System.Collections.Concurrent.4.0.10.nupkg.sha512",
+ "System.Collections.Concurrent.nuspec"
+ ]
+ },
+ "System.Console/4.0.0-beta-23516": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "tzF4Dbbv+5bcbQ7GHuuKafkaDZThiUiwxqCc1ngewnMWZ5YmIgjQZjs+E1DNhoMVAvkH0tSmLJvsDlx9dFg+Aw==",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/System.Console.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet5.1/de/System.Console.xml",
+ "ref/dotnet5.1/es/System.Console.xml",
+ "ref/dotnet5.1/fr/System.Console.xml",
+ "ref/dotnet5.1/it/System.Console.xml",
+ "ref/dotnet5.1/ja/System.Console.xml",
+ "ref/dotnet5.1/ko/System.Console.xml",
+ "ref/dotnet5.1/ru/System.Console.xml",
+ "ref/dotnet5.1/System.Console.dll",
+ "ref/dotnet5.1/System.Console.xml",
+ "ref/dotnet5.1/zh-hans/System.Console.xml",
+ "ref/dotnet5.1/zh-hant/System.Console.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/System.Console.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtime.json",
+ "System.Console.4.0.0-beta-23516.nupkg",
+ "System.Console.4.0.0-beta-23516.nupkg.sha512",
+ "System.Console.nuspec"
+ ]
+ },
+ "System.Diagnostics.Debug/4.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "pi2KthuvI2LWV2c2V+fwReDsDiKpNl040h6DcwFOb59SafsPT/V1fCy0z66OKwysurJkBMmp5j5CBe3Um+ub0g==",
+ "files": [
+ "lib/DNXCore50/System.Diagnostics.Debug.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Diagnostics.Debug.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Diagnostics.Debug.xml",
+ "ref/dotnet/es/System.Diagnostics.Debug.xml",
+ "ref/dotnet/fr/System.Diagnostics.Debug.xml",
+ "ref/dotnet/it/System.Diagnostics.Debug.xml",
+ "ref/dotnet/ja/System.Diagnostics.Debug.xml",
+ "ref/dotnet/ko/System.Diagnostics.Debug.xml",
+ "ref/dotnet/ru/System.Diagnostics.Debug.xml",
+ "ref/dotnet/System.Diagnostics.Debug.dll",
+ "ref/dotnet/System.Diagnostics.Debug.xml",
+ "ref/dotnet/zh-hans/System.Diagnostics.Debug.xml",
+ "ref/dotnet/zh-hant/System.Diagnostics.Debug.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Debug.dll",
+ "System.Diagnostics.Debug.4.0.10.nupkg",
+ "System.Diagnostics.Debug.4.0.10.nupkg.sha512",
+ "System.Diagnostics.Debug.nuspec"
+ ]
+ },
+ "System.Diagnostics.Tracing/4.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "gn/wexGHc35Fv++5L1gYHMY5g25COfiZ0PGrL+3PfwzoJd4X2LbTAm/U8d385SI6BKQBI/z4dQfvneS9J27+Tw==",
+ "files": [
+ "lib/DNXCore50/System.Diagnostics.Tracing.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Diagnostics.Tracing.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/es/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/fr/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/it/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/ja/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/ko/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/ru/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/System.Diagnostics.Tracing.dll",
+ "ref/dotnet/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/zh-hans/System.Diagnostics.Tracing.xml",
+ "ref/dotnet/zh-hant/System.Diagnostics.Tracing.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Diagnostics.Tracing.dll",
+ "System.Diagnostics.Tracing.4.0.20.nupkg",
+ "System.Diagnostics.Tracing.4.0.20.nupkg.sha512",
+ "System.Diagnostics.Tracing.nuspec"
+ ]
+ },
+ "System.Globalization/4.0.10": {
+ "type": "package",
+ "sha512": "kzRtbbCNAxdafFBDogcM36ehA3th8c1PGiz8QRkZn8O5yMBorDHSK8/TGJPYOaCS5zdsGk0u9qXHnW91nqy7fw==",
+ "files": [
+ "lib/DNXCore50/System.Globalization.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Globalization.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Globalization.xml",
+ "ref/dotnet/es/System.Globalization.xml",
+ "ref/dotnet/fr/System.Globalization.xml",
+ "ref/dotnet/it/System.Globalization.xml",
+ "ref/dotnet/ja/System.Globalization.xml",
+ "ref/dotnet/ko/System.Globalization.xml",
+ "ref/dotnet/ru/System.Globalization.xml",
+ "ref/dotnet/System.Globalization.dll",
+ "ref/dotnet/System.Globalization.xml",
+ "ref/dotnet/zh-hans/System.Globalization.xml",
+ "ref/dotnet/zh-hant/System.Globalization.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Globalization.dll",
+ "System.Globalization.4.0.10.nupkg",
+ "System.Globalization.4.0.10.nupkg.sha512",
+ "System.Globalization.nuspec"
+ ]
+ },
+ "System.IO/4.0.0-beta-23127": {
+ "type": "package",
+ "sha512": "sfU0T3blg5xTQjMOL3aVzpRah8T/R3AqIIBnolPtg+ZVVVhHzHX1DM5xiyPMnC5cAQXj3HWn8eRoIFZ7O5gbbg==",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net45/_._",
+ "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/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net45/_._",
+ "ref/netcore50/de/System.IO.xml",
+ "ref/netcore50/es/System.IO.xml",
+ "ref/netcore50/fr/System.IO.xml",
+ "ref/netcore50/it/System.IO.xml",
+ "ref/netcore50/ja/System.IO.xml",
+ "ref/netcore50/ko/System.IO.xml",
+ "ref/netcore50/ru/System.IO.xml",
+ "ref/netcore50/System.IO.dll",
+ "ref/netcore50/System.IO.xml",
+ "ref/netcore50/zh-hans/System.IO.xml",
+ "ref/netcore50/zh-hant/System.IO.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "System.IO.4.0.0-beta-23127.nupkg",
+ "System.IO.4.0.0-beta-23127.nupkg.sha512",
+ "System.IO.nuspec"
+ ]
+ },
+ "System.IO.FileSystem/4.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "eo05SPWfG+54UA0wxgRIYOuOslq+2QrJLXZaJDDsfLXG15OLguaItW39NYZTqUb4DeGOkU4R0wpOLOW4ynMUDQ==",
+ "files": [
+ "lib/DNXCore50/System.IO.FileSystem.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/System.IO.FileSystem.dll",
+ "lib/netcore50/System.IO.FileSystem.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.IO.FileSystem.xml",
+ "ref/dotnet/es/System.IO.FileSystem.xml",
+ "ref/dotnet/fr/System.IO.FileSystem.xml",
+ "ref/dotnet/it/System.IO.FileSystem.xml",
+ "ref/dotnet/ja/System.IO.FileSystem.xml",
+ "ref/dotnet/ko/System.IO.FileSystem.xml",
+ "ref/dotnet/ru/System.IO.FileSystem.xml",
+ "ref/dotnet/System.IO.FileSystem.dll",
+ "ref/dotnet/System.IO.FileSystem.xml",
+ "ref/dotnet/zh-hans/System.IO.FileSystem.xml",
+ "ref/dotnet/zh-hant/System.IO.FileSystem.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/System.IO.FileSystem.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "System.IO.FileSystem.4.0.0.nupkg",
+ "System.IO.FileSystem.4.0.0.nupkg.sha512",
+ "System.IO.FileSystem.nuspec"
+ ]
+ },
+ "System.IO.FileSystem.Primitives/4.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "7pJUvYi/Yq3A5nagqCCiOw3+aJp3xXc/Cjr8dnJDnER3/6kX3LEencfqmXUcPl9+7OvRNyPMNhqsLAcMK6K/KA==",
+ "files": [
+ "lib/dotnet/System.IO.FileSystem.Primitives.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/System.IO.FileSystem.Primitives.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/es/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/it/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/System.IO.FileSystem.Primitives.dll",
+ "ref/dotnet/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml",
+ "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/System.IO.FileSystem.Primitives.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "System.IO.FileSystem.Primitives.4.0.0.nupkg",
+ "System.IO.FileSystem.Primitives.4.0.0.nupkg.sha512",
+ "System.IO.FileSystem.Primitives.nuspec"
+ ]
+ },
+ "System.Linq/4.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "r6Hlc+ytE6m/9UBr+nNRRdoJEWjoeQiT3L3lXYFDHoXk3VYsRBCDNXrawcexw7KPLaH0zamQLiAb6avhZ50cGg==",
+ "files": [
+ "lib/dotnet/System.Linq.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Linq.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/de/System.Linq.xml",
+ "ref/dotnet/es/System.Linq.xml",
+ "ref/dotnet/fr/System.Linq.xml",
+ "ref/dotnet/it/System.Linq.xml",
+ "ref/dotnet/ja/System.Linq.xml",
+ "ref/dotnet/ko/System.Linq.xml",
+ "ref/dotnet/ru/System.Linq.xml",
+ "ref/dotnet/System.Linq.dll",
+ "ref/dotnet/System.Linq.xml",
+ "ref/dotnet/zh-hans/System.Linq.xml",
+ "ref/dotnet/zh-hant/System.Linq.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Linq.dll",
+ "ref/netcore50/System.Linq.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "System.Linq.4.0.0.nupkg",
+ "System.Linq.4.0.0.nupkg.sha512",
+ "System.Linq.nuspec"
+ ]
+ },
+ "System.Linq.Expressions/4.0.0": {
+ "type": "package",
+ "sha512": "wlfVllrKi+evu4Hi8yoJP1dSOVXbvsy7Hs1+oz4Cykfdf6MQTPlD3LI4WKWhprn8FpU5MS3spPSbcMX5sAoJSw==",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net45/_._",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "License.rtf",
+ "ref/dotnet/de/System.Linq.Expressions.xml",
+ "ref/dotnet/es/System.Linq.Expressions.xml",
+ "ref/dotnet/fr/System.Linq.Expressions.xml",
+ "ref/dotnet/it/System.Linq.Expressions.xml",
+ "ref/dotnet/ja/System.Linq.Expressions.xml",
+ "ref/dotnet/ko/System.Linq.Expressions.xml",
+ "ref/dotnet/ru/System.Linq.Expressions.xml",
+ "ref/dotnet/System.Linq.Expressions.dll",
+ "ref/dotnet/System.Linq.Expressions.xml",
+ "ref/dotnet/zh-hans/System.Linq.Expressions.xml",
+ "ref/dotnet/zh-hant/System.Linq.Expressions.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net45/_._",
+ "ref/netcore50/de/System.Linq.Expressions.xml",
+ "ref/netcore50/es/System.Linq.Expressions.xml",
+ "ref/netcore50/fr/System.Linq.Expressions.xml",
+ "ref/netcore50/it/System.Linq.Expressions.xml",
+ "ref/netcore50/ja/System.Linq.Expressions.xml",
+ "ref/netcore50/ko/System.Linq.Expressions.xml",
+ "ref/netcore50/ru/System.Linq.Expressions.xml",
+ "ref/netcore50/System.Linq.Expressions.dll",
+ "ref/netcore50/System.Linq.Expressions.xml",
+ "ref/netcore50/zh-hans/System.Linq.Expressions.xml",
+ "ref/netcore50/zh-hant/System.Linq.Expressions.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "System.Linq.Expressions.4.0.0.nupkg",
+ "System.Linq.Expressions.4.0.0.nupkg.sha512",
+ "System.Linq.Expressions.nuspec"
+ ]
+ },
+ "System.ObjectModel/4.0.0": {
+ "type": "package",
+ "sha512": "+3j/n+5SlF7PKb0/s5kdord+5RyW3uUscB+0WPuYvfAvEgyx6yPdPXU9tXdDZImRohMuWnQTAG2rFojFPfoGbA==",
+ "files": [
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net45/_._",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "License.rtf",
+ "ref/dotnet/de/System.ObjectModel.xml",
+ "ref/dotnet/es/System.ObjectModel.xml",
+ "ref/dotnet/fr/System.ObjectModel.xml",
+ "ref/dotnet/it/System.ObjectModel.xml",
+ "ref/dotnet/ja/System.ObjectModel.xml",
+ "ref/dotnet/ko/System.ObjectModel.xml",
+ "ref/dotnet/ru/System.ObjectModel.xml",
+ "ref/dotnet/System.ObjectModel.dll",
+ "ref/dotnet/System.ObjectModel.xml",
+ "ref/dotnet/zh-hans/System.ObjectModel.xml",
+ "ref/dotnet/zh-hant/System.ObjectModel.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net45/_._",
+ "ref/netcore50/de/System.ObjectModel.xml",
+ "ref/netcore50/es/System.ObjectModel.xml",
+ "ref/netcore50/fr/System.ObjectModel.xml",
+ "ref/netcore50/it/System.ObjectModel.xml",
+ "ref/netcore50/ja/System.ObjectModel.xml",
+ "ref/netcore50/ko/System.ObjectModel.xml",
+ "ref/netcore50/ru/System.ObjectModel.xml",
+ "ref/netcore50/System.ObjectModel.dll",
+ "ref/netcore50/System.ObjectModel.xml",
+ "ref/netcore50/zh-hans/System.ObjectModel.xml",
+ "ref/netcore50/zh-hant/System.ObjectModel.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "System.ObjectModel.4.0.0.nupkg",
+ "System.ObjectModel.4.0.0.nupkg.sha512",
+ "System.ObjectModel.nuspec"
+ ]
+ },
+ "System.Private.DataContractSerialization/4.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "uQvzoXHXHn/9YqUmPtgD8ZPJIlBuuL3QHegbuik97W/umoI28fOnGLnvjRHhju1VMWvFLRQoh7uZkBaoZ+KpVQ==",
+ "files": [
+ "lib/DNXCore50/System.Private.DataContractSerialization.dll",
+ "lib/netcore50/System.Private.DataContractSerialization.dll",
+ "ref/dnxcore50/_._",
+ "ref/netcore50/_._",
+ "runtime.json",
+ "runtimes/win8-aot/lib/netcore50/System.Private.DataContractSerialization.dll",
+ "System.Private.DataContractSerialization.4.0.0.nupkg",
+ "System.Private.DataContractSerialization.4.0.0.nupkg.sha512",
+ "System.Private.DataContractSerialization.nuspec"
+ ]
+ },
+ "System.Private.Uri/4.0.0-beta-23127": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "KT9JGnTYRf51pwPluZtpewmdBPiROzemamLmpzgzl3Pu3Y0vmH2CBLZktngD4I4YPNFO6ieCupeM0X3R1u26kA==",
+ "files": [
+ "lib/DNXCore50/System.Private.Uri.dll",
+ "lib/netcore50/System.Private.Uri.dll",
+ "ref/dnxcore50/_._",
+ "ref/netcore50/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll",
+ "System.Private.Uri.4.0.0-beta-23127.nupkg",
+ "System.Private.Uri.4.0.0-beta-23127.nupkg.sha512",
+ "System.Private.Uri.nuspec"
+ ]
+ },
+ "System.Reflection/4.0.10": {
+ "type": "package",
+ "sha512": "WZ+4lEE4gqGx6mrqLhSiW4oi6QLPWwdNjzhhTONmhELOrW8Cw9phlO9tltgvRUuQUqYtBiliFwhO5S5fCJElVw==",
+ "files": [
+ "lib/DNXCore50/System.Reflection.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Reflection.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Reflection.xml",
+ "ref/dotnet/es/System.Reflection.xml",
+ "ref/dotnet/fr/System.Reflection.xml",
+ "ref/dotnet/it/System.Reflection.xml",
+ "ref/dotnet/ja/System.Reflection.xml",
+ "ref/dotnet/ko/System.Reflection.xml",
+ "ref/dotnet/ru/System.Reflection.xml",
+ "ref/dotnet/System.Reflection.dll",
+ "ref/dotnet/System.Reflection.xml",
+ "ref/dotnet/zh-hans/System.Reflection.xml",
+ "ref/dotnet/zh-hant/System.Reflection.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.dll",
+ "System.Reflection.4.0.10.nupkg",
+ "System.Reflection.4.0.10.nupkg.sha512",
+ "System.Reflection.nuspec"
+ ]
+ },
+ "System.Reflection.Emit/4.0.0": {
+ "type": "package",
+ "sha512": "CqnQz5LbNbiSxN10cv3Ehnw3j1UZOBCxnE0OO0q/keGQ5ENjyFM6rIG4gm/i0dX6EjdpYkAgKcI/mhZZCaBq4A==",
+ "files": [
+ "lib/DNXCore50/System.Reflection.Emit.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/net45/_._",
+ "lib/netcore50/System.Reflection.Emit.dll",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Reflection.Emit.xml",
+ "ref/dotnet/es/System.Reflection.Emit.xml",
+ "ref/dotnet/fr/System.Reflection.Emit.xml",
+ "ref/dotnet/it/System.Reflection.Emit.xml",
+ "ref/dotnet/ja/System.Reflection.Emit.xml",
+ "ref/dotnet/ko/System.Reflection.Emit.xml",
+ "ref/dotnet/ru/System.Reflection.Emit.xml",
+ "ref/dotnet/System.Reflection.Emit.dll",
+ "ref/dotnet/System.Reflection.Emit.xml",
+ "ref/dotnet/zh-hans/System.Reflection.Emit.xml",
+ "ref/dotnet/zh-hant/System.Reflection.Emit.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/net45/_._",
+ "ref/xamarinmac20/_._",
+ "System.Reflection.Emit.4.0.0.nupkg",
+ "System.Reflection.Emit.4.0.0.nupkg.sha512",
+ "System.Reflection.Emit.nuspec"
+ ]
+ },
+ "System.Reflection.Emit.ILGeneration/4.0.0": {
+ "type": "package",
+ "sha512": "02okuusJ0GZiHZSD2IOLIN41GIn6qOr7i5+86C98BPuhlwWqVABwebiGNvhDiXP1f9a6CxEigC7foQD42klcDg==",
+ "files": [
+ "lib/DNXCore50/System.Reflection.Emit.ILGeneration.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Reflection.Emit.ILGeneration.dll",
+ "lib/wp80/_._",
+ "ref/dotnet/de/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/es/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/fr/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/it/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/ja/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/ko/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/ru/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/System.Reflection.Emit.ILGeneration.dll",
+ "ref/dotnet/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/zh-hans/System.Reflection.Emit.ILGeneration.xml",
+ "ref/dotnet/zh-hant/System.Reflection.Emit.ILGeneration.xml",
+ "ref/net45/_._",
+ "ref/wp80/_._",
+ "System.Reflection.Emit.ILGeneration.4.0.0.nupkg",
+ "System.Reflection.Emit.ILGeneration.4.0.0.nupkg.sha512",
+ "System.Reflection.Emit.ILGeneration.nuspec"
+ ]
+ },
+ "System.Reflection.Emit.Lightweight/4.0.0": {
+ "type": "package",
+ "sha512": "DJZhHiOdkN08xJgsJfDjkuOreLLmMcU8qkEEqEHqyhkPUZMMQs0lE8R+6+68BAFWgcdzxtNu0YmIOtEug8j00w==",
+ "files": [
+ "lib/DNXCore50/System.Reflection.Emit.Lightweight.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Reflection.Emit.Lightweight.dll",
+ "lib/wp80/_._",
+ "ref/dotnet/de/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/es/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/fr/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/it/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/ja/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/ko/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/ru/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/System.Reflection.Emit.Lightweight.dll",
+ "ref/dotnet/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/zh-hans/System.Reflection.Emit.Lightweight.xml",
+ "ref/dotnet/zh-hant/System.Reflection.Emit.Lightweight.xml",
+ "ref/net45/_._",
+ "ref/wp80/_._",
+ "System.Reflection.Emit.Lightweight.4.0.0.nupkg",
+ "System.Reflection.Emit.Lightweight.4.0.0.nupkg.sha512",
+ "System.Reflection.Emit.Lightweight.nuspec"
+ ]
+ },
+ "System.Reflection.Extensions/4.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "dbYaZWCyFAu1TGYUqR2n+Q+1casSHPR2vVW0WVNkXpZbrd2BXcZ7cpvpu9C98CTHtNmyfMWCLpCclDqly23t6A==",
+ "files": [
+ "lib/DNXCore50/System.Reflection.Extensions.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Reflection.Extensions.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/de/System.Reflection.Extensions.xml",
+ "ref/dotnet/es/System.Reflection.Extensions.xml",
+ "ref/dotnet/fr/System.Reflection.Extensions.xml",
+ "ref/dotnet/it/System.Reflection.Extensions.xml",
+ "ref/dotnet/ja/System.Reflection.Extensions.xml",
+ "ref/dotnet/ko/System.Reflection.Extensions.xml",
+ "ref/dotnet/ru/System.Reflection.Extensions.xml",
+ "ref/dotnet/System.Reflection.Extensions.dll",
+ "ref/dotnet/System.Reflection.Extensions.xml",
+ "ref/dotnet/zh-hans/System.Reflection.Extensions.xml",
+ "ref/dotnet/zh-hant/System.Reflection.Extensions.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Reflection.Extensions.dll",
+ "ref/netcore50/System.Reflection.Extensions.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.Extensions.dll",
+ "System.Reflection.Extensions.4.0.0.nupkg",
+ "System.Reflection.Extensions.4.0.0.nupkg.sha512",
+ "System.Reflection.Extensions.nuspec"
+ ]
+ },
+ "System.Reflection.Primitives/4.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "n9S0XpKv2ruc17FSnaiX6nV47VfHTZ1wLjKZlAirUZCvDQCH71mVp+Ohabn0xXLh5pK2PKp45HCxkqu5Fxn/lA==",
+ "files": [
+ "lib/DNXCore50/System.Reflection.Primitives.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Reflection.Primitives.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/de/System.Reflection.Primitives.xml",
+ "ref/dotnet/es/System.Reflection.Primitives.xml",
+ "ref/dotnet/fr/System.Reflection.Primitives.xml",
+ "ref/dotnet/it/System.Reflection.Primitives.xml",
+ "ref/dotnet/ja/System.Reflection.Primitives.xml",
+ "ref/dotnet/ko/System.Reflection.Primitives.xml",
+ "ref/dotnet/ru/System.Reflection.Primitives.xml",
+ "ref/dotnet/System.Reflection.Primitives.dll",
+ "ref/dotnet/System.Reflection.Primitives.xml",
+ "ref/dotnet/zh-hans/System.Reflection.Primitives.xml",
+ "ref/dotnet/zh-hant/System.Reflection.Primitives.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Reflection.Primitives.dll",
+ "ref/netcore50/System.Reflection.Primitives.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll",
+ "System.Reflection.Primitives.4.0.0.nupkg",
+ "System.Reflection.Primitives.4.0.0.nupkg.sha512",
+ "System.Reflection.Primitives.nuspec"
+ ]
+ },
+ "System.Reflection.TypeExtensions/4.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "YRM/msNAM86hdxPyXcuZSzmTO0RQFh7YMEPBLTY8cqXvFPYIx2x99bOyPkuU81wRYQem1c1HTkImQ2DjbOBfew==",
+ "files": [
+ "lib/DNXCore50/System.Reflection.TypeExtensions.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/System.Reflection.TypeExtensions.dll",
+ "lib/netcore50/System.Reflection.TypeExtensions.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/es/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/fr/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/it/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/ja/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/ko/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/ru/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/System.Reflection.TypeExtensions.dll",
+ "ref/dotnet/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/zh-hans/System.Reflection.TypeExtensions.xml",
+ "ref/dotnet/zh-hant/System.Reflection.TypeExtensions.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/System.Reflection.TypeExtensions.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Reflection.TypeExtensions.dll",
+ "System.Reflection.TypeExtensions.4.0.0.nupkg",
+ "System.Reflection.TypeExtensions.4.0.0.nupkg.sha512",
+ "System.Reflection.TypeExtensions.nuspec"
+ ]
+ },
+ "System.Resources.ResourceManager/4.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "qmqeZ4BJgjfU+G2JbrZt4Dk1LsMxO4t+f/9HarNY6w8pBgweO6jT+cknUH7c3qIrGvyUqraBhU45Eo6UtA0fAw==",
+ "files": [
+ "lib/DNXCore50/System.Resources.ResourceManager.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Resources.ResourceManager.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/de/System.Resources.ResourceManager.xml",
+ "ref/dotnet/es/System.Resources.ResourceManager.xml",
+ "ref/dotnet/fr/System.Resources.ResourceManager.xml",
+ "ref/dotnet/it/System.Resources.ResourceManager.xml",
+ "ref/dotnet/ja/System.Resources.ResourceManager.xml",
+ "ref/dotnet/ko/System.Resources.ResourceManager.xml",
+ "ref/dotnet/ru/System.Resources.ResourceManager.xml",
+ "ref/dotnet/System.Resources.ResourceManager.dll",
+ "ref/dotnet/System.Resources.ResourceManager.xml",
+ "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml",
+ "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Resources.ResourceManager.dll",
+ "ref/netcore50/System.Resources.ResourceManager.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll",
+ "System.Resources.ResourceManager.4.0.0.nupkg",
+ "System.Resources.ResourceManager.4.0.0.nupkg.sha512",
+ "System.Resources.ResourceManager.nuspec"
+ ]
+ },
+ "System.Runtime/4.0.20-beta-23127": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "naLsXkry4PBYCdXLOGx2r9TRuFWJpdZvV7W9rk4QRTPTS7H9911J09o8KXrhX+NW28YVsCgvcw8Wr0JsFEQdLQ==",
+ "files": [
+ "lib/DNXCore50/System.Runtime.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Runtime.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Runtime.xml",
+ "ref/dotnet/es/System.Runtime.xml",
+ "ref/dotnet/fr/System.Runtime.xml",
+ "ref/dotnet/it/System.Runtime.xml",
+ "ref/dotnet/ja/System.Runtime.xml",
+ "ref/dotnet/ko/System.Runtime.xml",
+ "ref/dotnet/ru/System.Runtime.xml",
+ "ref/dotnet/System.Runtime.dll",
+ "ref/dotnet/System.Runtime.xml",
+ "ref/dotnet/zh-hans/System.Runtime.xml",
+ "ref/dotnet/zh-hant/System.Runtime.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.dll",
+ "System.Runtime.4.0.20-beta-23127.nupkg",
+ "System.Runtime.4.0.20-beta-23127.nupkg.sha512",
+ "System.Runtime.nuspec"
+ ]
+ },
+ "System.Runtime.Extensions/4.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "5dsEwf3Iml7d5OZeT20iyOjT+r+okWpN7xI2v+R4cgd3WSj4DeRPTvPFjDpacbVW4skCAZ8B9hxXJYgkCFKJ1A==",
+ "files": [
+ "lib/DNXCore50/System.Runtime.Extensions.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Runtime.Extensions.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Runtime.Extensions.xml",
+ "ref/dotnet/es/System.Runtime.Extensions.xml",
+ "ref/dotnet/fr/System.Runtime.Extensions.xml",
+ "ref/dotnet/it/System.Runtime.Extensions.xml",
+ "ref/dotnet/ja/System.Runtime.Extensions.xml",
+ "ref/dotnet/ko/System.Runtime.Extensions.xml",
+ "ref/dotnet/ru/System.Runtime.Extensions.xml",
+ "ref/dotnet/System.Runtime.Extensions.dll",
+ "ref/dotnet/System.Runtime.Extensions.xml",
+ "ref/dotnet/zh-hans/System.Runtime.Extensions.xml",
+ "ref/dotnet/zh-hant/System.Runtime.Extensions.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll",
+ "System.Runtime.Extensions.4.0.10.nupkg",
+ "System.Runtime.Extensions.4.0.10.nupkg.sha512",
+ "System.Runtime.Extensions.nuspec"
+ ]
+ },
+ "System.Runtime.Handles/4.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "638VhpRq63tVcQ6HDb3um3R/J2BtR1Sa96toHo6PcJGPXEPEsleCuqhBgX2gFCz0y0qkutANwW6VPPY5wQu1XQ==",
+ "files": [
+ "lib/DNXCore50/System.Runtime.Handles.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Runtime.Handles.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Runtime.Handles.xml",
+ "ref/dotnet/es/System.Runtime.Handles.xml",
+ "ref/dotnet/fr/System.Runtime.Handles.xml",
+ "ref/dotnet/it/System.Runtime.Handles.xml",
+ "ref/dotnet/ja/System.Runtime.Handles.xml",
+ "ref/dotnet/ko/System.Runtime.Handles.xml",
+ "ref/dotnet/ru/System.Runtime.Handles.xml",
+ "ref/dotnet/System.Runtime.Handles.dll",
+ "ref/dotnet/System.Runtime.Handles.xml",
+ "ref/dotnet/zh-hans/System.Runtime.Handles.xml",
+ "ref/dotnet/zh-hant/System.Runtime.Handles.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll",
+ "System.Runtime.Handles.4.0.0.nupkg",
+ "System.Runtime.Handles.4.0.0.nupkg.sha512",
+ "System.Runtime.Handles.nuspec"
+ ]
+ },
+ "System.Runtime.InteropServices/4.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "ZgDyBYfEnjWoz/viS6VOswA6XOkDSH2DzgbpczbW50RywhnCgTl+w3JEvtAiOGyIh8cyx1NJq80jsNBSUr8Pig==",
+ "files": [
+ "lib/DNXCore50/System.Runtime.InteropServices.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Runtime.InteropServices.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Runtime.InteropServices.xml",
+ "ref/dotnet/es/System.Runtime.InteropServices.xml",
+ "ref/dotnet/fr/System.Runtime.InteropServices.xml",
+ "ref/dotnet/it/System.Runtime.InteropServices.xml",
+ "ref/dotnet/ja/System.Runtime.InteropServices.xml",
+ "ref/dotnet/ko/System.Runtime.InteropServices.xml",
+ "ref/dotnet/ru/System.Runtime.InteropServices.xml",
+ "ref/dotnet/System.Runtime.InteropServices.dll",
+ "ref/dotnet/System.Runtime.InteropServices.xml",
+ "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml",
+ "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll",
+ "System.Runtime.InteropServices.4.0.20.nupkg",
+ "System.Runtime.InteropServices.4.0.20.nupkg.sha512",
+ "System.Runtime.InteropServices.nuspec"
+ ]
+ },
+ "System.Runtime.Serialization.Json/4.0.0": {
+ "type": "package",
+ "sha512": "emhWMQP3sdtkAhD0TOeP3FfjS57sfQMQ2sqA6f2Yj5Gd9jkHV4KsQ2TsoJjghca6d8fur7+REQ6ILBXVdGf/0g==",
+ "files": [
+ "lib/DNXCore50/System.Runtime.Serialization.Json.dll",
+ "lib/net45/_._",
+ "lib/netcore50/System.Runtime.Serialization.Json.dll",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/dotnet/de/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/es/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/fr/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/it/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/ja/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/ko/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/ru/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/System.Runtime.Serialization.Json.dll",
+ "ref/dotnet/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/zh-hans/System.Runtime.Serialization.Json.xml",
+ "ref/dotnet/zh-hant/System.Runtime.Serialization.Json.xml",
+ "ref/net45/_._",
+ "ref/netcore50/System.Runtime.Serialization.Json.dll",
+ "ref/netcore50/System.Runtime.Serialization.Json.xml",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Serialization.Json.dll",
+ "System.Runtime.Serialization.Json.4.0.0.nupkg",
+ "System.Runtime.Serialization.Json.4.0.0.nupkg.sha512",
+ "System.Runtime.Serialization.Json.nuspec"
+ ]
+ },
+ "System.Runtime.Serialization.Primitives/4.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "NPc8DZIomf5tGjYtz/KTHI01IPcVlypfhCux32AbLPDjTotdvL8TpKRwMyQJ6Kh08yprRVH7uBD1PdJiuoFzag==",
+ "files": [
+ "lib/dotnet/System.Runtime.Serialization.Primitives.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/es/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/fr/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/it/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/ja/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/ko/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/ru/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/System.Runtime.Serialization.Primitives.dll",
+ "ref/dotnet/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/zh-hans/System.Runtime.Serialization.Primitives.xml",
+ "ref/dotnet/zh-hant/System.Runtime.Serialization.Primitives.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "System.Runtime.Serialization.Primitives.4.0.10.nupkg",
+ "System.Runtime.Serialization.Primitives.4.0.10.nupkg.sha512",
+ "System.Runtime.Serialization.Primitives.nuspec"
+ ]
+ },
+ "System.Runtime.Serialization.Xml/4.0.10": {
+ "type": "package",
+ "sha512": "xsy7XbH8RTpKoDPNcibSGCOpujsmwUmOWAby3PssqkZFpLBXUbDO2s6JKITRjxejET2g0PK8t+mdIvu3xmUuKA==",
+ "files": [
+ "lib/DNXCore50/System.Runtime.Serialization.Xml.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Runtime.Serialization.Xml.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/es/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/fr/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/it/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/ja/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/ko/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/ru/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/System.Runtime.Serialization.Xml.dll",
+ "ref/dotnet/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/zh-hans/System.Runtime.Serialization.Xml.xml",
+ "ref/dotnet/zh-hant/System.Runtime.Serialization.Xml.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.Serialization.Xml.dll",
+ "System.Runtime.Serialization.Xml.4.0.10.nupkg",
+ "System.Runtime.Serialization.Xml.4.0.10.nupkg.sha512",
+ "System.Runtime.Serialization.Xml.nuspec"
+ ]
+ },
+ "System.Text.Encoding/4.0.10": {
+ "type": "package",
+ "sha512": "fNlSFgy4OuDlJrP9SFFxMlaLazq6ipv15sU5TiEgg9UCVnA/OgoVUfymFp4AOk1jOkW5SVxWbeeIUptcM+m/Vw==",
+ "files": [
+ "lib/DNXCore50/System.Text.Encoding.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Text.Encoding.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Text.Encoding.xml",
+ "ref/dotnet/es/System.Text.Encoding.xml",
+ "ref/dotnet/fr/System.Text.Encoding.xml",
+ "ref/dotnet/it/System.Text.Encoding.xml",
+ "ref/dotnet/ja/System.Text.Encoding.xml",
+ "ref/dotnet/ko/System.Text.Encoding.xml",
+ "ref/dotnet/ru/System.Text.Encoding.xml",
+ "ref/dotnet/System.Text.Encoding.dll",
+ "ref/dotnet/System.Text.Encoding.xml",
+ "ref/dotnet/zh-hans/System.Text.Encoding.xml",
+ "ref/dotnet/zh-hant/System.Text.Encoding.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll",
+ "System.Text.Encoding.4.0.10.nupkg",
+ "System.Text.Encoding.4.0.10.nupkg.sha512",
+ "System.Text.Encoding.nuspec"
+ ]
+ },
+ "System.Text.Encoding.Extensions/4.0.10": {
+ "type": "package",
+ "sha512": "TZvlwXMxKo3bSRIcsWZLCIzIhLbvlz+mGeKYRZv/zUiSoQzGOwkYeBu6hOw2XPQgKqT0F4Rv8zqKdvmp2fWKYg==",
+ "files": [
+ "lib/DNXCore50/System.Text.Encoding.Extensions.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Text.Encoding.Extensions.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/es/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/fr/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/it/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/ja/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/ko/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/ru/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/System.Text.Encoding.Extensions.dll",
+ "ref/dotnet/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml",
+ "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll",
+ "System.Text.Encoding.Extensions.4.0.10.nupkg",
+ "System.Text.Encoding.Extensions.4.0.10.nupkg.sha512",
+ "System.Text.Encoding.Extensions.nuspec"
+ ]
+ },
+ "System.Text.RegularExpressions/4.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "0vDuHXJePpfMCecWBNOabOKCvzfTbFMNcGgklt3l5+RqHV5SzmF7RUVpuet8V0rJX30ROlL66xdehw2Rdsn2DA==",
+ "files": [
+ "lib/dotnet/System.Text.RegularExpressions.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Text.RegularExpressions.xml",
+ "ref/dotnet/es/System.Text.RegularExpressions.xml",
+ "ref/dotnet/fr/System.Text.RegularExpressions.xml",
+ "ref/dotnet/it/System.Text.RegularExpressions.xml",
+ "ref/dotnet/ja/System.Text.RegularExpressions.xml",
+ "ref/dotnet/ko/System.Text.RegularExpressions.xml",
+ "ref/dotnet/ru/System.Text.RegularExpressions.xml",
+ "ref/dotnet/System.Text.RegularExpressions.dll",
+ "ref/dotnet/System.Text.RegularExpressions.xml",
+ "ref/dotnet/zh-hans/System.Text.RegularExpressions.xml",
+ "ref/dotnet/zh-hant/System.Text.RegularExpressions.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "System.Text.RegularExpressions.4.0.10.nupkg",
+ "System.Text.RegularExpressions.4.0.10.nupkg.sha512",
+ "System.Text.RegularExpressions.nuspec"
+ ]
+ },
+ "System.Threading/4.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "0w6pRxIEE7wuiOJeKabkDgeIKmqf4ER1VNrs6qFwHnooEE78yHwi/bKkg5Jo8/pzGLm0xQJw0nEmPXt1QBAIUA==",
+ "files": [
+ "lib/DNXCore50/System.Threading.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Threading.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Threading.xml",
+ "ref/dotnet/es/System.Threading.xml",
+ "ref/dotnet/fr/System.Threading.xml",
+ "ref/dotnet/it/System.Threading.xml",
+ "ref/dotnet/ja/System.Threading.xml",
+ "ref/dotnet/ko/System.Threading.xml",
+ "ref/dotnet/ru/System.Threading.xml",
+ "ref/dotnet/System.Threading.dll",
+ "ref/dotnet/System.Threading.xml",
+ "ref/dotnet/zh-hans/System.Threading.xml",
+ "ref/dotnet/zh-hant/System.Threading.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Threading.dll",
+ "System.Threading.4.0.10.nupkg",
+ "System.Threading.4.0.10.nupkg.sha512",
+ "System.Threading.nuspec"
+ ]
+ },
+ "System.Threading.Overlapped/4.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "X5LuQFhM5FTqaez3eXKJ9CbfSGZ7wj6j4hSVtxct3zmwQXLqG95qoWdvILcgN7xtrDOBIFtpiyDg0vmoI0jE2A==",
+ "files": [
+ "lib/DNXCore50/System.Threading.Overlapped.dll",
+ "lib/net46/System.Threading.Overlapped.dll",
+ "lib/netcore50/System.Threading.Overlapped.dll",
+ "ref/dotnet/de/System.Threading.Overlapped.xml",
+ "ref/dotnet/es/System.Threading.Overlapped.xml",
+ "ref/dotnet/fr/System.Threading.Overlapped.xml",
+ "ref/dotnet/it/System.Threading.Overlapped.xml",
+ "ref/dotnet/ja/System.Threading.Overlapped.xml",
+ "ref/dotnet/ko/System.Threading.Overlapped.xml",
+ "ref/dotnet/ru/System.Threading.Overlapped.xml",
+ "ref/dotnet/System.Threading.Overlapped.dll",
+ "ref/dotnet/System.Threading.Overlapped.xml",
+ "ref/dotnet/zh-hans/System.Threading.Overlapped.xml",
+ "ref/dotnet/zh-hant/System.Threading.Overlapped.xml",
+ "ref/net46/System.Threading.Overlapped.dll",
+ "System.Threading.Overlapped.4.0.0.nupkg",
+ "System.Threading.Overlapped.4.0.0.nupkg.sha512",
+ "System.Threading.Overlapped.nuspec"
+ ]
+ },
+ "System.Threading.Tasks/4.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "NOwJGDfk79jR0bnzosbXLVD/PdI8KzBeESoa3CofEM5v9R5EBfcI0Jyf18stx+0IYV9okmDIDxVtxq9TbnR9bQ==",
+ "files": [
+ "lib/DNXCore50/System.Threading.Tasks.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Threading.Tasks.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Threading.Tasks.xml",
+ "ref/dotnet/es/System.Threading.Tasks.xml",
+ "ref/dotnet/fr/System.Threading.Tasks.xml",
+ "ref/dotnet/it/System.Threading.Tasks.xml",
+ "ref/dotnet/ja/System.Threading.Tasks.xml",
+ "ref/dotnet/ko/System.Threading.Tasks.xml",
+ "ref/dotnet/ru/System.Threading.Tasks.xml",
+ "ref/dotnet/System.Threading.Tasks.dll",
+ "ref/dotnet/System.Threading.Tasks.xml",
+ "ref/dotnet/zh-hans/System.Threading.Tasks.xml",
+ "ref/dotnet/zh-hant/System.Threading.Tasks.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll",
+ "System.Threading.Tasks.4.0.10.nupkg",
+ "System.Threading.Tasks.4.0.10.nupkg.sha512",
+ "System.Threading.Tasks.nuspec"
+ ]
+ },
+ "System.Xml.ReaderWriter/4.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "VdmWWMH7otrYV7D+cviUo7XjX0jzDnD/lTGSZTlZqfIQ5PhXk85j+6P0TK9od3PnOd5ZIM+pOk01G/J+3nh9/w==",
+ "files": [
+ "lib/dotnet/System.Xml.ReaderWriter.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/es/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/fr/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/it/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/ja/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/ko/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/ru/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/System.Xml.ReaderWriter.dll",
+ "ref/dotnet/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/zh-hans/System.Xml.ReaderWriter.xml",
+ "ref/dotnet/zh-hant/System.Xml.ReaderWriter.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "System.Xml.ReaderWriter.4.0.10.nupkg",
+ "System.Xml.ReaderWriter.4.0.10.nupkg.sha512",
+ "System.Xml.ReaderWriter.nuspec"
+ ]
+ },
+ "System.Xml.XDocument/4.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "+ej0g0INnXDjpS2tDJsLO7/BjyBzC+TeBXLeoGnvRrm4AuBH9PhBjjZ1IuKWOhCkxPkFognUOKhZHS2glIOlng==",
+ "files": [
+ "lib/dotnet/System.Xml.XDocument.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Xml.XDocument.xml",
+ "ref/dotnet/es/System.Xml.XDocument.xml",
+ "ref/dotnet/fr/System.Xml.XDocument.xml",
+ "ref/dotnet/it/System.Xml.XDocument.xml",
+ "ref/dotnet/ja/System.Xml.XDocument.xml",
+ "ref/dotnet/ko/System.Xml.XDocument.xml",
+ "ref/dotnet/ru/System.Xml.XDocument.xml",
+ "ref/dotnet/System.Xml.XDocument.dll",
+ "ref/dotnet/System.Xml.XDocument.xml",
+ "ref/dotnet/zh-hans/System.Xml.XDocument.xml",
+ "ref/dotnet/zh-hant/System.Xml.XDocument.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "System.Xml.XDocument.4.0.10.nupkg",
+ "System.Xml.XDocument.4.0.10.nupkg.sha512",
+ "System.Xml.XDocument.nuspec"
+ ]
+ },
+ "System.Xml.XmlDocument/4.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "H5qTx2+AXgaKE5wehU1ZYeYPFpp/rfFh69/937NvwCrDqbIkvJRmIFyKKpkoMI6gl9hGfuVizfIudVTMyowCXw==",
+ "files": [
+ "lib/dotnet/System.Xml.XmlDocument.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/System.Xml.XmlDocument.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Xml.XmlDocument.xml",
+ "ref/dotnet/es/System.Xml.XmlDocument.xml",
+ "ref/dotnet/fr/System.Xml.XmlDocument.xml",
+ "ref/dotnet/it/System.Xml.XmlDocument.xml",
+ "ref/dotnet/ja/System.Xml.XmlDocument.xml",
+ "ref/dotnet/ko/System.Xml.XmlDocument.xml",
+ "ref/dotnet/ru/System.Xml.XmlDocument.xml",
+ "ref/dotnet/System.Xml.XmlDocument.dll",
+ "ref/dotnet/System.Xml.XmlDocument.xml",
+ "ref/dotnet/zh-hans/System.Xml.XmlDocument.xml",
+ "ref/dotnet/zh-hant/System.Xml.XmlDocument.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/System.Xml.XmlDocument.dll",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "System.Xml.XmlDocument.4.0.0.nupkg",
+ "System.Xml.XmlDocument.4.0.0.nupkg.sha512",
+ "System.Xml.XmlDocument.nuspec"
+ ]
+ },
+ "System.Xml.XmlSerializer/4.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "OKhE6vruk88z/hl0lmfrMvXteTASgJUagu6PT6S10i9uLbvDR3pTwB6jVgiwa2D2qtTB+eneZbS9jljhPXhTtg==",
+ "files": [
+ "lib/DNXCore50/System.Xml.XmlSerializer.dll",
+ "lib/MonoAndroid10/_._",
+ "lib/MonoTouch10/_._",
+ "lib/net46/_._",
+ "lib/netcore50/System.Xml.XmlSerializer.dll",
+ "lib/xamarinios10/_._",
+ "lib/xamarinmac20/_._",
+ "ref/dotnet/de/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/es/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/fr/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/it/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/ja/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/ko/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/ru/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/System.Xml.XmlSerializer.dll",
+ "ref/dotnet/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/zh-hans/System.Xml.XmlSerializer.xml",
+ "ref/dotnet/zh-hant/System.Xml.XmlSerializer.xml",
+ "ref/MonoAndroid10/_._",
+ "ref/MonoTouch10/_._",
+ "ref/net46/_._",
+ "ref/xamarinios10/_._",
+ "ref/xamarinmac20/_._",
+ "runtime.json",
+ "runtimes/win8-aot/lib/netcore50/System.Xml.XmlSerializer.dll",
+ "System.Xml.XmlSerializer.4.0.10.nupkg",
+ "System.Xml.XmlSerializer.4.0.10.nupkg.sha512",
+ "System.Xml.XmlSerializer.nuspec"
+ ]
+ },
+ "xunit/2.1.0": {
+ "type": "package",
+ "sha512": "u/7VQSOSXa7kSG4iK6Lcn7RqKZQ3hk7cnyMNVMpXHSP0RI5VQEtc44hvkG3LyWOVsx1dhUDD3rPAHAxyOUDQJw==",
+ "files": [
+ "xunit.2.1.0.nupkg",
+ "xunit.2.1.0.nupkg.sha512",
+ "xunit.nuspec"
+ ]
+ },
+ "xunit.abstractions/2.0.0": {
+ "type": "package",
+ "sha512": "NAdxKQRzuLnCZ0g++x6i87/8rMBpQoRiRlRNLAqfODm2zJPbteHRoSER3DXfxnqrHXyBJT8rFaZ8uveBeQyaMA==",
+ "files": [
+ "lib/net35/xunit.abstractions.dll",
+ "lib/net35/xunit.abstractions.xml",
+ "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll",
+ "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.xml",
+ "xunit.abstractions.2.0.0.nupkg",
+ "xunit.abstractions.2.0.0.nupkg.sha512",
+ "xunit.abstractions.nuspec"
+ ]
+ },
+ "xunit.assert/2.1.0": {
+ "type": "package",
+ "sha512": "Hhhw+YaTe+BGhbr57dxVE+6VJk8BfThqFFii1XIsSZ4qx+SSCixprJC10JkiLRVSTfWyT8W/4nAf6NQgIrmBxA==",
+ "files": [
+ "lib/dotnet/xunit.assert.dll",
+ "lib/dotnet/xunit.assert.pdb",
+ "lib/dotnet/xunit.assert.xml",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.assert.dll",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.assert.pdb",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.assert.xml",
+ "xunit.assert.2.1.0.nupkg",
+ "xunit.assert.2.1.0.nupkg.sha512",
+ "xunit.assert.nuspec"
+ ]
+ },
+ "xunit.console.netcore/1.0.2-prerelease-00128": {
+ "type": "package",
+ "sha512": "GAyZZAl3u4QzI1kJI/zqXDcWoiJz/3ryPNwM1o2JZyNpn5TmKDqEkrXUnmVoBoICYwh5OGebcBwXStr8cPBeDQ==",
+ "files": [
+ "lib/aspnetcore50/xunit.console.netcore.exe",
+ "lib/dnxcore50/_._",
+ "lib/dotnet/_._",
+ "runtimes/any/native/xunit.console.netcore.exe",
+ "xunit.console.netcore.1.0.2-prerelease-00128.nupkg",
+ "xunit.console.netcore.1.0.2-prerelease-00128.nupkg.sha512",
+ "xunit.console.netcore.nuspec"
+ ]
+ },
+ "xunit.core/2.1.0": {
+ "type": "package",
+ "sha512": "jlbYdPbnkPIRwJllcT/tQZCNsSElVDEymdpJfH79uTUrPARkELVYw9o/zhAjKZXmeikGqGK5C2Yny4gTNoEu0Q==",
+ "files": [
+ "build/_desktop/xunit.execution.desktop.dll",
+ "build/dnx451/_._",
+ "build/monoandroid/_._",
+ "build/monotouch/_._",
+ "build/net45/_._",
+ "build/portable-net45+win8+wp8+wpa81/xunit.core.props",
+ "build/win8/_._",
+ "build/win81/xunit.core.props",
+ "build/wp8/_._",
+ "build/wpa81/xunit.core.props",
+ "build/xamarinios/_._",
+ "xunit.core.2.1.0.nupkg",
+ "xunit.core.2.1.0.nupkg.sha512",
+ "xunit.core.nuspec"
+ ]
+ },
+ "xunit.extensibility.core/2.1.0": {
+ "type": "package",
+ "sha512": "ANWM3WxeaeHjACLRlmrv+xOc0WAcr3cvIiJE+gqbdzTv1NCH4p1VDyT+8WmmdCc9db0WFiJLaDy4YTYsL1wWXw==",
+ "files": [
+ "lib/dotnet/xunit.core.dll",
+ "lib/dotnet/xunit.core.dll.tdnet",
+ "lib/dotnet/xunit.core.pdb",
+ "lib/dotnet/xunit.core.xml",
+ "lib/dotnet/xunit.runner.tdnet.dll",
+ "lib/dotnet/xunit.runner.utility.desktop.dll",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.core.dll",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.core.dll.tdnet",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.core.pdb",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.core.xml",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.runner.tdnet.dll",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.runner.utility.desktop.dll",
+ "xunit.extensibility.core.2.1.0.nupkg",
+ "xunit.extensibility.core.2.1.0.nupkg.sha512",
+ "xunit.extensibility.core.nuspec"
+ ]
+ },
+ "xunit.extensibility.execution/2.1.0": {
+ "type": "package",
+ "sha512": "tAoNafoVknKa3sZJPMvtZRnhOSk3gasEGeceSm7w/gyGwsR/OXFxndWJB1xSHeoy33d3Z6jFqn4A3j+pWCF0Ew==",
+ "files": [
+ "lib/dnx451/xunit.execution.dotnet.dll",
+ "lib/dnx451/xunit.execution.dotnet.pdb",
+ "lib/dnx451/xunit.execution.dotnet.xml",
+ "lib/dotnet/xunit.execution.dotnet.dll",
+ "lib/dotnet/xunit.execution.dotnet.pdb",
+ "lib/dotnet/xunit.execution.dotnet.xml",
+ "lib/monoandroid/xunit.execution.dotnet.dll",
+ "lib/monoandroid/xunit.execution.dotnet.pdb",
+ "lib/monoandroid/xunit.execution.dotnet.xml",
+ "lib/monotouch/xunit.execution.dotnet.dll",
+ "lib/monotouch/xunit.execution.dotnet.pdb",
+ "lib/monotouch/xunit.execution.dotnet.xml",
+ "lib/net45/xunit.execution.desktop.dll",
+ "lib/net45/xunit.execution.desktop.pdb",
+ "lib/net45/xunit.execution.desktop.xml",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.dll",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.pdb",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.xml",
+ "lib/win8/xunit.execution.dotnet.dll",
+ "lib/win8/xunit.execution.dotnet.pdb",
+ "lib/win8/xunit.execution.dotnet.xml",
+ "lib/wp8/xunit.execution.dotnet.dll",
+ "lib/wp8/xunit.execution.dotnet.pdb",
+ "lib/wp8/xunit.execution.dotnet.xml",
+ "lib/wpa81/xunit.execution.dotnet.dll",
+ "lib/wpa81/xunit.execution.dotnet.pdb",
+ "lib/wpa81/xunit.execution.dotnet.xml",
+ "lib/xamarinios/xunit.execution.dotnet.dll",
+ "lib/xamarinios/xunit.execution.dotnet.pdb",
+ "lib/xamarinios/xunit.execution.dotnet.xml",
+ "xunit.extensibility.execution.2.1.0.nupkg",
+ "xunit.extensibility.execution.2.1.0.nupkg.sha512",
+ "xunit.extensibility.execution.nuspec"
+ ]
+ },
+ "xunit.runner.console/2.1.0": {
+ "type": "package",
+ "sha512": "dryP6nBDWD2aH6OUidwoPQLebelnfA6DDKUs9PxJ6iPDbT9t5eSKyjqLSas/nQFEJZwXXWVnbImrgK/IgiyOdQ==",
+ "files": [
+ "tools/HTML.xslt",
+ "tools/NUnitXml.xslt",
+ "tools/xunit.abstractions.dll",
+ "tools/xunit.console.exe",
+ "tools/xunit.console.exe.config",
+ "tools/xunit.console.x86.exe",
+ "tools/xunit.console.x86.exe.config",
+ "tools/xunit.runner.reporters.desktop.dll",
+ "tools/xunit.runner.utility.desktop.dll",
+ "tools/xUnit1.xslt",
+ "xunit.runner.console.2.1.0.nupkg",
+ "xunit.runner.console.2.1.0.nupkg.sha512",
+ "xunit.runner.console.nuspec"
+ ]
+ },
+ "xunit.runner.utility/2.1.0": {
+ "type": "package",
+ "sha512": "jJJHROwskIhdQuYw7exe7KaW20dOCa+lzV/lY7Zdh1ZZzdUPpScMi9ReJIutqiyjhemGF8V/GaMIPrcjyZ4ioQ==",
+ "files": [
+ "lib/dnx451/xunit.runner.utility.dotnet.dll",
+ "lib/dnx451/xunit.runner.utility.dotnet.pdb",
+ "lib/dnx451/xunit.runner.utility.dotnet.xml",
+ "lib/dotnet/xunit.runner.utility.dotnet.dll",
+ "lib/dotnet/xunit.runner.utility.dotnet.pdb",
+ "lib/dotnet/xunit.runner.utility.dotnet.xml",
+ "lib/net35/xunit.runner.utility.desktop.dll",
+ "lib/net35/xunit.runner.utility.desktop.pdb",
+ "lib/net35/xunit.runner.utility.desktop.xml",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.runner.utility.dotnet.dll",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.runner.utility.dotnet.pdb",
+ "lib/portable-net45+win8+wp8+wpa81/xunit.runner.utility.dotnet.xml",
+ "xunit.runner.utility.2.1.0.nupkg",
+ "xunit.runner.utility.2.1.0.nupkg.sha512",
+ "xunit.runner.utility.nuspec"
+ ]
+ }
+ },
+ "projectFileDependencyGroups": {
+ "": [
+ "Microsoft.DotNet.xunit.performance >= 1.0.0-alpha-build0027",
+ "Microsoft.DotNet.xunit.performance.analysis >= 1.0.0-alpha-build0027",
+ "Microsoft.DotNet.xunit.performance.runner.Windows >= 1.0.0-alpha-build0027",
+ "System.Runtime >= 4.0.20-beta-*",
+ "System.Console >= 4.0.0-beta-*",
+ "System.IO >= 4.0.0-beta-*",
+ "System.Runtime.Serialization.Json >= 4.0.0",
+ "System.Runtime.Serialization.Primitives >= 4.0.10",
+ "System.Runtime.Serialization.Xml >= 4.0.10",
+ "System.Xml.XmlDocument >= 4.0.0",
+ "System.Xml.XmlSerializer >= 4.0.10",
+ "Newtonsoft.Json >= 7.0.1",
+ "xunit >= 2.1.0",
+ "xunit.runner.utility >= 2.1.0",
+ "xunit.console.netcore >= 1.0.2-prerelease-00128"
+ ],
+ "DNXCore,Version=v5.0": []
+ }
+} \ No newline at end of file
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/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/eh/basics/loopEH.csproj b/tests/src/JIT/jit64/eh/basics/loopEH.csproj
index 6ed553102c..93fd0cb181 100644
--- a/tests/src/JIT/jit64/eh/basics/loopEH.csproj
+++ b/tests/src/JIT/jit64/eh/basics/loopEH.csproj
@@ -15,6 +15,7 @@
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<RestorePackages>true</RestorePackages>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IlasmRoundTrip>true</IlasmRoundTrip>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
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/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..6b61380cb6
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/verify/verify01_dynamic.il
@@ -0,0 +1,91 @@
+// 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 )
+}
+
+.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..4a826649de
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/verify/verify01_large.il
@@ -0,0 +1,88 @@
+// 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 )
+}
+
+.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..0600d4fff3
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/verify/verify01_small.il
@@ -0,0 +1,88 @@
+// 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 )
+}
+
+.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/mcc/interop/native_i0c.cpp b/tests/src/JIT/jit64/mcc/interop/native_i0c.cpp
index 9c4c966f72..1a4e183675 100644
--- a/tests/src/JIT/jit64/mcc/interop/native_i0c.cpp
+++ b/tests/src/JIT/jit64/mcc/interop/native_i0c.cpp
@@ -8,8 +8,8 @@
MCC_API VType0 __cdecl sum(unsigned __int64 first, ...) {
VType0 result;
- unsigned int count = 0;
- unsigned __int64 sum = 0;
+ int count = 0;
+ __int64 sum = 0;
unsigned __int64 val = first;
va_list args;
diff --git a/tests/src/JIT/jit64/mcc/interop/native_i0s.cpp b/tests/src/JIT/jit64/mcc/interop/native_i0s.cpp
index 09217efa5c..51ecffd11e 100644
--- a/tests/src/JIT/jit64/mcc/interop/native_i0s.cpp
+++ b/tests/src/JIT/jit64/mcc/interop/native_i0s.cpp
@@ -20,7 +20,7 @@ MCC_API MyValueType WINAPI sum(
unsigned __int64 a10, unsigned __int64 a11, unsigned __int64 a12) {
MyValueType result;
- result.sum = a01 + a02 + a03 + a04 + a05 + a06 + a07 + a08 + a09 + a10 + a11 + a12;
+ result.sum = static_cast<__int64>(a01 + a02 + a03 + a04 + a05 + a06 + a07 + a08 + a09 + a10 + a11 + a12);
result.count = 12;
result.average = (double)result.sum / result.count;
result.dummy1 = result.sum;
diff --git a/tests/src/JIT/jit64/mcc/interop/native_i1c.cpp b/tests/src/JIT/jit64/mcc/interop/native_i1c.cpp
index 0edeeeffa5..8d25fd58a6 100644
--- a/tests/src/JIT/jit64/mcc/interop/native_i1c.cpp
+++ b/tests/src/JIT/jit64/mcc/interop/native_i1c.cpp
@@ -4,8 +4,10 @@
#include <stdarg.h>
#include "native.h"
+#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wvarargs"
+#endif
MCC_API VType1 __cdecl sum(float first, ...) {
VType1 result;
@@ -52,4 +54,6 @@ MCC_API VType1 __cdecl sum(float first, ...) {
return result;
}
-#pragma clang diagnostic pop \ No newline at end of file
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
diff --git a/tests/src/JIT/jit64/opt/cg/il/jmp.il b/tests/src/JIT/jit64/opt/cg/il/jmp.il
index 22e60310ab..de3c22e8d0 100644
--- a/tests/src/JIT/jit64/opt/cg/il/jmp.il
+++ b/tests/src/JIT/jit64/opt/cg/il/jmp.il
@@ -11,7 +11,6 @@
.assembly 'jmp' {
//This byte field requests that this assembly not be verified at run time and corresponds to this C# declaration:
//[assembly:System.Security.Permissions.SecurityPermissionAttribute( [mscorlib]System.Security.Permissions.SecurityAction.RequestMinimum, Flags=System.Security.Permissions.SecurityPermissionFlag.SkipVerification )]
- .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
}
.method public static int32 main(class [mscorlib]System.String[]) {
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..021807c7c9
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/ndpw/21220/21220.il
@@ -0,0 +1,154 @@
+
+.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 )
+ .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..96ccd6e5b2
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/102754/test1.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 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
+{
+
+
+ .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/src/JIT/jit64/verif/sniff/fg/ver_fg_13.il b/tests/src/JIT/jit64/verif/sniff/fg/ver_fg_13.il
index 0b5d7bfb95..827397aa2f 100644
--- a/tests/src/JIT/jit64/verif/sniff/fg/ver_fg_13.il
+++ b/tests/src/JIT/jit64/verif/sniff/fg/ver_fg_13.il
@@ -13,8 +13,6 @@
.assembly test
{
.custom instance void [mscorlib]System.Security.AllowPartiallyTrustedCallersAttribute::.ctor() = ( 01 00 01 00 00 )
-// .permissionset reqrefuse
-// = {[mscorlib]System.Security.Permissions.PermissionSetAttribute = {property string 'Name' = string('SkipVerification')}}
}
diff --git a/tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.il b/tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.il
index 2840988b3c..3614e32052 100644
--- a/tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.il
+++ b/tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.il
@@ -130,8 +130,6 @@
.method private hidebysig static valuetype TailcallVerify.ValueType3Bytes
Caller1() cil managed
{
- .permissionset demand
- = {[mscorlib]System.Security.Permissions.FileIOPermissionAttribute = {property bool 'Unrestricted' = bool(true)}}
// Code size 52 (0x34)
.maxstack 8
IL_0000: ldc.i4.0
diff --git a/tests/src/JIT/opt/perf/doublealign/Locals.csproj b/tests/src/JIT/opt/perf/doublealign/Locals.csproj
index 848d302af8..1141489365 100644
--- a/tests/src/JIT/opt/perf/doublealign/Locals.csproj
+++ b/tests/src/JIT/opt/perf/doublealign/Locals.csproj
@@ -15,6 +15,7 @@
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<RestorePackages>true</RestorePackages>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IlasmRoundTrip>true</IlasmRoundTrip>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
diff --git a/tests/src/dir.common.props b/tests/src/dir.common.props
index 4f332e41d4..a04f439244 100644
--- a/tests/src/dir.common.props
+++ b/tests/src/dir.common.props
@@ -26,6 +26,12 @@
<DebugType Condition="'$(DebugType)' == ''">pdbonly</DebugType>
<DefineConstants>$(DefineConstants);TRACE</DefineConstants>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)' == 'Checked'">
+ <DebugSymbols Condition="'$(DebugSymbols)' == ''">true</DebugSymbols>
+ <Optimize Condition="'$(Optimize)' == ''">true</Optimize>
+ <DebugType Condition="'$(DebugType)' == ''">full</DebugType>
+ <DefineConstants>$(DefineConstants);DEBUG;TRACE</DefineConstants>
+ </PropertyGroup>
<!-- Setup the default output and intermediate paths -->
<PropertyGroup>
diff --git a/tests/testsFailingOutsideWindows.txt b/tests/testsFailingOutsideWindows.txt
index f22e623daf..e4967e89da 100644
--- a/tests/testsFailingOutsideWindows.txt
+++ b/tests/testsFailingOutsideWindows.txt
@@ -116,3 +116,104 @@ 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
+JIT/Performance/CodeQuality/Serialization/Serialize/Serialize.sh
+JIT/Performance/CodeQuality/Serialization/Deserialize/Deserialize.sh
+