platform/upstream/coreclr.git
8 years agoBuild arm64 using private toolset
Rahul Kumar [Tue, 24 Nov 2015 01:11:42 +0000 (17:11 -0800)]
Build arm64 using private toolset

Successfully builds all binaries except sos.dll & x64 binaries

8 years agoMerge pull request #2343 from dotnet-bot/from-tfs
Jan Kotas [Tue, 15 Dec 2015 14:43:57 +0000 (06:43 -0800)]
Merge pull request #2343 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #2342 from jkotas/legacy_abort
Jan Kotas [Tue, 15 Dec 2015 14:43:47 +0000 (06:43 -0800)]
Merge pull request #2342 from jkotas/legacy_abort

Move Thread.Abort under FEATURE_LEGACYSURFACE

8 years agoMove Thread.Abort under FEATURE_LEGACYSURFACE
Jan Kotas [Tue, 15 Dec 2015 13:13:46 +0000 (05:13 -0800)]
Move Thread.Abort under FEATURE_LEGACYSURFACE

8 years agoAdd src/jit/protojit
Jan Kotas [Tue, 15 Dec 2015 13:06:39 +0000 (05:06 -0800)]
Add src/jit/protojit

[tfs-changeset: 1557767]

8 years agoMerge pull request #2340 from dotnet-bot/from-tfs
Jan Kotas [Tue, 15 Dec 2015 13:00:38 +0000 (05:00 -0800)]
Merge pull request #2340 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #2339 from Marqin/master
Jan Vorlicek [Tue, 15 Dec 2015 07:17:49 +0000 (08:17 +0100)]
Merge pull request #2339 from Marqin/master

[BUILD] Fix for #2338

8 years agoMerge pull request #2335 from hoyMS/testPorting
Pat Gavlin [Tue, 15 Dec 2015 05:42:58 +0000 (21:42 -0800)]
Merge pull request #2335 from hoyMS/testPorting

Porting more tests

8 years agoMerge pull request #2337 from ellismg/fix-2314
Jan Kotas [Tue, 15 Dec 2015 01:50:38 +0000 (17:50 -0800)]
Merge pull request #2337 from ellismg/fix-2314

Fix transparency annotations

8 years agoExpose TypeInfo.IsEquiventTo and Assembly.GetEntryAssembly() APIs in mscorlib
Pallavi Taneja [Mon, 14 Dec 2015 19:03:33 +0000 (11:03 -0800)]
Expose TypeInfo.IsEquiventTo and Assembly.GetEntryAssembly() APIs in mscorlib

[tfs-changeset: 1557485]

8 years agoDon't propagate type handles that are used as null checks
Bruce Forstall [Mon, 14 Dec 2015 04:10:15 +0000 (20:10 -0800)]
Don't propagate type handles that are used as null checks

In order not to change program behavior, don't propagate type handles that are used as null checks, which are usually in form of
                       *  stmtExpr  void  (top level)
                       \--*  indir     int
                           \--*  lclVar    ref    V02 loc0

[tfs-changeset: 1557281]

8 years agoAdd if to check if Linux for -ldl, because it only works on Linux.
Marqin [Tue, 15 Dec 2015 01:22:48 +0000 (02:22 +0100)]
Add if to check if Linux for -ldl, because it only works on Linux.

8 years agoMerge pull request #2327 from mikem8361/cleanup
Mike McLaughlin [Tue, 15 Dec 2015 00:56:18 +0000 (16:56 -0800)]
Merge pull request #2327 from mikem8361/cleanup

PAL Module/shutdown cleanup.

8 years agoPorting tests:
Hongtao Yu [Fri, 11 Dec 2015 22:22:06 +0000 (14:22 -0800)]
Porting tests:

jit\regression\clr-x86-jit\v1-m09.5-pdc\b12795\b12795.csproj
jit\methodical\eh\deadcode\deadcodeincatch_d.ilproj

