Add JIT GC tests
authorBengu Li <beli@microsoft.com>
Fri, 10 Apr 2015 17:56:47 +0000 (10:56 -0700)
committerBengu Li <beli@microsoft.com>
Fri, 10 Apr 2015 17:56:47 +0000 (10:56 -0700)
Selected working JIT GC test cases from old test bed before ToF
for porting into CoreCLR.

Related proj, config, and sln files added and updated. Passed
build, buildtest, runtest.

Cleaned up the source code. Updated comments to remove internal
information such as reference to internal bug numbers etc, removed
some not useful comment. Code is re-formatted for consistent style.
Copyright added. Scrub tool SSS ran. Pragma warning about parenthesis
ignored.

92 files changed:
tests/src/AllTestProjects.sln
tests/src/JIT/jit64/gc/misc/148343.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/9_and_alloca2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/9param.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/app.config [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/cs_template.proj [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/eh1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/fgtest1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/fgtest2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/funclet.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/gcparaminreg.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/misc.csproj [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/packages.config [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/ret_struct_test1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/ret_struct_test4.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/simple1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct1_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct1_4.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct1_5.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct2_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct2_4.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct2_5.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct2_5_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct3.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct3_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct3_4.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct3_5.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct4.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct4_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct4_4.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct4_5.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct5.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct5_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct5_4.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct5_5.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct6.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct6_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct6_4.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct6_5.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct7_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct8.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct9.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/struct9_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp1_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp1_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp1_3.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp1_4.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp1_5.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp1_6.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp2_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp2_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp2_3.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp2_4.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp3_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp4_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp5_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfp6_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfpseh5_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structfpseh6_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structref1_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret1_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret1_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret1_3.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret2_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret2_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret2_3.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret3_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret3_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret3_3.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret4_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret4_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret4_3.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret5_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret5_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret5_3.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret6_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret6_2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structret6_3.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/structva1_1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/test1.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/test2.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/test3.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/test_noalloca.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/misc/vbil.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/regress/vswhidbey/143837.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/regress/vswhidbey/339415.cs [new file with mode: 0644]
tests/src/JIT/jit64/gc/regress/vswhidbey/app.config [new file with mode: 0644]
tests/src/JIT/jit64/gc/regress/vswhidbey/cs_template.proj [new file with mode: 0644]
tests/src/JIT/jit64/gc/regress/vswhidbey/packages.config [new file with mode: 0644]
tests/src/JIT/jit64/gc/regress/vswhidbey/vswhidbey.csproj [new file with mode: 0644]

index 57d3048..b6d9445 100644 (file)
@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
+VisualStudioVersion = 12.0.21005.1
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Finalizer", "Exceptions\Finalization\Finalizer.csproj", "{95DFC527-4DC1-495E-97D7-E94EE1F7140D}"
 EndProject
@@ -87,6 +87,20 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compilation", "managed\Comp
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Compilation", "Compilation", "{6B543CA2-10A2-4771-9F93-1733AA7A2DB8}"
 EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "jit64", "jit64", "{D9FFDA0F-00A2-458C-B3D3-77D0811E969E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "gc", "gc", "{BD5A2705-2A6A-46A5-8EB1-8F4682B6B025}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "misc", "misc", "{17842328-DBEB-4209-BAE6-512FCA163DC5}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "regress", "regress", "{76DA480B-E2C8-4BE7-B012-3F89384C3184}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vswhidbey", "vswhidbey", "{EDC4C742-D1C9-419B-A37D-3C687371F931}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "misc", "JIT\jit64\gc\misc\misc.csproj", "{C4BADAC7-40D0-4C0B-9A4C-DEDC9F6BFB6E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vswhidbey", "JIT\jit64\gc\regress\vswhidbey\vswhidbey.csproj", "{4F79D631-9938-4DB0-A483-8EEA0F531D51}"
+EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
                Debug|Any CPU = Debug|Any CPU
@@ -265,43 +279,70 @@ Global
                {39DD9A75-2535-4EBD-94A4-C7DF7EF12CF5}.Release|Mixed Platforms.Build.0 = Release|x64
                {39DD9A75-2535-4EBD-94A4-C7DF7EF12CF5}.Release|x64.ActiveCfg = Release|x64
                {39DD9A75-2535-4EBD-94A4-C7DF7EF12CF5}.Release|x64.Build.0 = Release|x64
+               {C4BADAC7-40D0-4C0B-9A4C-DEDC9F6BFB6E}.Debug|Any CPU.ActiveCfg = Debug|x64
+               {C4BADAC7-40D0-4C0B-9A4C-DEDC9F6BFB6E}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+               {C4BADAC7-40D0-4C0B-9A4C-DEDC9F6BFB6E}.Debug|Mixed Platforms.Build.0 = Debug|x64
+               {C4BADAC7-40D0-4C0B-9A4C-DEDC9F6BFB6E}.Debug|x64.ActiveCfg = Debug|x64
+               {C4BADAC7-40D0-4C0B-9A4C-DEDC9F6BFB6E}.Debug|x64.Build.0 = Debug|x64
+               {C4BADAC7-40D0-4C0B-9A4C-DEDC9F6BFB6E}.Release|Any CPU.ActiveCfg = Release|x64
+               {C4BADAC7-40D0-4C0B-9A4C-DEDC9F6BFB6E}.Release|Mixed Platforms.ActiveCfg = Release|x64
+               {C4BADAC7-40D0-4C0B-9A4C-DEDC9F6BFB6E}.Release|Mixed Platforms.Build.0 = Release|x64
+               {C4BADAC7-40D0-4C0B-9A4C-DEDC9F6BFB6E}.Release|x64.ActiveCfg = Release|x64
+               {C4BADAC7-40D0-4C0B-9A4C-DEDC9F6BFB6E}.Release|x64.Build.0 = Release|x64
+               {4F79D631-9938-4DB0-A483-8EEA0F531D51}.Debug|Any CPU.ActiveCfg = Debug|x64
+               {4F79D631-9938-4DB0-A483-8EEA0F531D51}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+               {4F79D631-9938-4DB0-A483-8EEA0F531D51}.Debug|Mixed Platforms.Build.0 = Debug|x64
+               {4F79D631-9938-4DB0-A483-8EEA0F531D51}.Debug|x64.ActiveCfg = Debug|x64
+               {4F79D631-9938-4DB0-A483-8EEA0F531D51}.Debug|x64.Build.0 = Debug|x64
+               {4F79D631-9938-4DB0-A483-8EEA0F531D51}.Release|Any CPU.ActiveCfg = Release|x64
+               {4F79D631-9938-4DB0-A483-8EEA0F531D51}.Release|Mixed Platforms.ActiveCfg = Release|x64
+               {4F79D631-9938-4DB0-A483-8EEA0F531D51}.Release|Mixed Platforms.Build.0 = Release|x64
+               {4F79D631-9938-4DB0-A483-8EEA0F531D51}.Release|x64.ActiveCfg = Release|x64
+               {4F79D631-9938-4DB0-A483-8EEA0F531D51}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
        EndGlobalSection
        GlobalSection(NestedProjects) = preSolution
-               {95DFC527-4DC1-495E-97D7-E94EE1F7140D} = {7EBCCEA9-F217-49A2-9394-6502C13279F0}
+               {7EBCCEA9-F217-49A2-9394-6502C13279F0} = {210C3FE7-130B-4D37-8030-16BC2E6A0927}
                {C8C0DC74-FAC4-45B1-81FE-70C4808366E0} = {0FBFD943-4808-4CB0-B9A3-B79326AE92EE}
-               {96F5D34F-C951-4DE0-8CD6-94D4F23C3C71} = {954F04D0-2FFD-4923-BE9A-2F9F58145708}
-               {95ACC45A-AB39-43E7-8898-BCCF99E73BDC} = {B6FB99A0-1E53-4806-AE96-3A157F8B4DFD}
-               {5B8CD92B-4F19-45B0-BB68-D545AAE09590} = {9CF3FD0C-3643-4F57-A57C-492258FF1BF0}
                {954F04D0-2FFD-4923-BE9A-2F9F58145708} = {F03E5C26-F7BE-4BEF-9CBC-EAFC5A2C7760}
-               {7EBCCEA9-F217-49A2-9394-6502C13279F0} = {210C3FE7-130B-4D37-8030-16BC2E6A0927}
+               {86AB78FA-656D-47D1-B156-F8165542A6C1} = {F03E5C26-F7BE-4BEF-9CBC-EAFC5A2C7760}
+               {D9FFDA0F-00A2-458C-B3D3-77D0811E969E} = {F03E5C26-F7BE-4BEF-9CBC-EAFC5A2C7760}
+               {B6FB99A0-1E53-4806-AE96-3A157F8B4DFD} = {3E36F081-F511-4C52-BC3D-2EEFECD3E880}
+               {01516861-E37C-433B-9D12-CA4F8E05CB13} = {3E36F081-F511-4C52-BC3D-2EEFECD3E880}
                {9CF3FD0C-3643-4F57-A57C-492258FF1BF0} = {C86BB69B-B83E-4656-825F-50CADB38D344}
+               {95DFC527-4DC1-495E-97D7-E94EE1F7140D} = {7EBCCEA9-F217-49A2-9394-6502C13279F0}
+               {96F5D34F-C951-4DE0-8CD6-94D4F23C3C71} = {954F04D0-2FFD-4923-BE9A-2F9F58145708}
+               {5B8CD92B-4F19-45B0-BB68-D545AAE09590} = {9CF3FD0C-3643-4F57-A57C-492258FF1BF0}
+               {95ACC45A-AB39-43E7-8898-BCCF99E73BDC} = {B6FB99A0-1E53-4806-AE96-3A157F8B4DFD}
                {7FDCE831-DECA-4930-9187-68A97583C91B} = {01516861-E37C-433B-9D12-CA4F8E05CB13}
-               {01516861-E37C-433B-9D12-CA4F8E05CB13} = {3E36F081-F511-4C52-BC3D-2EEFECD3E880}
                {D6633F9C-C79B-422B-BCC0-1AF80A673A24} = {01516861-E37C-433B-9D12-CA4F8E05CB13}
                {B50A2D18-32B1-4051-A3E4-B004A6BBBF4D} = {01516861-E37C-433B-9D12-CA4F8E05CB13}
                {7297C67A-D3D7-49D5-9DEC-0EE946B1D9C7} = {519B3923-0366-4664-876B-BAA9B87E13D1}
                {76C9FF34-242B-4B47-BC2B-DD78E173D69E} = {519B3923-0366-4664-876B-BAA9B87E13D1}
                {F3E708D4-38A7-4CB6-A92A-A1ABA6186CE2} = {519B3923-0366-4664-876B-BAA9B87E13D1}
-               {8E3244CB-407F-4142-BAAB-E7A55901A5FA} = {F3E708D4-38A7-4CB6-A92A-A1ABA6186CE2}
                {4C9D5390-1B91-41B8-89CE-117F2D80E752} = {7297C67A-D3D7-49D5-9DEC-0EE946B1D9C7}
                {946AE2D9-F656-4771-81DB-6D02EEEEFFCB} = {76C9FF34-242B-4B47-BC2B-DD78E173D69E}
                {CDA666E1-9A22-4795-9FBD-3B3FAEB759A4} = {76C9FF34-242B-4B47-BC2B-DD78E173D69E}
-               {B6FB99A0-1E53-4806-AE96-3A157F8B4DFD} = {3E36F081-F511-4C52-BC3D-2EEFECD3E880}
+               {8E3244CB-407F-4142-BAAB-E7A55901A5FA} = {F3E708D4-38A7-4CB6-A92A-A1ABA6186CE2}
                {A0C4F281-CA64-4794-A786-F3F80FCC5A06} = {68C05500-0698-4309-AFB0-14485AFA1BDB}
                {776B49A7-C77A-42ED-AFA7-73E255FC889E} = {A0C4F281-CA64-4794-A786-F3F80FCC5A06}
-               {65972FF1-AE77-4CB3-B31D-9CA483DD9E2E} = {776B49A7-C77A-42ED-AFA7-73E255FC889E}
                {48E19BDB-F7F5-4FEF-ABA9-7FEEAC96D265} = {A0C4F281-CA64-4794-A786-F3F80FCC5A06}
+               {65972FF1-AE77-4CB3-B31D-9CA483DD9E2E} = {776B49A7-C77A-42ED-AFA7-73E255FC889E}
                {700E904F-A5F0-4B05-835B-EB256F4202B0} = {48E19BDB-F7F5-4FEF-ABA9-7FEEAC96D265}
                {C0216064-946C-46BA-BAAA-406F1B4E32B5} = {7D929CA5-2230-4EE1-990F-C518A9BEA68A}
                {24951158-FCC2-46D4-8982-2B34A6A8EB1B} = {C0216064-946C-46BA-BAAA-406F1B4E32B5}
                {F1E66554-8C8E-4141-85CF-D0CD6A0CD0B0} = {24951158-FCC2-46D4-8982-2B34A6A8EB1B}
-               {86AB78FA-656D-47D1-B156-F8165542A6C1} = {F03E5C26-F7BE-4BEF-9CBC-EAFC5A2C7760}
                {168FB13B-74F9-4056-BF11-A46F2DAAADF8} = {86AB78FA-656D-47D1-B156-F8165542A6C1}
                {BA57FEA2-9416-4FE6-9767-7C63CE8EFBC7} = {168FB13B-74F9-4056-BF11-A46F2DAAADF8}
-               {39DD9A75-2535-4EBD-94A4-C7DF7EF12CF5} = {6B543CA2-10A2-4771-9F93-1733AA7A2DB8}
                {6B543CA2-10A2-4771-9F93-1733AA7A2DB8} = {1E0A9AAE-133F-4881-8DC6-571F12B96B8B}
+               {39DD9A75-2535-4EBD-94A4-C7DF7EF12CF5} = {6B543CA2-10A2-4771-9F93-1733AA7A2DB8}
+               {BD5A2705-2A6A-46A5-8EB1-8F4682B6B025} = {D9FFDA0F-00A2-458C-B3D3-77D0811E969E}
+               {17842328-DBEB-4209-BAE6-512FCA163DC5} = {BD5A2705-2A6A-46A5-8EB1-8F4682B6B025}
+               {76DA480B-E2C8-4BE7-B012-3F89384C3184} = {BD5A2705-2A6A-46A5-8EB1-8F4682B6B025}
+               {C4BADAC7-40D0-4C0B-9A4C-DEDC9F6BFB6E} = {17842328-DBEB-4209-BAE6-512FCA163DC5}
+               {EDC4C742-D1C9-419B-A37D-3C687371F931} = {76DA480B-E2C8-4BE7-B012-3F89384C3184}
+               {4F79D631-9938-4DB0-A483-8EEA0F531D51} = {EDC4C742-D1C9-419B-A37D-3C687371F931}
        EndGlobalSection
 EndGlobal
diff --git a/tests/src/JIT/jit64/gc/misc/148343.cs b/tests/src/JIT/jit64/gc/misc/148343.cs
new file mode 100644 (file)
index 0000000..5942e28
--- /dev/null
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+public class T
+{
+    public static bool test(ref Object[] arr, ref Object o, int index)
+    {
+        GC.Collect();
+        if (arr[index] == null)
+        {
+            Console.WriteLine("null");
+            return false;
+        }
+        if (arr[index] != o)
+        {
+            return false;
+        }
+
+        for (int i = 0; i < arr.Length; i++)
+        {
+            Console.WriteLine(arr[i]);
+        }
+        return (true);
+    }
+    static Object[] o = new Object[5];
+
+    public static int Main()
+    {
+        o[1] = "1";
+        o[2] = "2";
+        o[3] = "3";
+        if (test(ref o, ref o[2], 2)) return 100;
+        //error
+        return 1;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/9_and_alloca2.cs b/tests/src/JIT/jit64/gc/misc/9_and_alloca2.cs
new file mode 100644 (file)
index 0000000..46d09eb
--- /dev/null
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+class T
+{
+    public static int Main()
+    {
+        string s1 = "a";
+        string s2 = "b";
+        string s3 = "c";
+        string s4 = "d";
+        string s5 = "e";
+        string s6 = "f";
+        string s7 = "g";
+        string s8 = "h";
+        string s9 = "i";
+        string s10 = "j";
+        string s11 = "k";
+
+        foo(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11);
+        return 100;
+    }
+
+    public static void foo(string s1, string s2, string s3, string s4, string s5, string s6, string s7, string s8, string s9, string s10, string s11)
+    {
+        Console.WriteLine(s8);
+        Console.WriteLine(s9);
+        Console.WriteLine(s10 + s11);
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/9param.cs b/tests/src/JIT/jit64/gc/misc/9param.cs
new file mode 100644 (file)
index 0000000..0fabcff
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+class T
+{
+    public static int Main()
+    {
+        string s1 = "Hello World";
+
+        foo(1, 2, 3, 4, 5, 6, 7, 8, s1);
+
+        return 100;
+    }
+
+    public static void foo(int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, string s9)
+    {
+        Console.WriteLine(s9);
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/app.config b/tests/src/JIT/jit64/gc/misc/app.config
new file mode 100644 (file)
index 0000000..62803f5
--- /dev/null
@@ -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>
\ No newline at end of file
diff --git a/tests/src/JIT/jit64/gc/misc/cs_template.proj b/tests/src/JIT/jit64/gc/misc/cs_template.proj
new file mode 100644 (file)
index 0000000..adc2f21
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <AssemblyName>$(AssemblyName1)</AssemblyName>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <AppDesignerFolder>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>
+    <RestorePackages>true</RestorePackages>
+    <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+  </PropertyGroup>
+  <!-- Default configurations to help VS understand the configurations -->
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+  </PropertyGroup>
+  <ItemGroup>
+    <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+      <Visible>False</Visible>
+    </CodeAnalysisDependentAssemblyPaths>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="$(AssemblyName1).cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="packages.config" />
+    <None Include="app.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <Service Include="{82A7F48D-3B50-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/gc/misc/eh1.cs b/tests/src/JIT/jit64/gc/misc/eh1.cs
new file mode 100644 (file)
index 0000000..ee55aca
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+class T
+{
+    public static int Main()
+    {
+        try
+        {
+            throw new Exception();
+        }
+        catch (Exception E)
+        {
+            Console.WriteLine("Caught expected exception " + E.GetType());
+            return 100;
+        }
+#pragma warning disable 0162
+        return -1;
+#pragma warning restore 0252
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/fgtest1.cs b/tests/src/JIT/jit64/gc/misc/fgtest1.cs
new file mode 100644 (file)
index 0000000..c656e59
--- /dev/null
@@ -0,0 +1,42 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+class T
+{
+    public static int x = 4;
+
+    public static int Main()
+    {
+        int exitcode = -1;
+        try
+        {
+            Console.WriteLine(1);
+
+            if (x == 5)
+            {
+                Console.WriteLine(2);
+            }
+            else
+            {
+                Console.WriteLine(3);
+                throw new Exception();
+            }
+
+            Console.WriteLine(4);
+        }
+        catch
+        {
+            goto L;
+        }
+
+        Console.WriteLine(5);
+        return exitcode;
+    L:
+        Console.WriteLine(6);
+        exitcode = 100;
+        return exitcode;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/fgtest2.cs b/tests/src/JIT/jit64/gc/misc/fgtest2.cs
new file mode 100644 (file)
index 0000000..f4be66f
--- /dev/null
@@ -0,0 +1,62 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+class T
+{
+    public static int x = 4;
+
+    public static int Main()
+    {
+        int exitcode = 94;
+
+        goto L3;
+    L:
+        x = 5;
+        exitcode++;
+        Console.WriteLine(3);
+    L3:
+        try
+        {
+            Console.WriteLine("1/4");
+            exitcode++;
+
+            if (x == 5)
+            {
+                try
+                {
+                    exitcode++;
+                    Console.WriteLine(5);
+
+                    if (x == 5) throw new Exception();
+                }
+                catch
+                {
+                    goto L2;
+                }
+            }
+            else
+            {
+                exitcode++;
+                Console.WriteLine(2);
+                throw new Exception();
+            }
+
+            exitcode++;
+            Console.WriteLine(4);
+        }
+        catch
+        {
+            goto L;
+        }
+
+        exitcode++;
+        Console.WriteLine(-1);
+    L2:
+        exitcode++;
+        Console.WriteLine(6);
+        return exitcode;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/funclet.cs b/tests/src/JIT/jit64/gc/misc/funclet.cs
new file mode 100644 (file)
index 0000000..eb179d6
--- /dev/null
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+// The main purpose of this test is make sure that an object ref passed on the stack
+// out of a funclet works properly. The varargs is a bit extraneous.
+
+class test
+{
+    public static int Main()
+    {
+        try
+        {
+        }
+        finally
+        {
+            System.Console.WriteLine("just before call");
+
+            VarArgFunction(__arglist(
+                     0,
+                     0,
+                     0,
+                     0,
+                     0,
+                     0,
+                     0,
+                     0,
+                     0,
+                     "string"    // <-- ensure this is passed on the stack even for IA64
+                     ));
+
+            System.Console.WriteLine("just after call");
+        }
+        return 100;
+    }
+
+    public static void VarArgFunction(__arglist)
+    {
+        System.Console.WriteLine("inside call");
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/gcparaminreg.cs b/tests/src/JIT/jit64/gc/misc/gcparaminreg.cs
new file mode 100644 (file)
index 0000000..b21368c
--- /dev/null
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+// This test is intended to test using SSIs to report cases where
+// the address of an SSI escapes the current function.
+// Note that this probably needs to be modifies in msil to 
+// actually process the address of the local, rather than the local.
+
+using System;
+
+class test
+{
+    public static int Main()
+    {
+        int i = 0;
+        i += ParamInReg();
+        return i;
+    }
+
+    public static int ParamInReg()
+    {
+        String strLoc = "Param";
+        return ParamHelper(strLoc);
+    }
+
+    public static int ParamHelper(String strParam)
+    {
+        return Func1(strParam);
+    }
+
+    public static int Func1(String strParam)
+    {
+        if (strParam == "Param")
+            return 100;
+        else return -1;
+    }
+}
+
+
+
diff --git a/tests/src/JIT/jit64/gc/misc/misc.csproj b/tests/src/JIT/jit64/gc/misc/misc.csproj
new file mode 100644 (file)
index 0000000..33b2928
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+  <!-- Default configurations to help VS understand the configurations -->
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+  </PropertyGroup>
+  <Target Name="Build">
+    <ItemGroup>
+      <AllSourceFiles Include="$(MSBuildProjectDirectory)\*.cs" />
+    </ItemGroup>
+    <PropertyGroup>
+      <GenerateRunScript>false</GenerateRunScript>
+    </PropertyGroup>
+    <MSBuild Projects="cs_template.proj" Properties="AssemblyName1=%(AllSourceFiles.FileName);AllowUnsafeBlocks=True;IntermediateOutputPath=$(IntermediateOutputPath)\%(AllSourceFiles.FileName)\" />
+  </Target>
+</Project>
diff --git a/tests/src/JIT/jit64/gc/misc/packages.config b/tests/src/JIT/jit64/gc/misc/packages.config
new file mode 100644 (file)
index 0000000..06d3d11
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+    <package id="System.Console" version="4.0.0-beta-22405" />
+    <package id="System.Runtime" version="4.0.20-beta-22405" />
+    <package id="System.Runtime.Extensions" version="4.0.10-beta-22412" />
+</packages>
diff --git a/tests/src/JIT/jit64/gc/misc/ret_struct_test1.cs b/tests/src/JIT/jit64/gc/misc/ret_struct_test1.cs
new file mode 100644 (file)
index 0000000..e978e18
--- /dev/null
@@ -0,0 +1,43 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct MyValueClass
+{
+    public string S1;
+    public int i2;
+    public string S3;
+    public string S4;
+};
+
+class T
+{
+    public static int Main()
+    {
+        MyValueClass mvc = foo();
+
+        Console.WriteLine(mvc.S1);
+        Console.WriteLine(mvc.i2);
+        Console.WriteLine(mvc.S3);
+        Console.WriteLine(mvc.S4);
+        if (mvc.S1 != "Hello") return -1;
+        if (mvc.S3 != "this") return -1;
+        if (mvc.S4 != "works!") return -1;
+        if (mvc.i2 != 7) return -1;
+        return 100;
+    }
+
+    public static MyValueClass foo()
+    {
+        MyValueClass mvcRetVal = new MyValueClass();
+
+        mvcRetVal.S1 = "Hello";
+        mvcRetVal.S3 = "this";
+        mvcRetVal.S4 = "works!";
+        mvcRetVal.i2 = 7;
+
+        return mvcRetVal;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/ret_struct_test4.cs b/tests/src/JIT/jit64/gc/misc/ret_struct_test4.cs
new file mode 100644 (file)
index 0000000..4432b76
--- /dev/null
@@ -0,0 +1,53 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct MyValueClass
+{
+    public string S1;
+    public int i2;
+    public string S3;
+    public string S4;
+    public int i5;
+    public int i6;
+};
+
+class T
+{
+    public static int Main()
+    {
+        MyValueClass mvc = foo();
+
+        Console.WriteLine(mvc.S1);
+        Console.WriteLine(mvc.i2);
+        Console.WriteLine(mvc.S3);
+        Console.WriteLine(mvc.S4);
+        Console.WriteLine(mvc.i5);
+        Console.WriteLine(mvc.i6);
+
+        if (mvc.S1 != "Hello") return -1;
+        if (mvc.S3 != "this") return -1;
+        if (mvc.S4 != "works!") return -1;
+        if (mvc.i2 != 7) return -1;
+        if (mvc.i5 != 13) return -1;
+        if (mvc.i6 != 27) return -1;
+
+        return 100;
+    }
+
+    public static MyValueClass foo()
+    {
+        MyValueClass mvcRetVal = new MyValueClass();
+
+        mvcRetVal.S1 = "Hello";
+        mvcRetVal.S3 = "this";
+        mvcRetVal.S4 = "works!";
+        mvcRetVal.i2 = 7;
+        mvcRetVal.i5 = 13;
+        mvcRetVal.i6 = 27;
+
+        return mvcRetVal;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/simple1.cs b/tests/src/JIT/jit64/gc/misc/simple1.cs
new file mode 100644 (file)
index 0000000..1fdc384
--- /dev/null
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+    public Object O;
+}
+
+class test
+{
+    public static int Main()
+    {
+        S s = new S();
+
+        s.O = "Hello World";
+
+        S s2 = foo(s);
+
+        Console.WriteLine(s2.O);
+
+#pragma warning disable 0252
+        if (s2.O != "Goodbye World") return -1;
+        return 100;
+#pragma warning restore 0252
+
+    }
+
+    public static S foo(S s)
+    {
+        Console.WriteLine(s.O);
+
+        s.O = "Goodbye World";
+
+        return s;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct1.cs b/tests/src/JIT/jit64/gc/misc/struct1.cs
new file mode 100644 (file)
index 0000000..d0acd22
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+    public String str;
+}
+
+class Test
+{
+    public static void c(S s1)
+    {
+        GC.Collect();
+        Console.WriteLine(s1.str);
+        GC.Collect();
+    }
+
+    public static int Main()
+    {
+        S sM;
+
+        sM.str = "test";
+        c(sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct1_2.cs b/tests/src/JIT/jit64/gc/misc/struct1_2.cs
new file mode 100644 (file)
index 0000000..904b28a
--- /dev/null
@@ -0,0 +1,31 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+}
+
+class Test
+{
+    public static void c(S s1)
+    {
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM;
+
+        sM.str = "test";
+        sM.str2 = "";
+        c(sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct1_4.cs b/tests/src/JIT/jit64/gc/misc/struct1_4.cs
new file mode 100644 (file)
index 0000000..19d2503
--- /dev/null
@@ -0,0 +1,98 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1)
+    {
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct1_5.cs b/tests/src/JIT/jit64/gc/misc/struct1_5.cs
new file mode 100644 (file)
index 0000000..0811273
--- /dev/null
@@ -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.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1)
+    {
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct2.cs b/tests/src/JIT/jit64/gc/misc/struct2.cs
new file mode 100644 (file)
index 0000000..61d5fff
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+    public String str;
+}
+
+class Test
+{
+    public static void c(S s1, S s2)
+    {
+        Console.WriteLine(s1.str + s2.str);
+    }
+
+    public static int Main()
+    {
+        S sM, sM2;
+
+        sM.str = "test";
+        sM2.str = "test2";
+        c(sM, sM2);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct2_2.cs b/tests/src/JIT/jit64/gc/misc/struct2_2.cs
new file mode 100644 (file)
index 0000000..c4618a8
--- /dev/null
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+}
+
+class Test
+{
+    public static void c(S s1, S s2)
+    {
+        Console.WriteLine(s1.str + s2.str);
+    }
+
+    public static int Main()
+    {
+        S sM, sM2;
+
+        sM.str = "test";
+        sM2.str = "test2";
+        sM.str2 = "test";
+        sM2.str2 = "test2";
+        c(sM, sM2);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct2_4.cs b/tests/src/JIT/jit64/gc/misc/struct2_4.cs
new file mode 100644 (file)
index 0000000..a2de756
--- /dev/null
@@ -0,0 +1,99 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, S s2)
+    {
+        Console.WriteLine(s1.str + s2.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+
+        c(sM, sM2);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct2_5.cs b/tests/src/JIT/jit64/gc/misc/struct2_5.cs
new file mode 100644 (file)
index 0000000..d613c24
--- /dev/null
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, S s2)
+    {
+        Console.WriteLine(s1.str + s2.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+
+        c(sM, sM2);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct2_5_2.cs b/tests/src/JIT/jit64/gc/misc/struct2_5_2.cs
new file mode 100644 (file)
index 0000000..a37d28d
--- /dev/null
@@ -0,0 +1,155 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+struct T
+{
+    public long l1;
+#pragma warning disable 0414
+    public long l2;
+#pragma warning restore 0414
+    public Pad pad;
+
+    public T(long l)
+    {
+        l1 = l;
+        l2 = l + 1;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, S s2)
+    {
+        Console.WriteLine(s1.str + s2.str);
+    }
+
+    public static void d(T t1, T t2)
+    {
+        Console.WriteLine(t1.l1 + t2.l1);
+    }
+
+    public static int Main()
+    {
+        T t = new T(0);
+        S sM = new S("test");
+        S sM2 = new S("test2");
+
+        c(sM, sM2);
+        d(t, t);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct3.cs b/tests/src/JIT/jit64/gc/misc/struct3.cs
new file mode 100644 (file)
index 0000000..26e07a3
--- /dev/null
@@ -0,0 +1,27 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+    public String str;
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str);
+    }
+
+    public static int Main()
+    {
+        S sM;
+
+        sM.str = "test";
+        c(sM, sM, sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct3_2.cs b/tests/src/JIT/jit64/gc/misc/struct3_2.cs
new file mode 100644 (file)
index 0000000..f654969
--- /dev/null
@@ -0,0 +1,31 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str);
+    }
+
+    public static int Main()
+    {
+        S sM;
+
+        sM.str = "test";
+        sM.str2 = "";
+        c(sM, sM, sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct3_4.cs b/tests/src/JIT/jit64/gc/misc/struct3_4.cs
new file mode 100644 (file)
index 0000000..752ccfa
--- /dev/null
@@ -0,0 +1,98 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(sM, sM, sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct3_5.cs b/tests/src/JIT/jit64/gc/misc/struct3_5.cs
new file mode 100644 (file)
index 0000000..7967b9a
--- /dev/null
@@ -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.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(sM, sM, sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct4.cs b/tests/src/JIT/jit64/gc/misc/struct4.cs
new file mode 100644 (file)
index 0000000..bf829c3
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+    public String str;
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str);
+    }
+
+    public static int Main()
+    {
+        S sM, sM2, sM3;
+
+        sM.str = "test";
+        sM2.str = "test2";
+        sM3.str = "test3";
+        c(sM, sM2, sM3);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct4_2.cs b/tests/src/JIT/jit64/gc/misc/struct4_2.cs
new file mode 100644 (file)
index 0000000..01686bd
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str);
+    }
+
+    public static int Main()
+    {
+        S sM, sM2, sM3;
+
+        sM.str = "test";
+        sM2.str = "test2";
+        sM3.str = "test3";
+        sM.str2 = "";
+        sM2.str2 = "";
+        sM3.str2 = "";
+        c(sM, sM2, sM3);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct4_4.cs b/tests/src/JIT/jit64/gc/misc/struct4_4.cs
new file mode 100644 (file)
index 0000000..49dbded
--- /dev/null
@@ -0,0 +1,100 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+
+        c(sM, sM2, sM3);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct4_5.cs b/tests/src/JIT/jit64/gc/misc/struct4_5.cs
new file mode 100644 (file)
index 0000000..be376c7
--- /dev/null
@@ -0,0 +1,104 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+
+        c(sM, sM2, sM3);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct5.cs b/tests/src/JIT/jit64/gc/misc/struct5.cs
new file mode 100644 (file)
index 0000000..37d8ba4
--- /dev/null
@@ -0,0 +1,30 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+    public String str;
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3, S s4)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str + s4.str);
+    }
+
+    public static int Main()
+    {
+        S sM, sM2, sM3, sM4;
+
+        sM.str = "test";
+        sM2.str = "test2";
+        sM3.str = "test3";
+        sM4.str = "test4";
+        c(sM, sM2, sM3, sM4);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct5_2.cs b/tests/src/JIT/jit64/gc/misc/struct5_2.cs
new file mode 100644 (file)
index 0000000..1de2b2b
--- /dev/null
@@ -0,0 +1,37 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3, S s4)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str + s4.str);
+    }
+
+    public static int Main()
+    {
+        S sM, sM2, sM3, sM4;
+
+        sM.str = "test";
+        sM2.str = "test2";
+        sM3.str = "test3";
+        sM4.str = "test4";
+        sM.str2 = "";
+        sM2.str2 = "";
+        sM3.str2 = "";
+        sM4.str2 = "";
+        c(sM, sM2, sM3, sM4);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct5_4.cs b/tests/src/JIT/jit64/gc/misc/struct5_4.cs
new file mode 100644 (file)
index 0000000..03ad871
--- /dev/null
@@ -0,0 +1,101 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3, S s4)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str + s4.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+
+        c(sM, sM2, sM3, sM4);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct5_5.cs b/tests/src/JIT/jit64/gc/misc/struct5_5.cs
new file mode 100644 (file)
index 0000000..d9980f4
--- /dev/null
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3, S s4)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str + s4.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+
+        c(sM, sM2, sM3, sM4);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct6.cs b/tests/src/JIT/jit64/gc/misc/struct6.cs
new file mode 100644 (file)
index 0000000..f6ba8d1
--- /dev/null
@@ -0,0 +1,31 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+    public String str;
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3, S s4, S s5)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str + s4.str + s5.str);
+    }
+
+    public static int Main()
+    {
+        S sM1, sM2, sM3, sM4, sM5;
+
+        sM1.str = "test";
+        sM2.str = "test2";
+        sM3.str = "test3";
+        sM4.str = "test4";
+        sM5.str = "test5";
+        c(sM1, sM2, sM3, sM4, sM5);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct6_2.cs b/tests/src/JIT/jit64/gc/misc/struct6_2.cs
new file mode 100644 (file)
index 0000000..00e4bae
--- /dev/null
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3, S s4, S s5)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str + s4.str + s5.str);
+    }
+
+    public static int Main()
+    {
+        S sM1, sM2, sM3, sM4, sM5;
+
+        sM1.str = "test";
+        sM2.str = "test2";
+        sM3.str = "test3";
+        sM4.str = "test4";
+        sM5.str = "test5";
+        sM1.str2 = "";
+        sM2.str2 = "";
+        sM3.str2 = "";
+        sM4.str2 = "";
+        sM5.str2 = "";
+        c(sM1, sM2, sM3, sM4, sM5);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct6_4.cs b/tests/src/JIT/jit64/gc/misc/struct6_4.cs
new file mode 100644 (file)
index 0000000..bb5ec4f
--- /dev/null
@@ -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.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3, S s4, S s5)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str + s4.str + s5.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+        S sM5 = new S("test5");
+
+        c(sM, sM2, sM3, sM4, sM5);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct6_5.cs b/tests/src/JIT/jit64/gc/misc/struct6_5.cs
new file mode 100644 (file)
index 0000000..577c911
--- /dev/null
@@ -0,0 +1,152 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+#pragma warning disable 0414
+    public Pad pad;
+    public Pad pad2;
+    public Pad pad3;
+    public Pad pad4;
+    public Pad pad5;
+    public String str2;
+#pragma warning restore 0414
+
+    Pad initPad()
+    {
+        Pad p;
+
+        p.d1 =
+        p.d2 =
+        p.d3 =
+        p.d4 =
+        p.d5 =
+        p.d6 =
+        p.d7 =
+        p.d8 =
+        p.d9 =
+        p.d10 =
+        p.d11 =
+        p.d12 =
+        p.d13 =
+        p.d14 =
+        p.d15 =
+        p.d16 =
+        p.d17 =
+        p.d18 =
+        p.d19 =
+        p.d20 =
+        p.d21 =
+        p.d22 =
+        p.d23 =
+        p.d24 =
+        p.d25 =
+        p.d26 =
+        p.d27 =
+        p.d28 =
+        p.d29 =
+        p.d30 = 3.3;
+
+        return p;
+    }
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+
+        //pad = initPad();
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+
+        pad5 = pad4 = pad3 = pad2 = pad;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3, S s4, S s5)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str + s4.str + s5.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+        S sM5 = new S("test5");
+
+        c(sM, sM2, sM3, sM4, sM5);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct7_1.cs b/tests/src/JIT/jit64/gc/misc/struct7_1.cs
new file mode 100644 (file)
index 0000000..764f25c
--- /dev/null
@@ -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.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public String str;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+#pragma warning disable 0414
+    public Pad pad;
+    public Pad pad2;
+    public Pad pad3;
+    public Pad pad4;
+    public Pad pad5;
+    public Pad pad6;
+    public Pad pad7;
+    public Pad pad8;
+    public Pad pad9;
+    public Pad pad10;
+    public Pad pad11;
+    public Pad pad12;
+    public Pad pad13;
+    public Pad pad14;
+    public Pad pad15;
+    public Pad pad16;
+    public Pad pad17;
+    public Pad pad18;
+    public String str2;
+
+#pragma warning restore 0414
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d30 = 3.3;
+        pad.str = "pad dot str";
+
+        pad18 = pad17 = pad16 = pad15 = pad14 = pad13 = pad12 = pad11 = pad10 =
+        pad9 = pad8 = pad7 = pad6 = pad5 = pad4 = pad3 = pad2 = pad;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, S s2, S s3, S s4, S s5)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str + s4.str + s5.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+        S sM5 = new S("test5");
+
+        c(sM, sM2, sM3, sM4, sM5);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct8.cs b/tests/src/JIT/jit64/gc/misc/struct8.cs
new file mode 100644 (file)
index 0000000..4ee9027
--- /dev/null
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+    public String str;
+}
+
+class Test
+{
+    public static void c(ref S s1, ref int i)
+    {
+        if (i < 10)
+        {
+            i++;
+            c(ref s1, ref i);
+        }
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM;
+        int i = 0;
+
+        sM.str = "test";
+        c(ref sM, ref i);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct9.cs b/tests/src/JIT/jit64/gc/misc/struct9.cs
new file mode 100644 (file)
index 0000000..0fb83fc
--- /dev/null
@@ -0,0 +1,37 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+    public String str;
+}
+
+class Test
+{
+    public static void c(ref S s1, ref int i)
+    {
+        if (i < 10)
+        {
+            S sM;
+            int i2;
+
+            sM = s1;
+            i2 = i + 1;
+            c(ref sM, ref i2);
+        }
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM;
+        int i = 0;
+
+        sM.str = "test";
+        c(ref sM, ref i);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/struct9_2.cs b/tests/src/JIT/jit64/gc/misc/struct9_2.cs
new file mode 100644 (file)
index 0000000..600976e
--- /dev/null
@@ -0,0 +1,113 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(ref S s1, ref int i)
+    {
+        if (i < 10)
+        {
+            S sM = new S("test");
+            int i2;
+
+            sM = s1;
+            i2 = i + 1;
+            c(ref sM, ref i2);
+        }
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        int i = 0;
+
+        sM.str = "test";
+        c(ref sM, ref i);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp1_1.cs b/tests/src/JIT/jit64/gc/misc/structfp1_1.cs
new file mode 100644 (file)
index 0000000..f650dc3
--- /dev/null
@@ -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.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, float f)
+    {
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(sM, 1);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp1_2.cs b/tests/src/JIT/jit64/gc/misc/structfp1_2.cs
new file mode 100644 (file)
index 0000000..4101d5c
--- /dev/null
@@ -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.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(float f1, S s1, float f2)
+    {
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(1, sM, 1);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp1_3.cs b/tests/src/JIT/jit64/gc/misc/structfp1_3.cs
new file mode 100644 (file)
index 0000000..f67ea6a
--- /dev/null
@@ -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.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(float f1, float f2, float f3, float f4, S s1)
+    {
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(1, 2, 3, 4, sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp1_4.cs b/tests/src/JIT/jit64/gc/misc/structfp1_4.cs
new file mode 100644 (file)
index 0000000..566dd71
--- /dev/null
@@ -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.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(float f1, float f2, float f3, float f4, float f5, S s1)
+    {
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(1, 2, 3, 4, 5, sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp1_5.cs b/tests/src/JIT/jit64/gc/misc/structfp1_5.cs
new file mode 100644 (file)
index 0000000..46bf3fa
--- /dev/null
@@ -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.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(float a1, int a2, float a3, float a4, float a5, S s1)
+    {
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(1, 2, 3, 4, 5, sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp1_6.cs b/tests/src/JIT/jit64/gc/misc/structfp1_6.cs
new file mode 100644 (file)
index 0000000..7075860
--- /dev/null
@@ -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.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(float a1, S s1, float a3, float a4, float a5)
+    {
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(1, sM, 2, 3, 4);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp2_1.cs b/tests/src/JIT/jit64/gc/misc/structfp2_1.cs
new file mode 100644 (file)
index 0000000..dd0b043
--- /dev/null
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(S s1, float f, S s2)
+    {
+        Console.WriteLine(s1.str + s2.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+
+        c(sM, 1, sM2);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp2_2.cs b/tests/src/JIT/jit64/gc/misc/structfp2_2.cs
new file mode 100644 (file)
index 0000000..3566cbd
--- /dev/null
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(float a1, float a2, float a3, S s1, S s2)
+    {
+        Console.WriteLine(s1.str + s2.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+
+        c(1, 2, 3, sM, sM2);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp2_3.cs b/tests/src/JIT/jit64/gc/misc/structfp2_3.cs
new file mode 100644 (file)
index 0000000..a631a30
--- /dev/null
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(float a1, short a2, long a3, double a4, S s1, S s2)
+    {
+        Console.WriteLine(s1.str + s2.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+
+        c(1, 2, 3, 4, sM, sM2);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp2_4.cs b/tests/src/JIT/jit64/gc/misc/structfp2_4.cs
new file mode 100644 (file)
index 0000000..513fa0e
--- /dev/null
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(double a1, double a2, float a3, double a4, S s1, S s2)
+    {
+        Console.WriteLine(s1.str + s2.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+
+        c(1, 2, 3, 4, sM, sM2);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp3_1.cs b/tests/src/JIT/jit64/gc/misc/structfp3_1.cs
new file mode 100644 (file)
index 0000000..946c759
--- /dev/null
@@ -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.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+
+class Test
+{
+    public static void c(S s1, float a1, S s2, double a2, S s3)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(sM, 1, sM, 2, sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp4_1.cs b/tests/src/JIT/jit64/gc/misc/structfp4_1.cs
new file mode 100644 (file)
index 0000000..fb1a355
--- /dev/null
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+
+class Test
+{
+    public static void c(float a1, double a2, int a3, S s1, S s2, S s3)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+
+        c(1, 2, 3, sM, sM2, sM3);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp5_1.cs b/tests/src/JIT/jit64/gc/misc/structfp5_1.cs
new file mode 100644 (file)
index 0000000..5712546
--- /dev/null
@@ -0,0 +1,106 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+
+class Test
+{
+    public static void c(int a1, float a2, double a3, S s1, S s2, S s3, S s4, double a4)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str + s4.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+
+        c(1, 2, 3, sM, sM2, sM3, sM4, 4);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfp6_1.cs b/tests/src/JIT/jit64/gc/misc/structfp6_1.cs
new file mode 100644 (file)
index 0000000..15909d8
--- /dev/null
@@ -0,0 +1,108 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+
+class Test
+{
+    public static void c(S s1, float a1, S s2, double a2, S s3, S s4, S s5)
+    {
+        Console.WriteLine(s1.str + s2.str + s3.str + s4.str + s5.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+        S sM5 = new S("test5");
+
+        c(sM, 1, sM2, 2, sM3, sM4, sM5);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfpseh5_1.cs b/tests/src/JIT/jit64/gc/misc/structfpseh5_1.cs
new file mode 100644 (file)
index 0000000..1a0806f
--- /dev/null
@@ -0,0 +1,121 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static unsafe void c(int a1, float a2, double a3, S s1, S s2, S s3, S s4, double a4)
+    {
+        int* t = stackalloc int[1];
+
+        try
+        {
+            Console.WriteLine("t:");
+        }
+        finally
+        {
+            Console.WriteLine(s1.str + s2.str + s3.str + s4.str);
+        }
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+
+        try
+        {
+            throw new System.Exception();
+        }
+        catch
+        {
+            c(1, 2, 3, sM, sM2, sM3, sM4, 4);
+        }
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structfpseh6_1.cs b/tests/src/JIT/jit64/gc/misc/structfpseh6_1.cs
new file mode 100644 (file)
index 0000000..f259e5e
--- /dev/null
@@ -0,0 +1,122 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static unsafe void c(S s1, float a1, S s2, double a2, S s3, S s4, S s5)
+    {
+        int* t = stackalloc int[1];
+        try
+        {
+            Console.WriteLine("t:");
+        }
+        finally
+        {
+            Console.WriteLine(s1.str + s2.str + s3.str + s4.str + s5.str, a1, a2);
+        }
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+        S sM5 = new S("test5");
+
+        try
+        {
+            throw new System.Exception();
+        }
+        catch
+        {
+            c(sM, 1, sM2, 2, sM3, sM4, sM5);
+        }
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structref1_1.cs b/tests/src/JIT/jit64/gc/misc/structref1_1.cs
new file mode 100644 (file)
index 0000000..78a94a1
--- /dev/null
@@ -0,0 +1,101 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s){
+        str = s;
+        str2 = s + str;
+        pad.d1 = 
+        pad.d2 = 
+        pad.d3 = 
+        pad.d4 = 
+        pad.d5 = 
+        pad.d6 = 
+        pad.d7 = 
+        pad.d8 = 
+        pad.d9 = 
+        pad.d10 =
+        pad.d11 = 
+        pad.d12 = 
+        pad.d13 = 
+        pad.d14 = 
+        pad.d15 = 
+        pad.d16 = 
+        pad.d17 = 
+        pad.d18 = 
+        pad.d19 =
+        pad.d20 = 
+        pad.d21 = 
+        pad.d22 = 
+        pad.d23 = 
+        pad.d24 = 
+        pad.d25 = 
+        pad.d26 = 
+        pad.d27 = 
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(ref S s1)
+    {
+        Console.WriteLine(s1.str);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(ref sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret1_1.cs b/tests/src/JIT/jit64/gc/misc/structret1_1.cs
new file mode 100644 (file)
index 0000000..c08bedf
--- /dev/null
@@ -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.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1)
+    {
+        return (s1);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        Console.WriteLine(c(sM));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret1_2.cs b/tests/src/JIT/jit64/gc/misc/structret1_2.cs
new file mode 100644 (file)
index 0000000..a56faae
--- /dev/null
@@ -0,0 +1,104 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1)
+    {
+        S r;
+        r = s1;
+        return (r);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        Console.WriteLine(c(sM));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret1_3.cs b/tests/src/JIT/jit64/gc/misc/structret1_3.cs
new file mode 100644 (file)
index 0000000..697b0c3
--- /dev/null
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1)
+    {
+        S r;
+        r = s1;
+        r.str = s1.str + " extra stuff";
+        return (r);
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        Console.WriteLine(c(sM));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret2_1.cs b/tests/src/JIT/jit64/gc/misc/structret2_1.cs
new file mode 100644 (file)
index 0000000..73e27fb
--- /dev/null
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2)
+    {
+        s1.str = (s1.str + s2.str);
+        return s1;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+
+        Console.WriteLine(c(sM, sM2));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret2_2.cs b/tests/src/JIT/jit64/gc/misc/structret2_2.cs
new file mode 100644 (file)
index 0000000..18ee403
--- /dev/null
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2)
+    {
+        S r;
+        s1.str = (s1.str + s2.str);
+        r = s1;
+        return r;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+
+        Console.WriteLine(c(sM, sM2));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret2_3.cs b/tests/src/JIT/jit64/gc/misc/structret2_3.cs
new file mode 100644 (file)
index 0000000..b28f304
--- /dev/null
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+
+class Test
+{
+    public static S c(S s1, S s2)
+    {
+        S r;
+        r = s1;
+        r.str = (s1.str + s2.str);
+        return r;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+
+        Console.WriteLine(c(sM, sM2));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret3_1.cs b/tests/src/JIT/jit64/gc/misc/structret3_1.cs
new file mode 100644 (file)
index 0000000..af072b3
--- /dev/null
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2, S s3)
+    {
+        s1.str = (s1.str + s2.str + s3.str);
+        return s1;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        Console.WriteLine(c(sM, sM, sM));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret3_2.cs b/tests/src/JIT/jit64/gc/misc/structret3_2.cs
new file mode 100644 (file)
index 0000000..f7e2c7c
--- /dev/null
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2, S s3)
+    {
+        S r;
+        s1.str = (s1.str + s2.str + s3.str);
+        r = s1;
+        return r;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        Console.WriteLine(c(sM, sM, sM));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret3_3.cs b/tests/src/JIT/jit64/gc/misc/structret3_3.cs
new file mode 100644 (file)
index 0000000..24f3ab3
--- /dev/null
@@ -0,0 +1,104 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2, S s3)
+    {
+        S r;
+        r = s1;
+        r.str = (s1.str + s2.str + s3.str);
+        return r;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        Console.WriteLine(c(sM, sM, sM));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret4_1.cs b/tests/src/JIT/jit64/gc/misc/structret4_1.cs
new file mode 100644 (file)
index 0000000..a4285ae
--- /dev/null
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+
+}
+
+struct S
+{
+
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2, S s3)
+    {
+        s1.str = (s1.str + s2.str + s3.str);
+        return s1;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+
+        Console.WriteLine(c(sM, sM2, sM3));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret4_2.cs b/tests/src/JIT/jit64/gc/misc/structret4_2.cs
new file mode 100644 (file)
index 0000000..2bbb0a5
--- /dev/null
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2, S s3)
+    {
+        S r;
+        s1.str = (s1.str + s2.str + s3.str);
+        r = s1;
+        return r;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+
+        Console.WriteLine(c(sM, sM2, sM3));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret4_3.cs b/tests/src/JIT/jit64/gc/misc/structret4_3.cs
new file mode 100644 (file)
index 0000000..d52f754
--- /dev/null
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2, S s3)
+    {
+        S r;
+        r = s1;
+        r.str = (s1.str + s2.str + s3.str);
+        return r;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+
+        Console.WriteLine(c(sM, sM2, sM3));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret5_1.cs b/tests/src/JIT/jit64/gc/misc/structret5_1.cs
new file mode 100644 (file)
index 0000000..8e8767f
--- /dev/null
@@ -0,0 +1,106 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2, S s3, S s4)
+    {
+        s1.str = s1.str + s2.str + s3.str + s4.str;
+        return s1;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+
+        Console.WriteLine(c(sM, sM2, sM3, sM4));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret5_2.cs b/tests/src/JIT/jit64/gc/misc/structret5_2.cs
new file mode 100644 (file)
index 0000000..faf2c8b
--- /dev/null
@@ -0,0 +1,108 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2, S s3, S s4)
+    {
+        S r;
+        s1.str = s1.str + s2.str + s3.str + s4.str;
+        r = s1;
+        return r;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+
+        Console.WriteLine(c(sM, sM2, sM3, sM4));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret5_3.cs b/tests/src/JIT/jit64/gc/misc/structret5_3.cs
new file mode 100644 (file)
index 0000000..0a51d30
--- /dev/null
@@ -0,0 +1,108 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2, S s3, S s4)
+    {
+        S r;
+        r = s1;
+        r.str = s1.str + s2.str + s3.str + s4.str;
+        return r;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+
+        Console.WriteLine(c(sM, sM2, sM3, sM4));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret6_1.cs b/tests/src/JIT/jit64/gc/misc/structret6_1.cs
new file mode 100644 (file)
index 0000000..f91cd8e
--- /dev/null
@@ -0,0 +1,108 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2, S s3, S s4, S s5)
+    {
+        s1.str = s1.str + s2.str + s3.str + s4.str + s5.str;
+        return s1;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+        S sM5 = new S("test5");
+
+        Console.WriteLine(c(sM, sM2, sM3, sM4, sM5));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret6_2.cs b/tests/src/JIT/jit64/gc/misc/structret6_2.cs
new file mode 100644 (file)
index 0000000..3be2284
--- /dev/null
@@ -0,0 +1,109 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2, S s3, S s4, S s5)
+    {
+        S r;
+        s1.str = s1.str + s2.str + s3.str + s4.str + s5.str;
+        r = s1;
+        return r;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+        S sM5 = new S("test5");
+
+        Console.WriteLine(c(sM, sM2, sM3, sM4, sM5));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structret6_3.cs b/tests/src/JIT/jit64/gc/misc/structret6_3.cs
new file mode 100644 (file)
index 0000000..32ece75
--- /dev/null
@@ -0,0 +1,110 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+
+}
+
+struct S
+{
+    public String str;
+    public Pad pad;
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static S c(S s1, S s2, S s3, S s4, S s5)
+    {
+        S r;
+        r = s1;
+        r.str = s1.str + s2.str + s3.str + s4.str + s5.str;
+        return r;
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+        S sM2 = new S("test2");
+        S sM3 = new S("test3");
+        S sM4 = new S("test4");
+        S sM5 = new S("test5");
+
+        Console.WriteLine(c(sM, sM2, sM3, sM4, sM5));
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/structva1_1.cs b/tests/src/JIT/jit64/gc/misc/structva1_1.cs
new file mode 100644 (file)
index 0000000..c8d73a9
--- /dev/null
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct Pad
+{
+#pragma warning disable 0414
+    public double d1;
+    public double d2;
+    public double d3;
+    public double d4;
+    public double d5;
+    public double d6;
+    public double d7;
+    public double d8;
+    public double d9;
+    public double d10;
+    public double d11;
+    public double d12;
+    public double d13;
+    public double d14;
+    public double d15;
+    public double d16;
+    public double d17;
+    public double d18;
+    public double d19;
+    public double d20;
+    public double d21;
+    public double d22;
+    public double d23;
+    public double d24;
+    public double d25;
+    public double d26;
+    public double d27;
+    public double d28;
+    public double d29;
+    public double d30;
+#pragma warning restore 0414
+}
+
+struct S
+{
+#pragma warning disable 0414
+    public String str2;
+#pragma warning restore 0414
+    public String str;
+    public Pad pad;
+
+    public S(String s)
+    {
+        str = s;
+        str2 = s + str;
+        pad.d1 =
+        pad.d2 =
+        pad.d3 =
+        pad.d4 =
+        pad.d5 =
+        pad.d6 =
+        pad.d7 =
+        pad.d8 =
+        pad.d9 =
+        pad.d10 =
+        pad.d11 =
+        pad.d12 =
+        pad.d13 =
+        pad.d14 =
+        pad.d15 =
+        pad.d16 =
+        pad.d17 =
+        pad.d18 =
+        pad.d19 =
+        pad.d20 =
+        pad.d21 =
+        pad.d22 =
+        pad.d23 =
+        pad.d24 =
+        pad.d25 =
+        pad.d26 =
+        pad.d27 =
+        pad.d28 =
+        pad.d29 =
+        pad.d30 = 3.3;
+    }
+}
+
+class Test
+{
+    public static void c(params object[] pp)
+    {
+        for (int i = 0; i < pp.GetLength(0); i++)
+        {
+            Console.WriteLine(((S)pp[i]).str);
+        }
+    }
+
+    public static int Main()
+    {
+        S sM = new S("test");
+
+        c(sM);
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/test1.cs b/tests/src/JIT/jit64/gc/misc/test1.cs
new file mode 100644 (file)
index 0000000..42c3e43
--- /dev/null
@@ -0,0 +1,56 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+    public Object O1;
+    public Object O2;
+}
+
+class C
+{
+#pragma warning disable 0649
+    public int i;
+#pragma warning restore 0649
+    public S s1;
+
+    public C()
+    {
+        s1.O1 = "Hello";
+        s1.O2 = "World";
+    }
+}
+
+class Test
+{
+    public static int Main()
+    {
+        test1();
+        test2();
+        return (100);
+    }
+
+    public static void test1()
+    {
+        C c = new C();
+
+        foo(c.s1);
+    }
+
+    public static void test2()
+    {
+        C c = new C();
+        S s = c.s1;
+
+        foo(s);
+    }
+
+    public static void foo(S s)
+    {
+        Console.WriteLine(s.O1);
+        Console.WriteLine(s.O2);
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/test2.cs b/tests/src/JIT/jit64/gc/misc/test2.cs
new file mode 100644 (file)
index 0000000..1a79245
--- /dev/null
@@ -0,0 +1,62 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+    public Object O1;
+    public Object O2;
+    public Object O3;
+    public Object O4;
+}
+
+class C
+{
+#pragma warning disable 0649
+    public int i;
+#pragma warning restore 0649
+    public S s1;
+
+    public C()
+    {
+        s1.O1 = "Hello";
+        s1.O2 = "World";
+        s1.O3 = "Have";
+        s1.O4 = "Fun";
+    }
+}
+
+class Test
+{
+    public static int Main()
+    {
+        test1();
+        test2();
+        return (100);
+    }
+
+    public static void test1()
+    {
+        C c = new C();
+
+        foo(c.s1);
+    }
+
+    public static void test2()
+    {
+        C c = new C();
+        S s = c.s1;
+
+        foo(s);
+    }
+
+    public static void foo(S s)
+    {
+        Console.WriteLine(s.O1);
+        Console.WriteLine(s.O2);
+        Console.WriteLine(s.O3);
+        Console.WriteLine(s.O4);
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/test3.cs b/tests/src/JIT/jit64/gc/misc/test3.cs
new file mode 100644 (file)
index 0000000..d5fb0b7
--- /dev/null
@@ -0,0 +1,58 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+struct S
+{
+    public Object O1;
+    public Object O2;
+    public Object O3;
+    public Object O4;
+    public Object O5;
+    public Object O6;
+    public Object O7;
+    public Object O8;
+    public Object O9;
+    public Object O10;
+    public Object O11;
+}
+
+class Test
+{
+    public static int Main()
+    {
+        S s = new S();
+
+        s.O1 = "Hello";
+        s.O2 = "World";
+        s.O3 = "obj3";
+        s.O4 = "obj4";
+        s.O5 = "obj5";
+        s.O6 = "obj6";
+        s.O7 = "obj7";
+        s.O8 = "obj8";
+        s.O9 = "obj9";
+        s.O10 = "obj10";
+        s.O11 = "obj11";
+
+        test(s);
+        return (100);
+    }
+
+    public static void test(S s)
+    {
+        Console.WriteLine(s.O1);
+        Console.WriteLine(s.O2);
+        Console.WriteLine(s.O3);
+        Console.WriteLine(s.O4);
+        Console.WriteLine(s.O5);
+        Console.WriteLine(s.O6);
+        Console.WriteLine(s.O7);
+        Console.WriteLine(s.O8);
+        Console.WriteLine(s.O9);
+        Console.WriteLine(s.O10);
+        Console.WriteLine(s.O11);
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/test_noalloca.cs b/tests/src/JIT/jit64/gc/misc/test_noalloca.cs
new file mode 100644 (file)
index 0000000..9afeeac
--- /dev/null
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+class Test
+{
+#pragma warning disable 0414
+    static int x = 25;
+#pragma warning restore 0414
+
+    public static int Main()
+    {
+        String s1 = "a";
+        String s2 = "b";
+        String s3 = "c";
+        String s4 = "d";
+        String s5 = "e";
+        String s6 = "f";
+        String s7 = "g";
+        String s8 = "h";
+        String s9 = "i";
+        String s10 = "j";
+
+        foo(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10);
+
+        //             int * px = stackalloc int[x];
+
+        foo(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10);
+        return (100);
+    }
+
+    public static void foo(String s1, String s2, String s3, String s4, String s5, String s6, String s7, String s8, String s9, String s10)
+    {
+        Console.WriteLine(s10);
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/misc/vbil.cs b/tests/src/JIT/jit64/gc/misc/vbil.cs
new file mode 100644 (file)
index 0000000..30d8837
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+class C
+{
+    public int x = 5;
+    public int y = 7;
+}
+
+class T
+{
+    public static bool GLOBAL = true;
+
+    public static int Main()
+    {
+        C c = new C();
+
+        if (GLOBAL)
+        {
+            System.Console.WriteLine(c.x);
+        }
+        else
+        {
+            System.Console.WriteLine(c.y);
+        }
+        return 100;
+    }
+}
diff --git a/tests/src/JIT/jit64/gc/regress/vswhidbey/143837.cs b/tests/src/JIT/jit64/gc/regress/vswhidbey/143837.cs
new file mode 100644 (file)
index 0000000..b215eda
--- /dev/null
@@ -0,0 +1,131 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+using System;
+
+public class Test
+{
+    public static TestClass static_TestClass;
+    public static DerivedClass static_DerivedClass;
+
+    public static int Main()
+    {
+        if (Test1() != 100) return 1;
+
+        if (Test2() != 100) return 1;
+
+        Console.WriteLine("Pass");
+        return 100;
+    }
+
+    public static int Test1()
+    {
+        try
+        {
+            // trying to load a field on an static object
+            static_TestClass.strField = "Test";
+        }
+        catch (NullReferenceException e)
+        {
+            Console.WriteLine("caught expected exception " + e.GetType());
+            // trying to load a property on an static object
+            try
+            {
+                Console.WriteLine(static_TestClass.strProperty);
+            }
+            catch (NullReferenceException e1)
+            {
+                Console.WriteLine("caught expected exception " + e1.GetType());
+                try
+                {
+                    static_TestClass.strProperty = "abcd";
+                }
+                catch (NullReferenceException e2)
+                {
+                    Console.WriteLine("caught expected exception " + e2.GetType());
+                    return 100;
+                }
+            }
+        }
+        Console.WriteLine("Error");
+        return -1;
+    }
+
+    public static int Test2()
+    {
+        try
+        {
+            // trying to load a field on an static object
+            static_DerivedClass.strField = "Test";
+        }
+        catch (NullReferenceException e)
+        {
+            Console.WriteLine("caught expected exception " + e.GetType());
+
+            // trying to load a property on an static object
+            try
+            {
+                Console.WriteLine(static_DerivedClass.strProperty);
+            }
+            catch (NullReferenceException e1)
+            {
+                Console.WriteLine("caught expected exception " + e1.GetType());
+                try
+                {
+                    static_DerivedClass.strProperty = "abcd";
+                }
+                catch (NullReferenceException e2)
+                {
+                    Console.WriteLine("caught expected exception " + e2.GetType());
+                    return 100;
+                }
+            }
+        }
+        Console.WriteLine("Error");
+        return -1;
+    }
+};
+
+public class TestClass
+{
+    public string strField;
+    public TestClass()
+    {
+    }
+    public TestClass(String strIn)
+    {
+        strField = strIn;
+    }
+    public virtual string strProperty
+    {
+        get
+        {
+            return strField;
+        }
+        set
+        {
+            strField = value;
+        }
+    }
+}
+
+public class DerivedClass : TestClass
+{
+    public DerivedClass()
+    {
+    }
+    public override string strProperty
+    {
+        get
+        {
+            return strField;
+        }
+        set
+        {
+            strField = value;
+        }
+    }
+}
+
+
diff --git a/tests/src/JIT/jit64/gc/regress/vswhidbey/339415.cs b/tests/src/JIT/jit64/gc/regress/vswhidbey/339415.cs
new file mode 100644 (file)
index 0000000..5f66208
--- /dev/null
@@ -0,0 +1,938 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+// Basically, the problem is FP relative stack reporting + GC pointer passed on the stack. GC offsets
+// are normally reported relative to PSP which is valid during prolog. When there is EH we report 
+// stack offsets relative to FP. This is causing problems. This is likely due to the fact that we 
+// haven't yet set up the frame pointer register.
+
+class TEST
+{
+
+    public static int Main()
+    {
+        object o = "test";
+
+        f0(o);
+        f1(0, o);
+        f2(0, 1, o);
+        f3(0, 1, 2, o);
+        f4(0, 1, 2, 3, o);
+        f5(0, 1, 2, 3, 4, o);
+        f6(0, 1, 2, 3, 4, 5, o);
+        f7(0, 1, 2, 3, 4, 5, 6, o);
+        f8(0, 1, 2, 3, 4, 5, 6, 7, o);
+        f9(0, 1, 2, 3, 4, 5, 6, 7, 8, o);
+
+        f10(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, o);
+        f15(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, o);
+        f20(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, o);
+        f25(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, o);
+        f30(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, o);
+        f35(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, o);
+        f40(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, o);
+        f45(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, o);
+        f50(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, o);
+        f55(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, o);
+        f60(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, o);
+        f65(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, o);
+        f70(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, o);
+        f75(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, o);
+        f80(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, o);
+        f85(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, o);
+        f90(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, o);
+        f95(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, o);
+        f100(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, o);
+        f105(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, o);
+        f110(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, o);
+        f115(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, o);
+        f120(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, o);
+        f125(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, o);
+        f130(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, o);
+        f135(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, o);
+        f140(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, o);
+        f145(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, o);
+        f150(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, o);
+        f155(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, o);
+        f160(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, o);
+        f165(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, o);
+        f170(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, o);
+        f175(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, o);
+        f180(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, o);
+        f185(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, o);
+        f190(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, o);
+        f195(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, o);
+        f200(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, o);
+        f205(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, o);
+        f210(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, o);
+        f215(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, o);
+        f220(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, o);
+        f225(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, o);
+        f230(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, o);
+        f235(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, o);
+        f240(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, o);
+        f245(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, o);
+        f250(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, o);
+        f255(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, o);
+        f260(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, o);
+        return 100;
+    }
+
+    public static int f0(object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f1(int i0, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f2(int i0, int i1, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f3(int i0, int i1, int i2, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f4(int i0, int i1, int i2, int i3, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f5(int i0, int i1, int i2, int i3, int i4, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f6(int i0, int i1, int i2, int i3, int i4, int i5, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f7(int i0, int i1, int i2, int i3, int i4, int i5, int i6, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f8(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f9(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+
+    public static int f10(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f15(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f20(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f25(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f30(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f35(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f40(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f45(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f50(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f55(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f60(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f65(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f70(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f75(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f80(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f85(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f90(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f95(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f100(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f105(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f110(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f115(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f120(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f125(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f130(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f135(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f140(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f145(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f150(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f155(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f160(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f165(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f170(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f175(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f180(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f185(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f190(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f195(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f200(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f205(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, int i200, int i201, int i202, int i203, int i204, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f210(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, int i200, int i201, int i202, int i203, int i204, int i205, int i206, int i207, int i208, int i209, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f215(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, int i200, int i201, int i202, int i203, int i204, int i205, int i206, int i207, int i208, int i209, int i210, int i211, int i212, int i213, int i214, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f220(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, int i200, int i201, int i202, int i203, int i204, int i205, int i206, int i207, int i208, int i209, int i210, int i211, int i212, int i213, int i214, int i215, int i216, int i217, int i218, int i219, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f225(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, int i200, int i201, int i202, int i203, int i204, int i205, int i206, int i207, int i208, int i209, int i210, int i211, int i212, int i213, int i214, int i215, int i216, int i217, int i218, int i219, int i220, int i221, int i222, int i223, int i224, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f230(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, int i200, int i201, int i202, int i203, int i204, int i205, int i206, int i207, int i208, int i209, int i210, int i211, int i212, int i213, int i214, int i215, int i216, int i217, int i218, int i219, int i220, int i221, int i222, int i223, int i224, int i225, int i226, int i227, int i228, int i229, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f235(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, int i200, int i201, int i202, int i203, int i204, int i205, int i206, int i207, int i208, int i209, int i210, int i211, int i212, int i213, int i214, int i215, int i216, int i217, int i218, int i219, int i220, int i221, int i222, int i223, int i224, int i225, int i226, int i227, int i228, int i229, int i230, int i231, int i232, int i233, int i234, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f240(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, int i200, int i201, int i202, int i203, int i204, int i205, int i206, int i207, int i208, int i209, int i210, int i211, int i212, int i213, int i214, int i215, int i216, int i217, int i218, int i219, int i220, int i221, int i222, int i223, int i224, int i225, int i226, int i227, int i228, int i229, int i230, int i231, int i232, int i233, int i234, int i235, int i236, int i237, int i238, int i239, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f245(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, int i200, int i201, int i202, int i203, int i204, int i205, int i206, int i207, int i208, int i209, int i210, int i211, int i212, int i213, int i214, int i215, int i216, int i217, int i218, int i219, int i220, int i221, int i222, int i223, int i224, int i225, int i226, int i227, int i228, int i229, int i230, int i231, int i232, int i233, int i234, int i235, int i236, int i237, int i238, int i239, int i240, int i241, int i242, int i243, int i244, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f250(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, int i200, int i201, int i202, int i203, int i204, int i205, int i206, int i207, int i208, int i209, int i210, int i211, int i212, int i213, int i214, int i215, int i216, int i217, int i218, int i219, int i220, int i221, int i222, int i223, int i224, int i225, int i226, int i227, int i228, int i229, int i230, int i231, int i232, int i233, int i234, int i235, int i236, int i237, int i238, int i239, int i240, int i241, int i242, int i243, int i244, int i245, int i246, int i247, int i248, int i249, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f255(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, int i200, int i201, int i202, int i203, int i204, int i205, int i206, int i207, int i208, int i209, int i210, int i211, int i212, int i213, int i214, int i215, int i216, int i217, int i218, int i219, int i220, int i221, int i222, int i223, int i224, int i225, int i226, int i227, int i228, int i229, int i230, int i231, int i232, int i233, int i234, int i235, int i236, int i237, int i238, int i239, int i240, int i241, int i242, int i243, int i244, int i245, int i246, int i247, int i248, int i249, int i250, int i251, int i252, int i253, int i254, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+    public static int f260(int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, int i13, int i14, int i15, int i16, int i17, int i18, int i19, int i20, int i21, int i22, int i23, int i24, int i25, int i26, int i27, int i28, int i29, int i30, int i31, int i32, int i33, int i34, int i35, int i36, int i37, int i38, int i39, int i40, int i41, int i42, int i43, int i44, int i45, int i46, int i47, int i48, int i49, int i50, int i51, int i52, int i53, int i54, int i55, int i56, int i57, int i58, int i59, int i60, int i61, int i62, int i63, int i64, int i65, int i66, int i67, int i68, int i69, int i70, int i71, int i72, int i73, int i74, int i75, int i76, int i77, int i78, int i79, int i80, int i81, int i82, int i83, int i84, int i85, int i86, int i87, int i88, int i89, int i90, int i91, int i92, int i93, int i94, int i95, int i96, int i97, int i98, int i99, int i100, int i101, int i102, int i103, int i104, int i105, int i106, int i107, int i108, int i109, int i110, int i111, int i112, int i113, int i114, int i115, int i116, int i117, int i118, int i119, int i120, int i121, int i122, int i123, int i124, int i125, int i126, int i127, int i128, int i129, int i130, int i131, int i132, int i133, int i134, int i135, int i136, int i137, int i138, int i139, int i140, int i141, int i142, int i143, int i144, int i145, int i146, int i147, int i148, int i149, int i150, int i151, int i152, int i153, int i154, int i155, int i156, int i157, int i158, int i159, int i160, int i161, int i162, int i163, int i164, int i165, int i166, int i167, int i168, int i169, int i170, int i171, int i172, int i173, int i174, int i175, int i176, int i177, int i178, int i179, int i180, int i181, int i182, int i183, int i184, int i185, int i186, int i187, int i188, int i189, int i190, int i191, int i192, int i193, int i194, int i195, int i196, int i197, int i198, int i199, int i200, int i201, int i202, int i203, int i204, int i205, int i206, int i207, int i208, int i209, int i210, int i211, int i212, int i213, int i214, int i215, int i216, int i217, int i218, int i219, int i220, int i221, int i222, int i223, int i224, int i225, int i226, int i227, int i228, int i229, int i230, int i231, int i232, int i233, int i234, int i235, int i236, int i237, int i238, int i239, int i240, int i241, int i242, int i243, int i244, int i245, int i246, int i247, int i248, int i249, int i250, int i251, int i252, int i253, int i254, int i255, int i256, int i257, int i258, int i259, object o)
+    {
+
+        try
+        {
+            System.Console.WriteLine(o);
+        }
+        finally
+        {
+            System.Console.WriteLine("Finally!");
+            System.Console.WriteLine(o);
+        }
+        return 0;
+    }
+
+}
diff --git a/tests/src/JIT/jit64/gc/regress/vswhidbey/app.config b/tests/src/JIT/jit64/gc/regress/vswhidbey/app.config
new file mode 100644 (file)
index 0000000..62803f5
--- /dev/null
@@ -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>
\ No newline at end of file
diff --git a/tests/src/JIT/jit64/gc/regress/vswhidbey/cs_template.proj b/tests/src/JIT/jit64/gc/regress/vswhidbey/cs_template.proj
new file mode 100644 (file)
index 0000000..adc2f21
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <AssemblyName>$(AssemblyName1)</AssemblyName>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <AppDesignerFolder>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>
+    <RestorePackages>true</RestorePackages>
+    <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+  </PropertyGroup>
+  <!-- Default configurations to help VS understand the configurations -->
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+  </PropertyGroup>
+  <ItemGroup>
+    <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+      <Visible>False</Visible>
+    </CodeAnalysisDependentAssemblyPaths>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="$(AssemblyName1).cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="packages.config" />
+    <None Include="app.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <Service Include="{82A7F48D-3B50-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/gc/regress/vswhidbey/packages.config b/tests/src/JIT/jit64/gc/regress/vswhidbey/packages.config
new file mode 100644 (file)
index 0000000..06d3d11
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+    <package id="System.Console" version="4.0.0-beta-22405" />
+    <package id="System.Runtime" version="4.0.20-beta-22405" />
+    <package id="System.Runtime.Extensions" version="4.0.10-beta-22412" />
+</packages>
diff --git a/tests/src/JIT/jit64/gc/regress/vswhidbey/vswhidbey.csproj b/tests/src/JIT/jit64/gc/regress/vswhidbey/vswhidbey.csproj
new file mode 100644 (file)
index 0000000..33b2928
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+  <!-- Default configurations to help VS understand the configurations -->
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+  </PropertyGroup>
+  <Target Name="Build">
+    <ItemGroup>
+      <AllSourceFiles Include="$(MSBuildProjectDirectory)\*.cs" />
+    </ItemGroup>
+    <PropertyGroup>
+      <GenerateRunScript>false</GenerateRunScript>
+    </PropertyGroup>
+    <MSBuild Projects="cs_template.proj" Properties="AssemblyName1=%(AllSourceFiles.FileName);AllowUnsafeBlocks=True;IntermediateOutputPath=$(IntermediateOutputPath)\%(AllSourceFiles.FileName)\" />
+  </Target>
+</Project>