platform/upstream/coreclr.git
8 years agoMerge pull request #2375 from LLITCHEV/FixIssue1884Again
Lubomir Litchev [Thu, 17 Dec 2015 20:32:04 +0000 (12:32 -0800)]
Merge pull request #2375 from LLITCHEV/FixIssue1884Again

Fix a bad conflict resolution.

8 years agoMerge pull request #2370 from cmckinsey/DMath
Chris McKinsey [Thu, 17 Dec 2015 19:33:42 +0000 (11:33 -0800)]
Merge pull request #2370 from cmckinsey/DMath

Add the BenchF/Dmath Benchstone benchmark in the Xunit.performance fo…

8 years agoFix a bad conflict resolution.
Lubomir Litchev [Thu, 17 Dec 2015 18:47:17 +0000 (10:47 -0800)]
Fix a bad conflict resolution.

It appears the latest FI of the 4.6.1 wrok has overriden one of the tail
call fixes for System V struct passing. This change is fixing the problem
by putting back the right code.

8 years agoMerge pull request #2369 from speshuric/bug/2366
Jan Kotas [Thu, 17 Dec 2015 16:54:13 +0000 (08:54 -0800)]
Merge pull request #2369 from speshuric/bug/2366

Fix System.Collections.BitArray.Clone() fails when Length near Int32.MaxValue

8 years agoMerge pull request #2372 from jkotas/gc-update
Jan Kotas [Thu, 17 Dec 2015 05:54:35 +0000 (21:54 -0800)]
Merge pull request #2372 from jkotas/gc-update

Update GC from CoreRT

8 years agoUpdate GC from CoreRT
Jan Kotas [Thu, 17 Dec 2015 03:37:04 +0000 (19:37 -0800)]
Update GC from CoreRT

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

8 years agoMerge pull request #2351 from hoyMS/interopTestLinux
Pat Gavlin [Thu, 17 Dec 2015 03:01:21 +0000 (19:01 -0800)]
Merge pull request #2351 from hoyMS/interopTestLinux

Enable jit64\hfa tests for Linux

8 years agoMerge pull request #2368 from jkotas/rename-gcscan
Jan Kotas [Thu, 17 Dec 2015 02:17:32 +0000 (18:17 -0800)]
Merge pull request #2368 from jkotas/rename-gcscan

Rename CNameSpace to GCScan

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

Merge changes from TFS

8 years agoFix build break in internal build
Jan Kotas [Thu, 17 Dec 2015 01:48:20 +0000 (17:48 -0800)]
Fix build break in internal build

[tfs-changeset: 1558334]

8 years agoRename CNameSpace to GCScan
Jan Kotas [Wed, 16 Dec 2015 23:26:25 +0000 (15:26 -0800)]
Rename CNameSpace to GCScan

8 years agoAdd the BenchF/Dmath Benchstone benchmark in the Xunit.performance format.
Chris McKinsey [Wed, 16 Dec 2015 23:59:27 +0000 (15:59 -0800)]
Add the BenchF/Dmath Benchstone benchmark in the Xunit.performance format.

8 years agoFix System.Collections.BitArray.Clone() fails when Length near Int32.MaxValue
Alexander Speshilov [Wed, 16 Dec 2015 23:45:47 +0000 (02:45 +0300)]
Fix System.Collections.BitArray.Clone() fails when Length near Int32.MaxValue

8 years agoMerge pull request #2358 from jkotas/corert-jitdump
Jan Kotas [Wed, 16 Dec 2015 23:37:36 +0000 (15:37 -0800)]
Merge pull request #2358 from jkotas/corert-jitdump

Make JitDump work in ilc.exe

8 years agoEnable jit64\hfa tests for Linux
Hongtao Yu [Tue, 15 Dec 2015 23:17:01 +0000 (15:17 -0800)]
Enable jit64\hfa tests for Linux

This includes the work to copy native interop test libraries over to the mscorlib path in order for interop tests to run on linux.

