platform/upstream/coreclr.git
8 years agoPorting tests that have references
Hongtao Yu [Wed, 9 Dec 2015 23:27:40 +0000 (15:27 -0800)]
Porting tests that have references

jit\directed\perffix\primitivevt\callconv2_cs_d.csproj
jit\directed\perffix\primitivevt\callconv2_cs_do.csproj
jit\directed\perffix\primitivevt\callconv2_cs_r.csproj
jit\directed\perffix\primitivevt\callconv2_cs_ro.csproj
jit\methodical\cctor\xassem\xprecise1_cs_d.csproj
jit\methodical\cctor\xassem\xprecise1_cs_do.csproj
jit\methodical\cctor\xassem\xprecise1_cs_r.csproj
jit\methodical\cctor\xassem\xprecise1_cs_ro.csproj
jit\methodical\cctor\xassem\xprecise1b_cs_d.csproj
jit\methodical\cctor\xassem\xprecise1b_cs_do.csproj
jit\methodical\cctor\xassem\xprecise1b_cs_r.csproj
jit\methodical\cctor\xassem\xprecise1b_cs_ro.csproj
jit\methodical\cctor\xassem\xprecise2_cs_d.csproj
jit\methodical\cctor\xassem\xprecise2_cs_do.csproj
jit\methodical\cctor\xassem\xprecise2_cs_r.csproj
jit\methodical\cctor\xassem\xprecise2_cs_ro.csproj
jit\methodical\cctor\xassem\xprecise4_cs_d.csproj
jit\methodical\cctor\xassem\xprecise4_cs_do.csproj
jit\methodical\cctor\xassem\xprecise4_cs_r.csproj
jit\methodical\cctor\xassem\xprecise4_cs_ro.csproj
jit\regression\clr-x86-jit\v2.0-beta2\b423721\b423721.csproj

Remove testing against Type.GetMethod(string) which is not in coreCLR.

jit\jit64\eh\finallyexec\nestedTryRegionsWithSameOffset1.csproj
jit\jit64\eh\finallyexec\nestedTryRegionsWithSameOffset1_o.csproj
jit\jit64\eh\finallyexec\nestedTryRegionsWithSameOffset2.csproj
jit\jit64\eh\finallyexec\nestedTryRegionsWithSameOffset2_o.csproj
jit\jit64\eh\finallyexec\nestedTryRegionsWithSameOffset3.csproj
jit\jit64\eh\finallyexec\nestedTryRegionsWithSameOffset3_o.csproj
jit\jit64\eh\finallyexec\nonlocalgotoinatryblockinahandler.csproj
jit\jit64\eh\leaves\nonlocalexitfromnestedcatch.csproj
jit\methodical\boxing\xlang\_dbgsin_cs_cs.csproj
jit\methodical\boxing\xlang\_odbgsin_cs_cs.csproj
jit\methodical\boxing\xlang\_orelsin_cs_cs.csproj
jit\methodical\boxing\xlang\_relsin_cs_cs.csproj
jit\methodical\eh\basics\multihandler_d.csproj
jit\methodical\eh\basics\multihandler_do.csproj
jit\methodical\eh\basics\multihandler_r.csproj
jit\methodical\eh\basics\multihandler_ro.csproj
jit\methodical\eh\basics\throwincatch_d.csproj
jit\methodical\eh\basics\throwincatch_do.csproj
jit\methodical\eh\basics\throwincatch_r.csproj
jit\methodical\eh\basics\throwincatch_ro.csproj
jit\methodical\eh\basics\throwinclassconstructor_d.csproj
jit\methodical\eh\basics\throwinclassconstructor_do.csproj
jit\methodical\eh\basics\throwinclassconstructor_r.csproj
jit\methodical\eh\basics\throwinclassconstructor_ro.csproj
Porting jit\methodical\eh\basics
Porting jit\methodical\eh\finallyexec
Porting jit\methodical\eh\generics
Porting jit\methodical\eh\interactions
Porting jit\methodical\eh\leaves

Porting jit\methodical\eh\rethrow
Porting jit\methodical\eh\nested\general
Porting jit\methodical\eh\nested\nonlocalexit
Porting jit\methodical\eh\regress
Porting more tests

8 years agoMerge pull request #2275 from pgavlin/ImportMissingTests
Pat Gavlin [Fri, 11 Dec 2015 16:13:48 +0000 (08:13 -0800)]
Merge pull request #2275 from pgavlin/ImportMissingTests

Import missing JIT tests.

8 years agoImport missing JIT tests.
Pat Gavlin [Tue, 8 Dec 2015 19:52:37 +0000 (11:52 -0800)]
Import missing JIT tests.

These tests were thought to have been ported earlier.

8 years agoMerge pull request #2284 from hoyMS/tailCallTest
Pat Gavlin [Thu, 10 Dec 2015 22:20:34 +0000 (14:20 -0800)]
Merge pull request #2284 from hoyMS/tailCallTest

Porting jit\opt\tailcall\TailcallVerifyWithPrefix.il

8 years agoMerge pull request #2293 from stephentoub/tickcount_perf
Stephen Toub [Thu, 10 Dec 2015 19:19:10 +0000 (14:19 -0500)]
Merge pull request #2293 from stephentoub/tickcount_perf

Use CLOCK_MONOTONIC_COARSE in GetTickCount64

8 years agoMerge pull request #2276 from hoyMS/interopTest
Pat Gavlin [Thu, 10 Dec 2015 19:13:43 +0000 (11:13 -0800)]
Merge pull request #2276 from hoyMS/interopTest

Port interopt tests. Disable tests using stdcall pinvoke calls for

8 years agoMerge pull request #2270 from swgillespie/gc_performance_tests
Sean Gillespie [Thu, 10 Dec 2015 17:37:22 +0000 (09:37 -0800)]
Merge pull request #2270 from swgillespie/gc_performance_tests

Initial bringup of GC performance tests