Porting interop tests
jit\jit64\mcc\interop\mcc_i10.exe
jit\jit64\mcc\interop\mcc_i11.exe
jit\jit64\mcc\interop\mcc_i12.exe
jit\jit64\mcc\interop\mcc_i13.exe

Disabled for linux since the tests are using native varargs.

8 years agoLink unixcoreruncommon with dl, which is needed on Unix-like systems
Marqin [Tue, 15 Dec 2015 00:48:58 +0000 (01:48 +0100)]
Link unixcoreruncommon with dl, which is needed on Unix-like systems
to use dynamic linking.

8 years agoMerge pull request #2280 from LLITCHEV/SysVTests
Lubomir Litchev [Tue, 15 Dec 2015 00:24:48 +0000 (16:24 -0800)]
Merge pull request #2280 from LLITCHEV/SysVTests

Fix a tight assert for System V struct returning.

8 years agoMerge pull request #2312 from richardlford/portilasm1210
Pat Gavlin [Tue, 15 Dec 2015 00:19:28 +0000 (16:19 -0800)]
Merge pull request #2312 from richardlford/portilasm1210

Update IL.targets to handle more properties

8 years agoFix transparency annotations
Matt Ellis [Mon, 14 Dec 2015 22:06:45 +0000 (14:06 -0800)]
Fix transparency annotations

The cross platform globalization code had some incorrect transparency
annotations. This was causing problems for crossgen and would also
trigger issues if CoreCLR was run in a mode to enable transparency
checks (which were disabled by default in 725d6a9).

I ran SecAnnotate over the Unix build of mscorlib.dll and fixed up the
problems. There were a few cases where we had some functions that were
marked a SecuritySafeCritical but they were better marked as
SecurityCritical (since they didn't do bounds checks, instead relying on
upstack code to do so) and I updated them when I was in the area.

Fixes #2314

8 years agoPAL Module/shutdown cleanup.
Mike McLaughlin [Thu, 10 Dec 2015 03:22:56 +0000 (19:22 -0800)]
PAL Module/shutdown cleanup.

Added a PAL_Shutdown function that cleans/shutdowns the PAL without exiting/terminating
the process doing exactly what ExitProcess/TerminateProcess before exiting the process.

Removed the PAL_InitializeCoreCLR export. The new coreclr_* hosting apis should be used.

Moved the "is module manager initialized" check (exe_module.prev != NULL) inside the module
lock to prevent races during shutdown in LOADCallDllMain.

Removed LOADFreeModules so we never try to call the DLL_PROCESS_DETACH handlers. Most of this
cleanup happened because I was trying to getting the DLL_PROCESS_DETACH notifications working,
but there were too many opportunities for deadlock. Emulating Windows behavior isn't that
important and in this case will cause more problems that it fixes.

Removed PAL_RegisterLibrary*/PAL_UnregisterLibrary. They were only used in one place to load modules
that don't exist anymore (rotor_palrt and sscoree).