8 years agoMerge pull request #2364 from jashook/linux_arm64
Jan Kotas [Wed, 16 Dec 2015 23:07:20 +0000 (15:07 -0800)]
Merge pull request #2364 from jashook/linux_arm64

Linux arm64 build fix.

8 years agoMerge pull request #2367 from naamunds/AddDebianCi
Nate Amundson [Wed, 16 Dec 2015 22:34:23 +0000 (16:34 -0600)]
Merge pull request #2367 from naamunds/AddDebianCi

Add Debian build CI jobs

8 years agoAdd Debian build CI jobs
Nate Amundson [Wed, 16 Dec 2015 22:24:46 +0000 (16:24 -0600)]
Add Debian build CI jobs

This is part of the work for https://github.com/dotnet/corefx/issues/4656

8 years agoMake JitDump work in ilc.exe
Jan Kotas [Wed, 16 Dec 2015 04:23:11 +0000 (20:23 -0800)]
Make JitDump work in ilc.exe

The JIT is not expected to make assumption about format of raw signatures to parse them.
Instead, it should depend on JIT-EE interface for parsing. This invariant was violates in
couple of places related to debug COMPlus_ method filters that caused them to crash under CoreRT.

Fixed the filters to use the proper abstraction instead.

8 years agoLinux arm64 build fix.
jashook [Wed, 16 Dec 2015 19:21:16 +0000 (11:21 -0800)]
Linux arm64 build fix.

The fi introduced an arm64 define that was not picked up as a compiled error by x64. Verified with clang-3.6.

8 years agoMerge pull request #2363 from BruceForstall/FixConfigUsage
Bruce Forstall [Wed, 16 Dec 2015 20:57:24 +0000 (12:57 -0800)]
Merge pull request #2363 from BruceForstall/FixConfigUsage

Fix incorrect usage of configuration variables

8 years agoMerge pull request #2361 from BruceForstall/JitMinOptsName
Bruce Forstall [Wed, 16 Dec 2015 20:56:58 +0000 (12:56 -0800)]
Merge pull request #2361 from BruceForstall/JitMinOptsName

Add a new COMPLUS_JITMinOptsName to force MinOpts for a named function

8 years agoMerge pull request #2360 from dotnet-bot/from-tfs
Jan Kotas [Wed, 16 Dec 2015 20:11:36 +0000 (12:11 -0800)]
Merge pull request #2360 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoFix incorrect usage of configuration variables
Bruce Forstall [Wed, 16 Dec 2015 18:57:53 +0000 (10:57 -0800)]
Fix incorrect usage of configuration variables

This bug caused COMPLUS_JitDoEarlyProp to also affect Value Numbering, and COMPLUS_JitDoValueNumber not to work independently.

8 years agoAdd a new COMPLUS_JITMinOptsName to force MinOpts for a named function
Bruce Forstall [Wed, 16 Dec 2015 17:41:20 +0000 (09:41 -0800)]
Add a new COMPLUS_JITMinOptsName to force MinOpts for a named function

This uses the same name syntax as other variables taking names, like JitDump.
It is useful When tracking down silent bad codegen bugs, where you have a name
but no repeatable function number, such as due to a multithreaded app.

8 years agoFix build break - superfluous argument passed to printf
Jan Kotas [Wed, 16 Dec 2015 17:20:43 +0000 (09:20 -0800)]
Fix build break - superfluous argument passed to printf

8 years agoMerge pull request #2354 from pgavlin/ImportSimpleTests
Pat Gavlin [Wed, 16 Dec 2015 15:30:19 +0000 (07:30 -0800)]
Merge pull request #2354 from pgavlin/ImportSimpleTests

Import additional JIT tests.

8 years agoBug fixes from desktop
Jan Kotas [Wed, 16 Dec 2015 15:06:21 +0000 (07:06 -0800)]
Bug fixes from desktop

- Low memory perf fixes in GC
- Update EnC-capable logic to depend on assembly manifest

[tfs-changeset: 1558202]