8 years agoUse CLOCK_MONOTONIC_COARSE in GetTickCount64
Stephen Toub [Thu, 10 Dec 2015 15:45:59 +0000 (10:45 -0500)]
Use CLOCK_MONOTONIC_COARSE in GetTickCount64

Today, GetTickCount64 is implemented to use clock_gettime with CLOCK_MONOTONIC if it's available.  This provides for high-resolution, however it trades off that accuracy for some efficiency.

This commit changes it to prefer CLOCK_MONOTONIC_COARSE if it's available (QueryPerformanceCounter still uses CLOCK_MONOTONIC).  GetTickCount is typically used for coarse timings, e.g. used in a loop to determine whether more than 10 seconds have passed, and can have lower resolution in exchange for higher efficiency.  For Windows, the MSDN docs explicitly state that it's likely to have no better than 10-15 millisecond resolution. Using CLOCK_MONOTONIC_COARSE instead of CLOCK_MONOTIC maps better to this notion, and improves Environment.TickCount throughput on my machine by ~20x.  At the same time, on my machine it still provides well better than 10-15ms resolution, closer to ~4ms.

8 years agoMerge pull request #2292 from janvorli/fix-exception-handling-by-cpp
Jan Vorlicek [Thu, 10 Dec 2015 15:38:06 +0000 (16:38 +0100)]
Merge pull request #2292 from janvorli/fix-exception-handling-by-cpp

Fix C++ exception handling when coreclr is loaded before C++ runtime

8 years agoMerge pull request #2281 from kyulee1/ilasm
Jan Kotas [Thu, 10 Dec 2015 15:11:57 +0000 (07:11 -0800)]
Merge pull request #2281 from kyulee1/ilasm

Enable ILASM for Windows

8 years agoMerge pull request #2196 from eerhardt/CompareOptions2
Eric Erhardt [Thu, 10 Dec 2015 15:11:12 +0000 (09:11 -0600)]
Merge pull request #2196 from eerhardt/CompareOptions2

Add support for String CompareOptions on Unix

8 years agoFix C++ exception handling when coreclr is loaded before C++ runtime
Jan Vorlicek [Thu, 10 Dec 2015 12:36:30 +0000 (13:36 +0100)]
Fix C++ exception handling when coreclr is loaded before C++ runtime

This change fixes a problem that happens when libcoreclr.so is loaded before
C++ runtime libraries. In that case, linker resolves the C++ exception handling
functions against the libunwind8 and exception handling doesn't work.

The fix is the same as someone has already made in the past for ARM - to
add gcc_s to the library list of coreclrpal before the libunwind8. Then
the linker does the right thing.

8 years agoMerge pull request #2283 from AndyAyersMS/SimdPerf
Andy Ayers [Thu, 10 Dec 2015 04:35:36 +0000 (20:35 -0800)]
Merge pull request #2283 from AndyAyersMS/SimdPerf

ConsoleMandel jit benchmark

8 years agoMerge pull request #2282 from mikem8361/sosdbifix
Mike McLaughlin [Thu, 10 Dec 2015 02:10:59 +0000 (18:10 -0800)]
Merge pull request #2282 from mikem8361/sosdbifix

Disable h/w exceptions for coreclr (non-DAC) builds.

8 years agoConsoleMandel jit benchmark
Andy Ayers [Wed, 9 Dec 2015 19:35:07 +0000 (11:35 -0800)]
ConsoleMandel jit benchmark

Initial port of this benchmark.

When run from the command line, with no args, it prints usage and exits with success. With args, one can select one or more of the renderers to benchmark or run.

Under xunit-performance this runs all 24 permutations available.

8 years agoEnable ILASM for Windows
Kyungwoo Lee [Tue, 8 Dec 2015 22:26:54 +0000 (14:26 -0800)]
Enable ILASM for Windows

This enables ILASM/mscorpe on CoreCLR for Windows.
1.  Fusion/StrongName(Full Sign) dependencies are removed since these are not CoreCLR features.
2.  mscorpe is statically built/linked to ilasm.
3.  asmparse.c is auto-generated by an internal version of yacc so I added it under prebuilt directory for now. Will create an issue so that we can build it using a standard tool like bison.

8 years agoDisable h/w exceptions for coreclr (non-DAC) builds.
Mike McLaughlin [Wed, 9 Dec 2015 02:58:30 +0000 (18:58 -0800)]
Disable h/w exceptions for coreclr (non-DAC) builds.

Fixes the recursive GC crash. Added FEATURE_ENABLE_HARDWARE_EXCEPTIONS to the PAL sxs exception tests
so the h/w exceptions generated by the test dlls are caught. Also added to SOS/strike project.

Also fixed sos "clrstack -i". The sos data target needed to implement ICorDebugDataTarget4::VirtualUnwind too.

8 years agoinitial commit of GC performance test framework
Sean Gillespie [Tue, 8 Dec 2015 23:42:43 +0000 (15:42 -0800)]
initial commit of GC performance test framework

Some style changes to conform to CoreFX's csharp style guide. Fix the readme to not refer to paths local to my machine

switch timeout to not accept 0 as a valid timeout

8 years agoPorting jit\opt\tailcall\TailcallVerifyWithPrefix.il
Hongtao Yu [Wed, 9 Dec 2015 21:23:26 +0000 (13:23 -0800)]
Porting jit\opt\tailcall\TailcallVerifyWithPrefix.il

The test orginally requires passing a command line arguemnt to run. This change modifies the Main method by renaming it to Run and adds a wrapper method called Main which explicitly passes original commandline strings to Run.

Condition21 tests fail for windows. Not including them in this change.

All tests fail on linux. Disabling them for linux.

8 years agoPort interopt tests
Hongtao Yu [Wed, 9 Dec 2015 04:32:22 +0000 (20:32 -0800)]
Port interopt tests

Disable tests using stdcall pinvoke calls for non-windows platform.