Renamed LOAD_SEH_CallDllMain to LoadCallDllMainSafe (we don't usually use _ in names) and use this
function in all the places we call the DllMain handler. This combines some code in a common place
and protects all DllMain calls from exceptions.

Source code formatting cleanup and moved internal functions around to be next to the rest of the
internal functions.

Initialize pDllMain to NULL in LOADAllocModule.

Get the DllMain function address into LOADAddModule so that it is initialized in the PAL_RegisterModule path.

Changed PAL_UnregisterModule not to call the DllMain function.

8 years agoUpdate IL.targets to handle more properties
Richard L Ford [Thu, 10 Dec 2015 23:58:49 +0000 (15:58 -0800)]
Update IL.targets to handle more properties

Also added exclusions for tests failing
because we are now paying attention to
properties.

8 years agoMerge remote-tracking branch 'origin/master' into SysVTests
Lubomir Litchev [Mon, 14 Dec 2015 18:49:29 +0000 (10:49 -0800)]
Merge remote-tracking branch 'origin/master' into SysVTests

8 years agoMerge pull request #2308 from hoyMS/hfaTest
Pat Gavlin [Mon, 14 Dec 2015 16:46:26 +0000 (08:46 -0800)]
Merge pull request #2308 from hoyMS/hfaTest

Porting hfa tests

8 years agoPorting managed part of HFA tests
Hongtao Yu [Fri, 11 Dec 2015 16:46:18 +0000 (08:46 -0800)]
Porting managed part of HFA tests

8 years agoMerge pull request #2278 from manu-silicon/fix_llilc
Jan Kotas [Sun, 13 Dec 2015 16:27:11 +0000 (08:27 -0800)]
Merge pull request #2278 from manu-silicon/fix_llilc

Enable Linux compilation of LLILC

8 years agoMerge pull request #2324 from jkotas/fix-pal-test
Jan Kotas [Sun, 13 Dec 2015 06:40:24 +0000 (22:40 -0800)]
Merge pull request #2324 from jkotas/fix-pal-test

Delete bad PAL test case

8 years agoMerge pull request #2320 from mikedn/lnk4221
Jan Kotas [Sun, 13 Dec 2015 00:31:18 +0000 (16:31 -0800)]
Merge pull request #2320 from mikedn/lnk4221

Do not include unnecessary files in build

8 years agoDelete bad PAL test case
Jan Kotas [Sat, 12 Dec 2015 23:33:19 +0000 (15:33 -0800)]
Delete bad PAL test case

8 years agoRemove unnecessary files from build and disable LNK4221
Mike Danes [Sat, 12 Dec 2015 13:12:10 +0000 (15:12 +0200)]
Remove unnecessary files from build and disable LNK4221

Some files have their contents ifdefed out because some CLR features
(remoting, CAS, fusion etc.) are not present (and they'll probably never
be) in CoreCLR. A few others are DAC, CrossGen or arch specific so they
have been moved to the appropiate file lists.

8 years agoMerge pull request #2323 from jkotas/disable-failing-tests
Jan Kotas [Sat, 12 Dec 2015 21:04:12 +0000 (13:04 -0800)]
Merge pull request #2323 from jkotas/disable-failing-tests

Disable failing tests

8 years agoDisable failing tests
Jan Kotas [Sat, 12 Dec 2015 18:35:17 +0000 (10:35 -0800)]
Disable failing tests

8 years agoMerge pull request #2321 from dotnet-bot/from-tfs
Jan Kotas [Sat, 12 Dec 2015 18:26:21 +0000 (10:26 -0800)]
Merge pull request #2321 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoFix build break
Jan Kotas [Sat, 12 Dec 2015 14:55:32 +0000 (06:55 -0800)]
Fix build break

[tfs-changeset: 1557154]

8 years agoMerge pull request #2318 from mikem8361/pipefile
Mike McLaughlin [Sat, 12 Dec 2015 05:20:32 +0000 (21:20 -0800)]
Merge pull request #2318 from mikem8361/pipefile

Fix pipe file cleanup in /tmp directory.

8 years agoMerge pull request #2316 from dotnet-bot/from-tfs
Brian Sullivan [Sat, 12 Dec 2015 01:38:01 +0000 (17:38 -0800)]
Merge pull request #2316 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoPort of all JIT changes for .NET Framework 4.6.1 changes
Brian Sullivan [Sat, 12 Dec 2015 00:16:44 +0000 (16:16 -0800)]
Port of all JIT changes for .NET Framework 4.6.1 changes
    http://blogs.msdn.com/b/dotnet/archive/2015/11/30/net-framework-4-6-1-is-now-available.aspx

.NET Framework list of changes in 4.6.1
    https://github.com/Microsoft/dotnet/blob/master/releases/net461/dotnet461-changes.md

Additional changes including
-    Working ARM64 JIT compiler
-    Additional JIT Optimizations
     o    Tail call recursion optimization
     o    Array length tracking optimization
     o    CSE for widening casts
     o    Smaller encoding for RIP relative and absolute addresses in addressing modes
     o    Tracked Local Variable increased to 512
     o    Improved handling of Intrinsics System.GetType()
     o    Improved handling of Math intrinsics
-    Work for the X86 Ryu-JIT compiler

[tfs-changeset: 1557101]

8 years agoFix pipe file cleanup in /tmp directory.
Mike McLaughlin [Fri, 11 Dec 2015 23:31:33 +0000 (15:31 -0800)]
Fix pipe file cleanup in /tmp directory.

The debugger/transport shutdown was not being called because we don't emulate
coreclr's DllMain DLL_PROCESS_DETACH callbacks. Adding the DLL_PROCESS_DETACH
DllMain callbacks will potentially crash deadlocks and other problems.  Added the
debugger terminate/shutdown call to EEShutDown's first phase.

8 years agoMerge pull request #2288 from hoyMS/testHasReference
Pat Gavlin [Sat, 12 Dec 2015 00:04:14 +0000 (16:04 -0800)]
Merge pull request #2288 from hoyMS/testHasReference

  Porting tests that have references

8 years agoMerge pull request #2310 from mikedn/lnk4044
Jan Kotas [Fri, 11 Dec 2015 23:52:46 +0000 (15:52 -0800)]
Merge pull request #2310 from mikedn/lnk4044

Do not use /OPT:REF /OPT:ICF for static libraries

8 years agoFix desktop build of ilasm
Bruce Forstall [Fri, 11 Dec 2015 23:30:22 +0000 (15:30 -0800)]
Fix desktop build of ilasm

[tfs-changeset: 1557090]

8 years agoDo not use /OPT:REF /OPT:ICF for static libraries
Mike Danes [Fri, 11 Dec 2015 20:34:27 +0000 (22:34 +0200)]
Do not use /OPT:REF /OPT:ICF for static libraries

These options are only valid on dlls and exes and generate linker warnings when used on static libraries

8 years agoDisable JIT.Methodical.Boxing.misc._dbgconcurgc_il._dbgconcurgc_il for non-windows
Hongtao Yu [Fri, 11 Dec 2015 20:15:03 +0000 (12:15 -0800)]
Disable JIT.Methodical.Boxing.misc._dbgconcurgc_il._dbgconcurgc_il for non-windows

8 years agoMerge pull request #2303 from kyulee1/ilasm
Jan Vorlicek [Fri, 11 Dec 2015 19:27:45 +0000 (20:27 +0100)]
Merge pull request #2303 from kyulee1/ilasm

Enable ILASM for *nix

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 #2302 from ccurrens/dtfi_race_condition
Jan Kotas [Fri, 11 Dec 2015 16:42:08 +0000 (08:42 -0800)]
Merge pull request #2302 from ccurrens/dtfi_race_condition

Fix race condition in DateTimeOffsetPattern

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 #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 agoFix race condition in DateTimeOffsetPattern
Christopher Currens [Thu, 10 Dec 2015 23:55:26 +0000 (15:55 -0800)]
Fix race condition in DateTimeOffsetPattern

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 agoFix a tight assert for System V struct returning.
Lubomir Litchev [Wed, 9 Dec 2015 13:52:28 +0000 (05:52 -0800)]
Fix a tight assert for System V struct returning.

When having a single eightbyte structs, the type of the struct is
normalized to the type of the single eight byte, thus replacing the
TYP_STRUCT. Account for this in the importer.

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 agoEnable Linux compilation of LLILC
Manu [Wed, 9 Dec 2015 07:54:37 +0000 (16:54 +0900)]
Enable Linux compilation of LLILC

Fixed some C++ warnings that are treated as errors when compiling
LLILC.

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.