8 years agoMerge pull request #2347 from hoyMS/testPorting
Pat Gavlin [Wed, 16 Dec 2015 01:00:42 +0000 (17:00 -0800)]
Merge pull request #2347 from hoyMS/testPorting

Porting tests

8 years agoImport additional JIT tests.
Pat Gavlin [Tue, 15 Dec 2015 22:28:20 +0000 (14:28 -0800)]
Import additional JIT tests.

These tests were not imported earlier due to missing APIs. In the
case of all APIs besides TypedReference, the sources were adjusted
to accommodate the differences on .Net Core. In the case of
TypedReference, the tests now reference the local mscorlib.

8 years agoMerge pull request #2214 from jashook/legacy_jit_build
Jan Kotas [Tue, 15 Dec 2015 23:48:21 +0000 (15:48 -0800)]
Merge pull request #2214 from jashook/legacy_jit_build

Build the legacy jit for x86.

8 years agoPorting tests
Hongtao Yu [Tue, 15 Dec 2015 20:40:24 +0000 (12:40 -0800)]
Porting tests

jit\directed\nullabletypes\value_d.csproj
jit\directed\nullabletypes\value_do.csproj
jit\directed\nullabletypes\value_r.csproj
jit\directed\nullabletypes\value_ro.csproj
jit\methodical\fp\apps\bouncingball_cs_d.csproj
jit\methodical\fp\apps\bouncingball_cs_do.csproj
jit\methodical\fp\apps\bouncingball_cs_r.csproj
jit\methodical\fp\apps\bouncingball_cs_ro.csproj
jit\regression\vs-ia64-jit\m00\b77951\b77951.csproj
jit\methodical\stringintern\_XModuletest1-xmod.csproj
jit\methodical\stringintern\_XModuletest2-xmod.csproj
jit\methodical\stringintern\_XModuletest4-xmod.csproj

Remove

8 years agoBuild the legacy jit for x86 and arm.
Jarret Shook [Wed, 2 Dec 2015 23:48:45 +0000 (15:48 -0800)]
Build the legacy jit for x86 and arm.

Small changes to cmake to allow us to build the legacy jit as the fallback
jit for both x86 and arm.

8 years agoMerge pull request #2346 from dotnet-bot/from-tfs
Jan Kotas [Tue, 15 Dec 2015 20:42:17 +0000 (12:42 -0800)]
Merge pull request #2346 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #2341 from mikem8361/pipefile2
Mike McLaughlin [Tue, 15 Dec 2015 20:14:35 +0000 (12:14 -0800)]
Merge pull request #2341 from mikem8361/pipefile2

Debugger transport pipe file cleanup - Part 2

8 years agoMerge pull request #2344 from rahku/winArm64
Gaurav Khanna [Tue, 15 Dec 2015 19:59:00 +0000 (11:59 -0800)]
Merge pull request #2344 from rahku/winArm64

Win arm64 -- Final PR

8 years agoDebugger transport pipe file cleanup - Part 2
Mike McLaughlin [Tue, 15 Dec 2015 01:24:43 +0000 (17:24 -0800)]
Debugger transport pipe file cleanup - Part 2

Clean up the pipe files in /tmp for unhandled managed exception termination.

Added a simple PAL shutdown API to set (one) shutdown callback handler which is used
by the debugger code to cleanup the transport thus removing the pipe files from /tmp.

This callback is executed PAL_Shutdown, ExitProcess and TerminateProcess, the later used
to terminate the process for an unhandled managed exception.

Add the __attribute__((destructor)) to the ShutdownTransport function to cover the case if
the if a third party host, the managed runtime or third party pinvoked code calls exit().

8 years agoAdd the implementation of the TargetFrameworkName method on AppContext.
Alex Ghiondea [Tue, 15 Dec 2015 18:43:03 +0000 (10:43 -0800)]
Add the implementation of the TargetFrameworkName method on AppContext.

This change does not contain the packaging work required to expose this API yet.

[tfs-changeset: 1557809]

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.