jit\jit64\mcc\interop\mcc_i00.il
jit\jit64\mcc\interop\mcc_i01.il
jit\jit64\mcc\interop\mcc_i02.il
jit\jit64\mcc\interop\mcc_i03.il
jit\jit64\mcc\interop\mcc_i04.il
jit\jit64\mcc\interop\mcc_i05.il
jit\jit64\mcc\interop\mcc_i06.il
jit\jit64\mcc\interop\mcc_i07.il
jit\jit64\mcc\interop\mcc_i14.il
jit\jit64\mcc\interop\mcc_i15.il
jit\jit64\mcc\interop\mcc_i16.il
jit\jit64\mcc\interop\mcc_i17.il
jit\jit64\mcc\interop\mcc_i30.il
jit\jit64\mcc\interop\mcc_i31.il
jit\jit64\mcc\interop\mcc_i32.il
jit\jit64\mcc\interop\mcc_i32.il
jit\jit64\mcc\interop\mcc_i33.il
jit\jit64\mcc\interop\mcc_i34.il
jit\jit64\mcc\interop\mcc_i35.il
jit\jit64\mcc\interop\mcc_i36.il
jit\jit64\mcc\interop\mcc_i37.il
jit\jit64\mcc\interop\mcc_i50.il
jit\jit64\mcc\interop\mcc_i51.il
jit\jit64\mcc\interop\mcc_i52.il
jit\jit64\mcc\interop\mcc_i53.il
jit\jit64\mcc\interop\mcc_i54.il
jit\jit64\mcc\interop\mcc_i55.il
jit\jit64\mcc\interop\mcc_i56.il
jit\jit64\mcc\interop\mcc_i57.il
jit\jit64\mcc\interop\mcc_i60.il
jit\jit64\mcc\interop\mcc_i61.il
jit\jit64\mcc\interop\mcc_i62.il
jit\jit64\mcc\interop\mcc_i63.il
jit\jit64\mcc\interop\mcc_i64.il
jit\jit64\mcc\interop\mcc_i65.il
jit\jit64\mcc\interop\mcc_i66.il
jit\jit64\mcc\interop\mcc_i67.il
jit\jit64\mcc\interop\mcc_i70.il
jit\jit64\mcc\interop\mcc_i71.il
jit\jit64\mcc\interop\mcc_i72.il
jit\jit64\mcc\interop\mcc_i73.il
jit\jit64\mcc\interop\mcc_i74.il
jit\jit64\mcc\interop\mcc_i75.il
jit\jit64\mcc\interop\mcc_i76.il
jit\jit64\mcc\interop\mcc_i77.il
jit\jit64\mcc\interop\mcc_i80.il
jit\jit64\mcc\interop\mcc_i81.il
jit\jit64\mcc\interop\mcc_i82.il
jit\jit64\mcc\interop\mcc_i83.il
jit\jit64\mcc\interop\mcc_i84.il
jit\jit64\mcc\interop\mcc_i85.il
jit\jit64\mcc\interop\mcc_i86.il
jit\jit64\mcc\interop\mcc_i87.il

Disable all tests for non-windows due to dll name resolution

8 years agoFixing collation for the following scenarios:
Eric Erhardt [Mon, 7 Dec 2015 17:58:09 +0000 (11:58 -0600)]
Fixing collation for the following scenarios:

1. When IgnoreSymbols is true, ensure we still ignore half and fullwidth characters that are symbols.
2. Hiragana-Katakana characters differ at the tertiary strength, fixing the rule.
3. Fix collation on OSX which uses ICU 55.1.
ICU 55 doesn't support having certain unicode characters using primary '<' rules.
These characters are not necessary in the rules, since Windows always treats them the same.
Removing 0x3099 and 0x309A from the half/full width rules.

8 years agoMerge pull request #2253 from benpye/arm-tryrun-addition
Jan Kotas [Wed, 9 Dec 2015 14:16:45 +0000 (06:16 -0800)]
Merge pull request #2253 from benpye/arm-tryrun-addition

Add missing value to arm tryrun.cmake

8 years agoMerge pull request #2277 from kouvel/FinalizerDeadlockUndo
Stephen Toub [Wed, 9 Dec 2015 11:40:13 +0000 (06:40 -0500)]
Merge pull request #2277 from kouvel/FinalizerDeadlockUndo

Revert "Disable suspend on shutdown during shutdown finalization"

8 years agoAdd missing value to arm tryrun.cmake
Ben Pye [Sat, 5 Dec 2015 16:19:19 +0000 (16:19 +0000)]
Add missing value to arm tryrun.cmake

8 years agoMerge pull request #2271 from AndyAyersMS/SimdTests
Andy Ayers [Wed, 9 Dec 2015 08:57:55 +0000 (00:57 -0800)]
Merge pull request #2271 from AndyAyersMS/SimdTests

Add SIMD tests

8 years agoMerge pull request #2258 from AndyAyersMS/PerfTest3
Andy Ayers [Wed, 9 Dec 2015 08:57:07 +0000 (00:57 -0800)]
Merge pull request #2258 from AndyAyersMS/PerfTest3

Various sorting benchmarks

8 years agoMerge pull request #2261 from AndyAyersMS/PerfTest4
Andy Ayers [Wed, 9 Dec 2015 08:56:21 +0000 (00:56 -0800)]
Merge pull request #2261 from AndyAyersMS/PerfTest4

More integer benchmarks for the jit

8 years agoMerge pull request #2228 from mikem8361/dbi
Mike McLaughlin [Wed, 9 Dec 2015 05:40:44 +0000 (21:40 -0800)]
Merge pull request #2228 from mikem8361/dbi

Use dbi's path to load dac and add RPATH to make files.

8 years agoMerge pull request #2272 from jkotas/gc-update
Jan Kotas [Wed, 9 Dec 2015 04:46:46 +0000 (20:46 -0800)]
Merge pull request #2272 from jkotas/gc-update

Update GC from CoreRT

