platform/upstream/coreclr.git
8 years agoEnable ILASM for *nix
Kyungwoo Lee [Fri, 11 Dec 2015 00:18:25 +0000 (16:18 -0800)]
Enable ILASM for *nix

This enables ILASM for x-platforms.
1. Added a bunch of warning disable options mostly due to this prebuilt asmparse.cpp
2. Create a separte entry point "main" to pass WCHAR arguments.
3. PDB (CorSymWriter) part is disabled.
4. Converting/embedding resource file to binary is disabled.
5. jkotas kindly provided a code for IsTextUnicode which is unavailable on CoreCLR.

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 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 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

8 years agoMerge pull request #2211 from wtgodbe/prTestRun
William Godbe [Wed, 2 Dec 2015 22:38:21 +0000 (14:38 -0800)]
Merge pull request #2211 from wtgodbe/prTestRun

Should allow for test suite runs on OSX on each PR

8 years agoFixed copyartifacts issue
William Godbe [Wed, 2 Dec 2015 22:37:13 +0000 (14:37 -0800)]
Fixed copyartifacts issue

8 years agoPort System.Threading.Semaphore from corefx to mscorlib
stephentoub [Wed, 2 Dec 2015 20:21:09 +0000 (15:21 -0500)]
Port System.Threading.Semaphore from corefx to mscorlib

In the full framework, System.Threading.Semaphore is defined in System.dll, which no longer exists in coreclr/corefx.  Thus Semaphore needs to be defined in either mscorlib in coreclr or in System.Threading.dll in corefx (either way it's exposed from the System.Threading contract).  Today it's implemented in System.Threading.dll in corefx, but this results in a very unnatural dependency on Unix from System.Threading.dll to libcoreclr's PAL layer.  This is because on Unix libcoreclr needs to emulate wait handles, and thus all of the implementation for a Win32 semaphore (for which Semaphore is a thin wrapper) is in libcoreclr.

To eliminate that unnatural dependency, this commit ports System.Threading.Semaphore to mscorlib.  It'll be type-forwarded as part of the System.Threading.dll partial facade.  A corresponding commit in corefx will remove all of the implementation from there.

8 years agoMerge pull request #2209 from wtgodbe/prTestRun
William Godbe [Wed, 2 Dec 2015 21:32:05 +0000 (13:32 -0800)]
Merge pull request #2209 from wtgodbe/prTestRun

Modifications to OS X PR test run

8 years agoAdded release
William Godbe [Wed, 2 Dec 2015 21:31:13 +0000 (13:31 -0800)]
Added release

8 years agoMerge pull request #2208 from wtgodbe/prTestRun
William Godbe [Wed, 2 Dec 2015 21:25:41 +0000 (13:25 -0800)]
Merge pull request #2208 from wtgodbe/prTestRun

resolved naming conflict

8 years agoresolved naming conflict
William Godbe [Wed, 2 Dec 2015 21:24:06 +0000 (13:24 -0800)]
resolved naming conflict

8 years agoMerge pull request #2199 from wtgodbe/prTestRun
William Godbe [Wed, 2 Dec 2015 20:06:25 +0000 (12:06 -0800)]
Merge pull request #2199 from wtgodbe/prTestRun

OS X tests should now be run with each PR

8 years agoFirst crack
William Godbe [Tue, 1 Dec 2015 23:51:29 +0000 (15:51 -0800)]
First crack

8 years agoImplement an allocator for executable (JIT) memory in PAL
Sergiy Kuryata [Wed, 2 Dec 2015 18:15:18 +0000 (10:15 -0800)]
Implement an allocator for executable (JIT) memory in PAL

This change improves performance of CoreCLR with Server GC enabled by
about 30% according to ASP.NET benchmarks on Linux. The table below shows
number of requests per second that an ASP.NET benchmark could handle on my
machine before and after the change.

Pipeline        Before          After           Improvement
16              230K Req/sec    305K Req/sec    33%
256             240K Req/sec    340K Req/sec    42%

The problem was that with Server GC enabled, the GC initialization code was
reserving a large chunck (about 18GB on my machine) of virtual address
space during runtime initialization. Unfortunately, due to implementation
details of MM on Linux, GC memory was located next to the location of
libcoreclr. As a result, the runtime could not allocate memory for JIT'ed
code close to the coreclr library. Because of that the JIT'ed code had to
use jump stubs to call functions from the runtime (which can become very
expensive, for example, for write barriers).

This change fixes this issue by implementing a simple allocator that tries
to reserve (during process startup) a chuck of virtual memory that is
located near the coreclr library (within 2GB range) that can be later used
for JIT'ed code.

8 years agoMerge pull request #2203 from dotnet-bot/from-tfs
Jan Kotas [Wed, 2 Dec 2015 18:07:38 +0000 (10:07 -0800)]
Merge pull request #2203 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoIntegrate GC fix to compensate for OS bug
Jan Kotas [Wed, 2 Dec 2015 17:03:26 +0000 (09:03 -0800)]
Integrate GC fix to compensate for OS bug

[tfs-changeset: 1553463]