8 years agoRevert "Disable suspend on shutdown during shutdown finalization"
Koundinya Veluri [Wed, 9 Dec 2015 03:57:47 +0000 (19:57 -0800)]
Revert "Disable suspend on shutdown during shutdown finalization"

Reverting commit b18d2a7e30a0d7066d2c09711de07488a7dec475 (PR #2207) due to issue dotnet/corefx#4899, while investigating the issue, to unblock the CI.

8 years agoMerge pull request #2259 from pgavlin/ImportSimpleTests
Pat Gavlin [Wed, 9 Dec 2015 02:55:59 +0000 (18:55 -0800)]
Merge pull request #2259 from pgavlin/ImportSimpleTests

Import additional JIT tests.

8 years agoVarious sorting benchmarks
Andy Ayers [Fri, 4 Dec 2015 23:04:13 +0000 (15:04 -0800)]
Various sorting benchmarks

TreeSort, HeapSort, QuickSort, BubbleSort, BubbleSort2

8 years agoFix build breaks after GC update
Jan Kotas [Wed, 9 Dec 2015 01:14:16 +0000 (17:14 -0800)]
Fix build breaks after GC update

8 years agoMore integer benchmarks for the jit
Andy Ayers [Mon, 7 Dec 2015 22:33:29 +0000 (14:33 -0800)]
More integer benchmarks for the jit

Adds Array2, IniArray, LogicArray, Midpoint, MulMatrix.

8 years agoUpdate GC from CoreRT
Jan Kotas [Wed, 9 Dec 2015 00:13:30 +0000 (16:13 -0800)]
Update GC from CoreRT

https://github.com/dotnet/corert/tree/master/src/Native/gc 7be6983a6510ef00de78f4c1c8bf884a89e7c82a

8 years agoMerge pull request #2268 from AndyAyersMS/FractalPerf
Andy Ayers [Wed, 9 Dec 2015 00:14:49 +0000 (16:14 -0800)]
Merge pull request #2268 from AndyAyersMS/FractalPerf

Add FractalPerf benchmark

8 years agoAdd SIMD tests
Andy Ayers [Wed, 9 Dec 2015 00:03:19 +0000 (16:03 -0800)]
Add SIMD tests

SIMD correctness tests.

8 years agoUse dbi's path to load dac and add RPATH to make files.
Mike McLaughlin [Thu, 3 Dec 2015 00:47:27 +0000 (16:47 -0800)]
Use dbi's path to load dac and add RPATH to make files.

Fixes VS's problems with debugging and running different versions of coreclr.

Set RPATH for OSX is @loader_path and removed now unnecessary load of mscordaccore
in the lldb sos plugin.

Simplify the GetDacModule code to use PAL_GetPALDirectoryW instead of depending on GetModuleInst()
and the module handle passed to DllMain.

Changed PAL_RegisterModule not to also call the DllMain of the module so it wouldn't be called twice.

8 years agoMerge pull request #2267 from dotnet-bot/from-tfs
Jan Kotas [Tue, 8 Dec 2015 23:15:02 +0000 (15:15 -0800)]
Merge pull request #2267 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #2207 from kouvel/FinalizerTimeout
Jan Kotas [Tue, 8 Dec 2015 22:53:13 +0000 (14:53 -0800)]
Merge pull request #2207 from kouvel/FinalizerTimeout

Disable suspend on shutdown during shutdown finalization

8 years agoAdd FractalPerf benchmark
Andy Ayers [Tue, 8 Dec 2015 21:20:26 +0000 (13:20 -0800)]
Add FractalPerf benchmark

8 years agoImport additional JIT tests.
Pat Gavlin [Mon, 7 Dec 2015 20:07:12 +0000 (12:07 -0800)]
Import additional JIT tests.

Most of these tests were missed in the first round because they rely on
TypedReference.

8 years agoDisable suspend on shutdown during shutdown finalization
Koundinya Veluri [Thu, 19 Nov 2015 18:51:06 +0000 (10:51 -0800)]
Disable suspend on shutdown during shutdown finalization

The main thread does not time out waiting for the finalizer thread to complete during shutdown. Cases examined had the main thread blocked waiting for the finalizer thread to complete its work. The finalizer thread was blocked on either the "waiting for GC completion" event or one of the the GC spinlocks. Another thread was blocked for shutdown after entering the spinlock while allocating, or during GC. Allowing other threads to suspend for shutdown could cause the finalizer thread to block indefinitely, leading to a deadlock.

8 years agoMerge pull request #2220 from richardlford/portdesktoptests1203
Richard L Ford [Tue, 8 Dec 2015 19:05:18 +0000 (11:05 -0800)]
Merge pull request #2220 from richardlford/portdesktoptests1203

Port more C# unit tests

8 years agoOpen sourcing ILASM
dotnet-bot [Tue, 8 Dec 2015 17:17:49 +0000 (09:17 -0800)]
Open sourcing ILASM

[tfs-changeset: 1555681]

8 years agoMerge pull request #2260 from mikem8361/unwind
Mike McLaughlin [Tue, 8 Dec 2015 15:13:41 +0000 (07:13 -0800)]
Merge pull request #2260 from mikem8361/unwind

Add new IPC message for out of context unwinding

8 years agoPort more C# unit tests
Richard L Ford [Thu, 3 Dec 2015 08:23:02 +0000 (00:23 -0800)]
Port more C# unit tests

The project files were generated automatically from a database
and the source files scrubbed and formatted.

In addition, some added tests are still failing. Issues were
created for these and exclusions added, for windows and for
non-windows.

8 years agoMerge pull request #2239 from richardlford/additiveexclusion
Pat Gavlin [Tue, 8 Dec 2015 00:17:43 +0000 (16:17 -0800)]
Merge pull request #2239 from richardlford/additiveexclusion

Add Exclude2 option for runtest.cmd for additive exclusion.

8 years agoAdd new IPC message for out of context unwinding used for HelperMethodFrames.
Mike McLaughlin [Fri, 4 Dec 2015 00:24:46 +0000 (16:24 -0800)]
Add new IPC message for out of context unwinding used for HelperMethodFrames.

8 years agoAdd Exclude0 option for runtest.cmd for additive exclusion.
Richard L Ford [Fri, 4 Dec 2015 22:13:27 +0000 (14:13 -0800)]
Add Exclude0 option for runtest.cmd for additive exclusion.

Currently when the Exclude parameter is passed to the coreclr
tests/runtest.cmd, the specified file replaces the default coreclr
exclusion file.

But an independent project, e.g. LLILC, may want to exclude the tests
in the coreclr issues.targets file as well as additional tests. In
that case it would be useful if runtest.cmd supported adding an
additional exclusion file that does not replace the default.

This change makes the new Exclude0 option control the default
exclusion list, so specifying Exclude does not overwrite it.

Closes #2238.

8 years agoMerge pull request #2241 from kyulee1/ildasm3
Jan Vorlicek [Mon, 7 Dec 2015 19:36:31 +0000 (20:36 +0100)]
Merge pull request #2241 from kyulee1/ildasm3

Enable ildasm for *nix

8 years agoAddress PR feedback.
Eric Erhardt [Thu, 3 Dec 2015 23:49:24 +0000 (17:49 -0600)]
Address PR feedback.

8 years agoEnsure the collator map is thread safe on SortHandle.
Eric Erhardt [Tue, 1 Dec 2015 06:22:13 +0000 (00:22 -0600)]
Ensure the collator map is thread safe on SortHandle.

8 years agoAdding support for String CompareOptions IgnoreKanaType and IgnoreWidth on Unix.
Eric Erhardt [Thu, 26 Nov 2015 00:18:20 +0000 (18:18 -0600)]
Adding support for String CompareOptions IgnoreKanaType and IgnoreWidth on Unix.

8 years agoAdding support for String CompareOptions IgnoreNonSpace and IgnoreSymbols.
Eric Erhardt [Wed, 25 Nov 2015 23:05:28 +0000 (17:05 -0600)]
Adding support for String CompareOptions IgnoreNonSpace and IgnoreSymbols.

8 years agoConvert SortHandle to use a std::map to cache UCollators per option that is passed...
Eric Erhardt [Wed, 25 Nov 2015 18:39:58 +0000 (12:39 -0600)]
Convert SortHandle to use a std::map to cache UCollators per option that is passed in.  This is in preparation of creating different UCollators for each option.

8 years agoEnable ildasm for *nix
Kyungwoo Lee [Tue, 1 Dec 2015 18:16:08 +0000 (10:16 -0800)]
Enable ildasm for *nix

This enables ildasm for cross-platforms.
Unlike Window (where initialization is done when DLL attach), CoreCLR is explciltly hosted/initialized to get the Metadata related APIs.
This also eliminates the need of setting dynamic library path.
Currently, ildasm binary is assumed to be located same as CoreCLR binary.
I added a simple CoreCLRLoader (not meant to run an assembly file) for just direct uses of APIs. Since I expect this library to be used for ilasm work.
Resource string is also handled using a static string table  based on my prior check-in.
Other changes are mostly mechanic with regard to wide constant string.

8 years agoMerge pull request #2254 from benpye/no-getcontext
Jan Vorlicek [Mon, 7 Dec 2015 14:34:49 +0000 (15:34 +0100)]
Merge pull request #2254 from benpye/no-getcontext

Remove usage of getcontext

8 years agoMerge pull request #2249 from pgavlin/ImportVTTests
Pat Gavlin [Mon, 7 Dec 2015 05:57:02 +0000 (21:57 -0800)]
Merge pull request #2249 from pgavlin/ImportVTTests

Import jit/jit64/valuetype/nullable tests.

8 years agoMerge pull request #2232 from AndyAyersMS/PerfTest2
Andy Ayers [Mon, 7 Dec 2015 01:16:54 +0000 (17:16 -0800)]
Merge pull request #2232 from AndyAyersMS/PerfTest2

More simple integer benchmarks for the Jit

8 years agoMerge pull request #2247 from mikedn/safeseh
Jan Kotas [Sun, 6 Dec 2015 18:21:40 +0000 (10:21 -0800)]
Merge pull request #2247 from mikedn/safeseh

Use /safeseh to compile x86 MASM files

8 years agoEnable SAFESEH in the Windows x86 build
Mike Danes [Sat, 5 Dec 2015 10:24:32 +0000 (12:24 +0200)]
Enable SAFESEH in the Windows x86 build

8 years agoMerge pull request #2248 from dotnet-bot/from-tfs
Jan Kotas [Sat, 5 Dec 2015 17:52:06 +0000 (09:52 -0800)]
Merge pull request #2248 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoRemove usage of getcontext
Ben Pye [Sat, 5 Dec 2015 17:05:29 +0000 (17:05 +0000)]
Remove usage of getcontext

8 years agoFix build break in internal build
Jan Kotas [Sat, 5 Dec 2015 16:36:04 +0000 (08:36 -0800)]
Fix build break in internal build

[tfs-changeset: 1554810]

8 years agoMerge pull request #2246 from jkotas/gc-update
Jan Kotas [Sat, 5 Dec 2015 08:01:53 +0000 (00:01 -0800)]
Merge pull request #2246 from jkotas/gc-update

Update GC from CoreRT

8 years agoFix build breaks after GC update
Jan Kotas [Sat, 5 Dec 2015 04:16:55 +0000 (20:16 -0800)]
Fix build breaks after GC update

8 years agoUpdate GC from CoreRT
Jan Kotas [Fri, 4 Dec 2015 17:58:25 +0000 (09:58 -0800)]
Update GC from CoreRT

https://github.com/dotnet/corert/tree/master/src/Native/gc 6fb4eecd513d3b3e1ae7584a22ece46107e98069

8 years agoMerge pull request #2195 from wtgodbe/getcpu
William Godbe [Sat, 5 Dec 2015 00:53:29 +0000 (16:53 -0800)]
Merge pull request #2195 from wtgodbe/getcpu

Implemented GetCurrentProcessorNumber in PAL.

8 years agoImport jit/jit64/valuetype/nullable tests.
Pat Gavlin [Fri, 4 Dec 2015 22:22:14 +0000 (14:22 -0800)]
Import jit/jit64/valuetype/nullable tests.

This includes box/unbox and cast tests. There is also a small change
to jit/config/minimal/project.json to include
the System.Runtime.InteropServices package.

8 years agoMerge pull request #2230 from hoyMS/testPorting
Pat Gavlin [Fri, 4 Dec 2015 22:58:07 +0000 (14:58 -0800)]
Merge pull request #2230 from hoyMS/testPorting

Test porting

8 years agoMerge pull request #2198 from brianrob/xplateventlogger
Brian Robbins [Fri, 4 Dec 2015 21:42:23 +0000 (13:42 -0800)]
Merge pull request #2198 from brianrob/xplateventlogger

Fix ArgumentOutOfRangeException in XplatEventLogger

8 years agoImplemented GetCurrentProcessorNumber and HasGetCurrentProcessorNumber
William Godbe [Mon, 30 Nov 2015 23:32:36 +0000 (15:32 -0800)]
Implemented GetCurrentProcessorNumber and HasGetCurrentProcessorNumber

8 years agoUpdate benchmark project dependences to allow running in performance mode
Andy Ayers [Fri, 4 Dec 2015 20:09:32 +0000 (12:09 -0800)]
Update benchmark project dependences to allow running in performance mode

8 years agoUpdate contributing.md
Rich Lander [Fri, 4 Dec 2015 19:45:08 +0000 (11:45 -0800)]
Update contributing.md

Added a link to JIT porting guidance

8 years agoTrying to add dependences to run perf tests in perf mode
Andy Ayers [Fri, 4 Dec 2015 19:35:05 +0000 (11:35 -0800)]
Trying to add dependences to run perf tests in perf mode

8 years agoMerge pull request #2231 from benpye/arm-runnable
Jan Kotas [Fri, 4 Dec 2015 14:29:18 +0000 (06:29 -0800)]
Merge pull request #2231 from benpye/arm-runnable

Disable FEATURE_HIJACK on Linux ARM

8 years agoMerge pull request #2227 from kyulee1/rc
Jan Vorlicek [Fri, 4 Dec 2015 12:27:16 +0000 (13:27 +0100)]
Merge pull request #2227 from kyulee1/rc

Refactoring resource string

8 years agoMerge pull request #2219 from kouvel/ConcurrentGc
Jan Kotas [Fri, 4 Dec 2015 06:02:34 +0000 (22:02 -0800)]
Merge pull request #2219 from kouvel/ConcurrentGc

Fix perf issue when concurrent GC is enabled by default

8 years agoMore simple integer benchmarks for the Jit
Andy Ayers [Fri, 4 Dec 2015 03:53:00 +0000 (19:53 -0800)]
More simple integer benchmarks for the Jit

8Queens, Ackermann, AddArray, Fib, Pi.

8 years agoDisable FEATURE_HIJACK on Linux ARM
Ben Pye [Fri, 4 Dec 2015 04:47:59 +0000 (04:47 +0000)]
Disable FEATURE_HIJACK on Linux ARM

8 years agoRefactoring resource string
Kyungwoo Lee [Thu, 3 Dec 2015 22:26:05 +0000 (14:26 -0800)]
Refactoring resource string

This pulls out resource string handling out of mscorrc into top level.
The scripts (awk) are now parameterized to generate a unique string table for the
given name.
Added resourcestring.cpp to create an API "LoadResourceString".
Added a few macros into resourcestring.h, which are used for definition/uses of
the string table.

8 years agoMerge pull request #2213 from AndyAyersMS/PerfTest
Andy Ayers [Fri, 4 Dec 2015 02:36:14 +0000 (18:36 -0800)]
Merge pull request #2213 from AndyAyersMS/PerfTest

Initial cut at a jit benchmark using xunit-performance

8 years agoInitial cut at a jit benchmark using xunit-performance
Andy Ayers [Wed, 2 Dec 2015 20:42:11 +0000 (12:42 -0800)]
Initial cut at a jit benchmark using xunit-performance

Provides for standalone execution as well as xunit discovery. I've also created a benchmark project.json for the various benchmarks to share.

Add inner iterations to bump per outer-iteration time to around 1 second. Conditionalize iteration count on Debug/Release build type.

Also, reduce logging verbosity by default when building tests. Add a "verbose" option to buildtest.cmd to ramp it back up.

8 years agoMerge pull request #2204 from kyulee1/unixcom
Jan Kotas [Thu, 3 Dec 2015 22:39:08 +0000 (14:39 -0800)]
Merge pull request #2204 from kyulee1/unixcom

Lib unixcoreruncommon

8 years agoMerge pull request #2226 from jkotas/gc-update
Jan Kotas [Thu, 3 Dec 2015 22:34:47 +0000 (14:34 -0800)]
Merge pull request #2226 from jkotas/gc-update

Update GC from CoreRT

8 years agoPorting jit\methodical\tailcall_v4\hijacking.ilproj
Hongtao Yu [Thu, 3 Dec 2015 22:13:26 +0000 (14:13 -0800)]
Porting jit\methodical\tailcall_v4\hijacking.ilproj

8 years agoUpdate GC from CoreRT
Jan Kotas [Thu, 3 Dec 2015 21:48:29 +0000 (13:48 -0800)]
Update GC from CoreRT

https://github.com/dotnet/corert/tree/master/src/Native/gc 17232964a899c5403abbef1ab022f6d161f8b9ff

8 years agoPorting
Hongtao Yu [Thu, 3 Dec 2015 20:43:59 +0000 (12:43 -0800)]
Porting

jit\methodical\explicit\rotate\_dbgrotarg_double.csproj
jit\methodical\explicit\rotate\_dbgrotarg_float.csproj
jit\methodical\explicit\rotate\_dbgrotarg_objref.csproj
jit\methodical\explicit\rotate\_dbgrotarg_valref.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_double.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_float.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_objref.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_valref.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_double.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_float.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_objref.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_valref.csproj
jit\methodical\explicit\rotate\_relrotarg_double.csproj
jit\methodical\explicit\rotate\_relrotarg_float.csproj
jit\methodical\explicit\rotate\_relrotarg_objref.csproj
jit\methodical\explicit\rotate\_relrotarg_valref.csproj

8 years agoMerge pull request #2225 from wtgodbe/prTestRun
William Godbe [Thu, 3 Dec 2015 20:04:53 +0000 (12:04 -0800)]
Merge pull request #2225 from wtgodbe/prTestRun

Mac tests will run automatically on PR

8 years agomac tests will run automatically on PR
William Godbe [Thu, 3 Dec 2015 20:04:05 +0000 (12:04 -0800)]
mac tests will run automatically on PR

8 years agoMerge pull request #2216 from hoyMS/master
Pat Gavlin [Thu, 3 Dec 2015 17:32:25 +0000 (09:32 -0800)]
Merge pull request #2216 from hoyMS/master

Porting CoreCLR JIT SelfHost tests

8 years agoMerge pull request #2210 from stephentoub/semaphore_in_mscorlib
Jan Kotas [Thu, 3 Dec 2015 16:41:17 +0000 (08:41 -0800)]
Merge pull request #2210 from stephentoub/semaphore_in_mscorlib

Port System.Threading.Semaphore from corefx to mscorlib

8 years agoLib unixcoreruncommon
Kyungwoo Lee [Wed, 2 Dec 2015 18:24:51 +0000 (10:24 -0800)]
Lib unixcoreruncommon

8 years agoMerge pull request #2205 from sergiy-k/executablememory
Sergiy Kuryata [Thu, 3 Dec 2015 07:20:22 +0000 (23:20 -0800)]
Merge pull request #2205 from sergiy-k/executablememory

Implement an allocator for executable (JIT) memory in PAL

8 years agoFix perf issue when concurrent GC is enabled by default
Koundinya Veluri [Wed, 2 Dec 2015 20:46:37 +0000 (12:46 -0800)]
Fix perf issue when concurrent GC is enabled by default

- For checks to see if concurrent GC is enabled, replaced those that were directly using EEConfig, to instead use gc_heap::gc_can_use_concurrent, which takes write watch support into account. The max heap size is configured based on whether concurrent GC is enabled, and the previous checks were configuring the size incorrectly when write watch is not supported.
- Enabled concurrent GC by default for hosts that use coreclr_initialize

Fixes #2155

8 years agoPorting the folloiwng CoreCLR JIT SelfHost tests:
Hongtao Yu [Wed, 2 Dec 2015 18:43:58 +0000 (10:43 -0800)]
Porting the folloiwng CoreCLR JIT SelfHost tests:

Jit\Methodical\arrays\dbg\arrres.exe
Jit\Methodical\arrays\rel\arrres.exe
Jit\Methodical\arrays\speed_dbg\arrres.exe
Jit\Methodical\arrays\speed_rel\arrres.exe

jit\methodical\explicit\basic\_dbgrefarg_c.csproj
jit\methodical\explicit\basic\_dbgrefarg_f4.csproj
jit\methodical\explicit\basic\_dbgrefarg_f8.csproj
jit\methodical\explicit\basic\_dbgrefarg_i1.csproj
jit\methodical\explicit\basic\_dbgrefarg_i2.csproj
jit\methodical\explicit\basic\_dbgrefarg_i4.csproj
jit\methodical\explicit\basic\_dbgrefarg_o.csproj
jit\methodical\explicit\basic\_dbgrefarg_s.csproj
jit\methodical\explicit\rotate\_dbgrotarg_double.csproj
jit\methodical\explicit\rotate\_dbgrotarg_float.csproj
jit\methodical\explicit\rotate\_dbgrotarg_objref.csproj
jit\methodical\explicit\rotate\_dbgrotarg_valref.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_c.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_f4.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_f8.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_i1.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_i2.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_i4.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_o.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_s.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_double.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_float.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_objref.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_valref.csproj
jit\methodical\explicit\basic\_opt_relrefarg_c.csproj
jit\methodical\explicit\basic\_opt_relrefarg_f4.csproj
jit\methodical\explicit\basic\_opt_relrefarg_f8.csproj
jit\methodical\explicit\basic\_opt_relrefarg_i1.csproj
jit\methodical\explicit\basic\_opt_relrefarg_i2.csproj
jit\methodical\explicit\basic\_opt_relrefarg_i4.csproj
jit\methodical\explicit\basic\_opt_relrefarg_o.csproj
jit\methodical\explicit\basic\_opt_relrefarg_s.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_double.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_float.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_objref.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_valref.csproj
jit\methodical\explicit\basic\_relrefarg_c.csproj
jit\methodical\explicit\basic\_relrefarg_f4.csproj
jit\methodical\explicit\basic\_relrefarg_f8.csproj
jit\methodical\explicit\basic\_relrefarg_i1.csproj
jit\methodical\explicit\basic\_relrefarg_i2.csproj
jit\methodical\explicit\basic\_relrefarg_i4.csproj
jit\methodical\explicit\basic\_relrefarg_o.csproj
jit\methodical\explicit\basic\_relrefarg_s.csproj

Porting the follwing test from CoreCLR JIT SelfHost:

jit\methodical\explicit\basic\_dbgrefarg_c.csproj
jit\methodical\explicit\basic\_dbgrefarg_f4.csproj
jit\methodical\explicit\basic\_dbgrefarg_f8.csproj
jit\methodical\explicit\basic\_dbgrefarg_i1.csproj
jit\methodical\explicit\basic\_dbgrefarg_i2.csproj
jit\methodical\explicit\basic\_dbgrefarg_i4.csproj
jit\methodical\explicit\basic\_dbgrefarg_o.csproj
jit\methodical\explicit\basic\_dbgrefarg_s.csproj
jit\methodical\explicit\rotate\_dbgrotarg_double.csproj
jit\methodical\explicit\rotate\_dbgrotarg_float.csproj
jit\methodical\explicit\rotate\_dbgrotarg_objref.csproj
jit\methodical\explicit\rotate\_dbgrotarg_valref.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_c.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_f4.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_f8.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_i1.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_i2.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_i4.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_o.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_s.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_double.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_float.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_objref.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_valref.csproj
jit\methodical\explicit\basic\_opt_relrefarg_c.csproj
jit\methodical\explicit\basic\_opt_relrefarg_f4.csproj
jit\methodical\explicit\basic\_opt_relrefarg_f8.csproj
jit\methodical\explicit\basic\_opt_relrefarg_i1.csproj
jit\methodical\explicit\basic\_opt_relrefarg_i2.csproj
jit\methodical\explicit\basic\_opt_relrefarg_i4.csproj
jit\methodical\explicit\basic\_opt_relrefarg_o.csproj
jit\methodical\explicit\basic\_opt_relrefarg_s.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_double.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_float.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_objref.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_valref.csproj
jit\methodical\explicit\basic\_relrefarg_c.csproj
jit\methodical\explicit\basic\_relrefarg_f4.csproj
jit\methodical\explicit\basic\_relrefarg_f8.csproj
jit\methodical\explicit\basic\_relrefarg_i1.csproj
jit\methodical\explicit\basic\_relrefarg_i2.csproj
jit\methodical\explicit\basic\_relrefarg_i4.csproj
jit\methodical\explicit\basic\_relrefarg_o.csproj
jit\methodical\explicit\basic\_relrefarg_s.csproj

Porting the folloiwng CoreCLR JIT SelfHost tests:

Jit\Methodical\arrays\dbg\arrres.exe
Jit\Methodical\arrays\rel\arrres.exe
Jit\Methodical\arrays\speed_dbg\arrres.exe
Jit\Methodical\arrays\speed_rel\arrres.exe

jit\methodical\explicit\basic\_dbgrefarg_c.csproj
jit\methodical\explicit\basic\_dbgrefarg_f4.csproj
jit\methodical\explicit\basic\_dbgrefarg_f8.csproj
jit\methodical\explicit\basic\_dbgrefarg_i1.csproj
jit\methodical\explicit\basic\_dbgrefarg_i2.csproj
jit\methodical\explicit\basic\_dbgrefarg_i4.csproj
jit\methodical\explicit\basic\_dbgrefarg_o.csproj
jit\methodical\explicit\basic\_dbgrefarg_s.csproj
jit\methodical\explicit\rotate\_dbgrotarg_double.csproj
jit\methodical\explicit\rotate\_dbgrotarg_float.csproj
jit\methodical\explicit\rotate\_dbgrotarg_objref.csproj
jit\methodical\explicit\rotate\_dbgrotarg_valref.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_c.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_f4.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_f8.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_i1.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_i2.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_i4.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_o.csproj
jit\methodical\explicit\basic\_opt_dbgrefarg_s.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_double.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_float.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_objref.csproj
jit\methodical\explicit\rotate\_opt_dbgrotarg_valref.csproj
jit\methodical\explicit\basic\_opt_relrefarg_c.csproj
jit\methodical\explicit\basic\_opt_relrefarg_f4.csproj
jit\methodical\explicit\basic\_opt_relrefarg_f8.csproj
jit\methodical\explicit\basic\_opt_relrefarg_i1.csproj
jit\methodical\explicit\basic\_opt_relrefarg_i2.csproj
jit\methodical\explicit\basic\_opt_relrefarg_i4.csproj
jit\methodical\explicit\basic\_opt_relrefarg_o.csproj
jit\methodical\explicit\basic\_opt_relrefarg_s.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_double.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_float.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_objref.csproj
jit\methodical\explicit\rotate\_opt_relrotarg_valref.csproj
jit\methodical\explicit\basic\_relrefarg_c.csproj
jit\methodical\explicit\basic\_relrefarg_f4.csproj
jit\methodical\explicit\basic\_relrefarg_f8.csproj
jit\methodical\explicit\basic\_relrefarg_i1.csproj
jit\methodical\explicit\basic\_relrefarg_i2.csproj
jit\methodical\explicit\basic\_relrefarg_i4.csproj
jit\methodical\explicit\basic\_relrefarg_o.csproj
jit\methodical\explicit\basic\_relrefarg_s.csproj

8 years agoMerge pull request #2202 from mikem8361/sosfixes
Mike McLaughlin [Thu, 3 Dec 2015 01:24:43 +0000 (17:24 -0800)]
Merge pull request #2202 from mikem8361/sosfixes

Some SOS fixes/cleanup (bpmd, setclrpath, setsostid).

8 years agoSome SOS fixes/cleanup (bpmd, setclrpath, setsostid).
Mike McLaughlin [Fri, 20 Nov 2015 02:13:25 +0000 (18:13 -0800)]
Some SOS fixes/cleanup (bpmd, setclrpath, setsostid).

Enable the module load notification when no module or methods are found.

setclrpath/setsostid print the current path/tid if no arguments. "setsostid -clear"
now clears the tid/os id mapping.

Added better exception hook to sos plugin to catch special CLRN exception. Before
multiple lldb "Exception breakpoints" where set each time bpmd added a new bp. Added
a "DoNotDeleteOrDisable" message to the exception breakpoint created.

Fix bpmd on release builds. RtlpRaiseException was being inlined and the ExceptionRecord
parameter was being optimized away causing the GetLastEventInformation api to failed
and the special CLRN exception to be ignored.

Add sos help support. "soshelp" displays help about a command.

8 years agoAddress code review feedback
Sergiy Kuryata [Wed, 2 Dec 2015 23:23:37 +0000 (15:23 -0800)]
Address code review feedback