platform/upstream/dotnet/runtime.git
9 years agoDisable DEBUG_MESSAGES in release build of CoreCLR PAL
Sergiy Kuryata [Tue, 20 Oct 2015 04:13:01 +0000 (21:13 -0700)]
Disable DEBUG_MESSAGES in release build of CoreCLR PAL

This reduces the size of libcoreclr by 1.3MB and improves performace results by a few percent on some benchmarks.

Commit migrated from https://github.com/dotnet/coreclr/commit/d1ee2104052aeb3b4dacdf33d9ecf55f1ed33f1d

9 years agoMerge pull request dotnet/coreclr#1802 from jkotas/networking
Jan Kotas [Tue, 20 Oct 2015 02:11:20 +0000 (19:11 -0700)]
Merge pull request dotnet/coreclr#1802 from jkotas/networking

Delete remaining vestiges of PAL networking support

Commit migrated from https://github.com/dotnet/coreclr/commit/3d1175e017b0c0b4cd7276044f607203a3e9e436

9 years agoMerge pull request dotnet/coreclr#1800 from stephentoub/invariant_casing_fix
Stephen Toub [Tue, 20 Oct 2015 01:53:35 +0000 (21:53 -0400)]
Merge pull request dotnet/coreclr#1800 from stephentoub/invariant_casing_fix

Fix Turkish i casing with invariant culture on Unix

Commit migrated from https://github.com/dotnet/coreclr/commit/8f3cbd96aa9f3952686fc37d8547fe9c928f7279

9 years agoDelete remaining vestiges of PAL networking support
Jan Kotas [Tue, 20 Oct 2015 00:49:57 +0000 (17:49 -0700)]
Delete remaining vestiges of PAL networking support

Commit migrated from https://github.com/dotnet/coreclr/commit/27d9deab63ecedd2e2cf12fb74e25175f8bd300b

9 years agoFix Turkish i casing with invariant culture
stephentoub [Mon, 19 Oct 2015 20:35:36 +0000 (16:35 -0400)]
Fix Turkish i casing with invariant culture

It turns out there are some differences in the casing data used by Windows and ICU for our invariant culture.  In particular, Turkish 'i' is handled differently.

This change splits the shim ChangeCase function into three: ChangeCaseTurkish (used for Turkish culture), ChangeCaseInvariant (used for Invariant culture), and ChangeCase (used for everything else.  ChangeCaseInvariant includes the new special cases.  Call sites in the  managed code are localized to a single function that determines which native function to invoke.

Commit migrated from https://github.com/dotnet/coreclr/commit/28e12d2a14d87f03586e9afd58065abb95b1a637

9 years agoMerge pull request dotnet/coreclr#1785 from bryanar/managed-test-port
Bryan P. Arant [Mon, 19 Oct 2015 08:11:21 +0000 (01:11 -0700)]
Merge pull request dotnet/coreclr#1785 from bryanar/managed-test-port

Managed Test Port

Commit migrated from https://github.com/dotnet/coreclr/commit/3015ff7afb4936a1c5c5856daa4e3482e6b390a9

9 years agoManaged Test Port
dotnet-bot [Wed, 30 Sep 2015 19:20:52 +0000 (12:20 -0700)]
Managed Test Port

This is a collection of managed runtime tests from an internal legacy test tree.

Commit migrated from https://github.com/dotnet/coreclr/commit/004514c07bcf5230b518befd75f794733b5f9067

9 years agoMerge pull request dotnet/coreclr#1789 from jkotas/crsttypetool
Jan Kotas [Sat, 17 Oct 2015 00:11:30 +0000 (17:11 -0700)]
Merge pull request dotnet/coreclr#1789 from jkotas/crsttypetool

Add CrstTypeTool source code

Commit migrated from https://github.com/dotnet/coreclr/commit/917e33ad279878b4929e95bfdd1ec5484d108ab0

9 years agoAdd CrstTypeTool source code
Jan Kotas [Fri, 16 Oct 2015 23:41:55 +0000 (16:41 -0700)]
Add CrstTypeTool source code

This tool is required for updating autogenerated crsttypes.h file

Commit migrated from https://github.com/dotnet/coreclr/commit/7a130e64d66045975d3a36e810e8d15819fdadda

9 years agoMerge pull request dotnet/coreclr#1779 from ramarag/control_xplat_event_logging
Rama krishnan Raghupathy [Fri, 16 Oct 2015 23:01:37 +0000 (16:01 -0700)]
Merge pull request dotnet/coreclr#1779 from ramarag/control_xplat_event_logging

Controlling Xplat Event logging

Commit migrated from https://github.com/dotnet/coreclr/commit/36a6186a87cdcfe3818cd3b876feab0b93774a4e

9 years agoMerge pull request dotnet/coreclr#1786 from kouvel/BuildFix
Koundinya Veluri [Fri, 16 Oct 2015 22:03:20 +0000 (15:03 -0700)]
Merge pull request dotnet/coreclr#1786 from kouvel/BuildFix

Fix Windows x86 build - use macro for friend declaration

Commit migrated from https://github.com/dotnet/coreclr/commit/55bff47d2f2230d79c00004c45565bf784db306e

9 years agoControlling Xplat Event logging:
Rama [Thu, 15 Oct 2015 22:16:24 +0000 (15:16 -0700)]
Controlling Xplat Event logging:
Adding an environment variable COMPlus_EnableEventLog to turn on/off
Xplat Event Logging, by default Xplat Event logging is turned off

Commit migrated from https://github.com/dotnet/coreclr/commit/647156a4c78269f5393eb9fa2e85b24255426df2

9 years agoMerge pull request dotnet/coreclr#1783 from nguerrera/explicit-location-model
Nick Guerrera [Fri, 16 Oct 2015 20:41:10 +0000 (13:41 -0700)]
Merge pull request dotnet/coreclr#1783 from nguerrera/explicit-location-model

Be explicit about exposing Assembly.Location in model.xml

Commit migrated from https://github.com/dotnet/coreclr/commit/f7089df9e2377603b04fe2837bd9bbc3fc434304

9 years agoFix Windows x86 build - use macro for friend declaration
Koundinya Veluri [Fri, 16 Oct 2015 20:37:57 +0000 (13:37 -0700)]
Fix Windows x86 build - use macro for friend declaration

Commit migrated from https://github.com/dotnet/coreclr/commit/257fb0e6cd7fda099a790d5e9a38b9c602e76050

9 years agoMerge pull request dotnet/coreclr#1781 from nguerrera/expose-mvid
Nick Guerrera [Fri, 16 Oct 2015 18:41:39 +0000 (11:41 -0700)]
Merge pull request dotnet/coreclr#1781 from nguerrera/expose-mvid

Expose Module.ModuleVersionId

Commit migrated from https://github.com/dotnet/coreclr/commit/e83ca434502e3043527cb6929874089029ecc255

9 years agoPass __IntermediatesDir to msbuild in build.sh
Nate Amundson [Fri, 16 Oct 2015 16:32:06 +0000 (11:32 -0500)]
Pass __IntermediatesDir to msbuild in build.sh

Currently, building coreclr x-plat fails if not running as root due to
the build trying to copy files to "/ToolRuntime".  The issue is that
$(IntermediatesOutputRootPath) is not set when running from build.sh,
and testruntime.targets in buildtools defines ToolRuntimePath as
"$(IntermediateOutputRootPath)ToolRuntime\".  The fix is to pass
__IntermediatesDir to msbuild in build_mscorlib, which results in
$(IntermediatesOutputRootPath) being properly set.

This change also adds a skipcoreclr flag to allow the user to skip the
CoreCLR part of the build, similar to the existing skipmscorlib flag.

Commit migrated from https://github.com/dotnet/coreclr/commit/18e80622347e41cc53ca2ffa880a19298edfd60d

9 years agoBe explicit about exposing Assembly.Location in model.xml
Nick Guerrera [Fri, 16 Oct 2015 01:07:29 +0000 (18:07 -0700)]
Be explicit about exposing Assembly.Location in model.xml

Commit migrated from https://github.com/dotnet/coreclr/commit/cc228c0597791b48ba669e0d133c655347da2dac

9 years agoExpose Module.ModuleVersionId
Nick Guerrera [Thu, 15 Oct 2015 23:15:14 +0000 (16:15 -0700)]
Expose Module.ModuleVersionId

Commit migrated from https://github.com/dotnet/coreclr/commit/202fad9b4e4797b56023ad0ff1ad72e86db0efb0

9 years agoMerge pull request dotnet/coreclr#1778 from swaroop-sridhar/comment
Jan Kotas [Thu, 15 Oct 2015 21:24:29 +0000 (14:24 -0700)]
Merge pull request dotnet/coreclr#1778 from swaroop-sridhar/comment

Fix a comment in GcInfoEncoder.h

Commit migrated from https://github.com/dotnet/coreclr/commit/ddff89241f682995bdde165de89b579573a338aa

9 years agoMerge pull request dotnet/coreclr#1777 from dotnet-bot/from-tfs
Matt Ellis [Thu, 15 Oct 2015 21:18:51 +0000 (14:18 -0700)]
Merge pull request dotnet/coreclr#1777 from dotnet-bot/from-tfs

Merge changes from TFS

Commit migrated from https://github.com/dotnet/coreclr/commit/3754df9f7d6cfe94d5cf2d3f2a9b357d5dd41881

9 years agoFix a comment in GcInfoEncoder.h
Swaroop Sridhar [Thu, 15 Oct 2015 20:44:32 +0000 (13:44 -0700)]
Fix a comment in GcInfoEncoder.h

Fix a stale comment about stack-slot-base
in the GcInfo Encoder interface.

Commit migrated from https://github.com/dotnet/coreclr/commit/72f940d5a54685aab0b4b3f558288bc3175bc1a3

9 years agoMerge pull request dotnet/coreclr#1690 from bryanar/changes-to-test-tree
Bryan P. Arant [Thu, 15 Oct 2015 20:24:28 +0000 (20:24 +0000)]
Merge pull request dotnet/coreclr#1690 from bryanar/changes-to-test-tree

Changes to Test Tree Infrastructure

Commit migrated from https://github.com/dotnet/coreclr/commit/eaba20beb9a4fea63096e215376c9f2170acda70

9 years agoAdd missing .gitmirror file.
Matt Ellis [Thu, 15 Oct 2015 19:11:32 +0000 (12:11 -0700)]
Add missing .gitmirror file.

This new folder was introduced in dotnet/coreclr@465f56ef0c9c4b125d890e7ac0757e77d54e193c and needs a .gitmirror file.

[tfs-changeset: 1538359]

Commit migrated from https://github.com/dotnet/coreclr/commit/0bc355f4bb3615a41574d9fded3e0a6aa12839e8

9 years agoMerge pull request dotnet/coreclr#1770 from adiaaida/addSkipMscorlib
Michelle McDaniel [Thu, 15 Oct 2015 17:30:03 +0000 (10:30 -0700)]
Merge pull request dotnet/coreclr#1770 from adiaaida/addSkipMscorlib

Add skipmscorlib option to build.cmd

Commit migrated from https://github.com/dotnet/coreclr/commit/8f8d1357e222037cb3fb09ab8712086836185a42

9 years agoMerge pull request dotnet/coreclr#1773 from jkotas/gcee-cleanup
Jan Kotas [Thu, 15 Oct 2015 16:56:13 +0000 (09:56 -0700)]
Merge pull request dotnet/coreclr#1773 from jkotas/gcee-cleanup

Cleanup GC-EE Interface

Commit migrated from https://github.com/dotnet/coreclr/commit/d78fd39ef4b9f08068c3c781dcab7f364f41c162

9 years agoSkip Crossgen of mscorlib for x86
Michelle McDaniel [Wed, 14 Oct 2015 23:55:47 +0000 (16:55 -0700)]
Skip Crossgen of mscorlib for x86

x86 is currently cannot crossgen mscorlib, but we want to get a build in
the lab so that we make sure we do not break the x86 build of coreclr when
we make changes. This change defaults to skipping crossgen for x86 unless
docrossgen is passed to build.cmd.

Commit migrated from https://github.com/dotnet/coreclr/commit/98189891801fd4fadfc5d510a514f3e0f90fec77

9 years agoCleanup GC-EE Interface
Jan Kotas [Thu, 15 Oct 2015 14:14:05 +0000 (07:14 -0700)]
Cleanup GC-EE Interface

- Add proper abstractions for threading methods to GCToEEInterface
- Split sample gcenv into multiple files to avoid redundant content
- Add handle table methods needed by .NET Native WinRT implementation

Part of dotnet/coreclr#1550

Commit migrated from https://github.com/dotnet/coreclr/commit/38034a26ff4e40e98d1af32abe5baef2c3eeea52

9 years agoMerge pull request dotnet/coreclr#1769 from mmitche/fix-type-assert
Matt Mitchell [Thu, 15 Oct 2015 14:44:53 +0000 (07:44 -0700)]
Merge pull request dotnet/coreclr#1769 from mmitche/fix-type-assert

Remove assert found in internal testing

Commit migrated from https://github.com/dotnet/coreclr/commit/afc073b19a9ba98ea687228d5eda694ffde2129d

9 years agoMerge pull request dotnet/coreclr#1772 from anurse/anurse/1771-coreconsole-wpgmptr
Jan Kotas [Thu, 15 Oct 2015 14:21:58 +0000 (07:21 -0700)]
Merge pull request dotnet/coreclr#1772 from anurse/anurse/1771-coreconsole-wpgmptr

change coreconsole to use _get_wpgmptr

Commit migrated from https://github.com/dotnet/coreclr/commit/137f04eba194abc16dade738389032fc406ac6ac

9 years agoChange CoreConsole to use _get_wpgmptr
Andrew Stanton-Nurse [Thu, 15 Oct 2015 05:08:09 +0000 (22:08 -0700)]
Change CoreConsole to use _get_wpgmptr

The first value in argv only contains the string that was used to
launch the process. This means that when the CoreConsole-based
application is on the PATH, some invocations of it (most notably
those done from 'cmd') cause that value to be incomplete.

Changing to use _get_wpgmptr ensures that we always get the full
path to the executable, no matter how it is executed.

Fix dotnet/coreclr#1771

Commit migrated from https://github.com/dotnet/coreclr/commit/3bd624bb3f6679f5d4793787a082f707ad1a700e

9 years agoChanges to Test Infrastructure
Koundinya Veluri [Wed, 30 Sep 2015 19:20:52 +0000 (12:20 -0700)]
Changes to Test Infrastructure

The following changes are being submitted in order to prepare for a large collection of tests to be ported from the internal legacy test tree.

- Adds "build kinds" to the test tree.
- Adds some documentation for the test tree
- Adds a Test Priority feature (see documentation Documentation/project-docs/tests.md for more information.
- Dropped the cs_template.csproj types and converted to individual CSProject files.

Commit migrated from https://github.com/dotnet/coreclr/commit/4cf34fe7988ad04eaa7f699a5d0faea8a8394f95

9 years agoRemove assert found in internal testing
Matt Mitchell [Wed, 14 Oct 2015 23:09:59 +0000 (16:09 -0700)]
Remove assert found in internal testing

This assert was introduced with the fix for dotnet/coreclr#1323 as a sanity check that truly incompatible types couldn't enter this function.  However, there are at least some cases where the types could be different.  In the case found, REF and LONG were the types and the operand was a GT_LEA, which is handled later in the function.
This assert was introduced with the fix for dotnet/coreclr#1323 as a sanity check that truly incompatible types couldn't enter this function.  However, there are at least some cases where the types could be different.  In the case found, REF and LONG were the types and the operand was a GT_LEA, which is handled later in the function.

Commit migrated from https://github.com/dotnet/coreclr/commit/9006df0ed803644ccd268b6aacf6b09423d45c9b

9 years agoMerge pull request dotnet/coreclr#1747 from stephentoub/string_tolowerupper_ascii
Stephen Toub [Wed, 14 Oct 2015 22:24:34 +0000 (18:24 -0400)]
Merge pull request dotnet/coreclr#1747 from stephentoub/string_tolowerupper_ascii

Add ASCII optimization to string.ToLower/ToUpper on Unix

Commit migrated from https://github.com/dotnet/coreclr/commit/c826885f85991fbeb1e99930f08ba4c3c4b8f9a8

9 years agoAvoid brancing in ToLower/UpperAsciiInvariant(char)
stephentoub [Wed, 14 Oct 2015 15:29:11 +0000 (11:29 -0400)]
Avoid brancing in ToLower/UpperAsciiInvariant(char)

Rather than comparing the input char against 'A'/'a' and 'Z'/'z', we simply trim off all but the lower 7 bits and do a lookup into a precomputed table.  This is ~3-4x faster than the branching version.

Commit migrated from https://github.com/dotnet/coreclr/commit/4b8dadec3a89da8d9e4d12ad9b8b68b2cdc7fe91

9 years agoMerge pull request dotnet/coreclr#1761 from kouvel/Instructions
Sergiy Kuryata [Wed, 14 Oct 2015 17:47:11 +0000 (10:47 -0700)]
Merge pull request dotnet/coreclr#1761 from kouvel/Instructions

Add some instructions (tests, new APIs)

Commit migrated from https://github.com/dotnet/coreclr/commit/06579986abb889d2a509be7e2c6370b4fa363fd6

9 years agoMerge pull request dotnet/coreclr#1763 from kouvel/PerfFix
Sergiy Kuryata [Wed, 14 Oct 2015 16:36:12 +0000 (09:36 -0700)]
Merge pull request dotnet/coreclr#1763 from kouvel/PerfFix

Add string allocation fast path outside Windows

Commit migrated from https://github.com/dotnet/coreclr/commit/ba3a1552fdacac4047681e45256edef2599c8b0b

9 years agoAdd ASCII optimization to string.ToLower/ToUpper on Unix
stephentoub [Mon, 12 Oct 2015 19:06:25 +0000 (15:06 -0400)]
Add ASCII optimization to string.ToLower/ToUpper on Unix

Commit migrated from https://github.com/dotnet/coreclr/commit/f48b5ad56a6f6f584cb202c05f5b06c09b7adfbf

9 years agoMerge pull request dotnet/coreclr#1758 from wtgodbe/failingTests
Aditya Mandaleeka [Wed, 14 Oct 2015 00:48:03 +0000 (17:48 -0700)]
Merge pull request dotnet/coreclr#1758 from wtgodbe/failingTests

Removed working tests from failing tests file

Commit migrated from https://github.com/dotnet/coreclr/commit/d1c27d62267d08a0c1c9be454e896984aa6b55fa

9 years agoMerge pull request dotnet/coreclr#1759 from ellismg/format-corefx-code
Matt Ellis [Wed, 14 Oct 2015 00:15:36 +0000 (17:15 -0700)]
Merge pull request dotnet/coreclr#1759 from ellismg/format-corefx-code

Format native CoreFX code to follow conventions

Commit migrated from https://github.com/dotnet/coreclr/commit/a7b40d4017c6487281b36604d810dd4609ccfc20

9 years agoAdd string allocation fast path outside Windows
Koundinya Veluri [Tue, 13 Oct 2015 22:49:03 +0000 (15:49 -0700)]
Add string allocation fast path outside Windows

- On Linux, a microbenchmark is 140% faster with the portable fast path
- On Windows with the asm fast path, the microbenchmark was 300% faster than on Linux before, and is now 65% faster with the portable fast path
- On Windows, the portable fast path is 5% slower than the asm fast path

Commit migrated from https://github.com/dotnet/coreclr/commit/d7772f3feb5fd09ea841add320f6e2f25642686d

9 years agoMerge pull request dotnet/coreclr#1669 from joperezr/UseNewBclRewriter
Jose Perez Rodriguez [Tue, 13 Oct 2015 23:12:59 +0000 (16:12 -0700)]
Merge pull request dotnet/coreclr#1669 from joperezr/UseNewBclRewriter

Using DotNetCore version of BclRewriter in mscorlib build

Commit migrated from https://github.com/dotnet/coreclr/commit/c95df90677aee02bef314acaabaa9027fd4b2c1a

9 years agoMerge pull request dotnet/coreclr#1755 from kouvel/DisableTests
Koundinya Veluri [Tue, 13 Oct 2015 21:04:49 +0000 (14:04 -0700)]
Merge pull request dotnet/coreclr#1755 from kouvel/DisableTests

Disable a couple of tests that are not supported outside Windows

Commit migrated from https://github.com/dotnet/coreclr/commit/327794d8eefc0692132df13906dc7109c4d1bf40

9 years agoAdd some instructions (tests, new APIs)
Koundinya Veluri [Tue, 13 Oct 2015 19:58:48 +0000 (12:58 -0700)]
Add some instructions (tests, new APIs)

- Instructions for running CoreCLR and PAL tests outside Windows
- Brief instructions for running CoreFX tests with a private build of CoreCLR outside Windows
- Adding new public APIs to mscorlib

Commit migrated from https://github.com/dotnet/coreclr/commit/80479e2aefa72ea6b5e39d6e910fb6d0465e4978

9 years agoRun format-code.sh
Matt Ellis [Tue, 13 Oct 2015 19:15:54 +0000 (12:15 -0700)]
Run format-code.sh

Commit migrated from https://github.com/dotnet/coreclr/commit/22a9ef1feef0c639afe214237d38a0dd0c2d050b

9 years agoAdd format-code.sh from CoreFX
Matt Ellis [Tue, 13 Oct 2015 19:11:50 +0000 (12:11 -0700)]
Add format-code.sh from CoreFX

Commit migrated from https://github.com/dotnet/coreclr/commit/eb13823904d1a6d0167f101d63e5e68bba0b61b0

9 years agoUsing DotNetCore version of BclRewriter in mscorlib build
Jose Perez Rodriguez [Fri, 2 Oct 2015 16:52:22 +0000 (09:52 -0700)]
Using DotNetCore version of BclRewriter in mscorlib build

Commit migrated from https://github.com/dotnet/coreclr/commit/cd49a9fada15fefeef6969d1f38fe6575c78533a

9 years agoRemoved working tests from failing tests file
William Godbe [Tue, 13 Oct 2015 18:28:07 +0000 (11:28 -0700)]
Removed working tests from failing tests file

Commit migrated from https://github.com/dotnet/coreclr/commit/e3c820017e959b0f0e6907d8231d6ea5e7f7d6a6

9 years agoMerge pull request dotnet/coreclr#1756 from mmitche/add-arm-arm64-cross
Matt Mitchell [Tue, 13 Oct 2015 18:34:03 +0000 (11:34 -0700)]
Merge pull request dotnet/coreclr#1756 from mmitche/add-arm-arm64-cross

Add arm64/arm cross builds to CI definition

Commit migrated from https://github.com/dotnet/coreclr/commit/fec8f02328c50dc3143aca629305f8c8a77a635f

9 years agoAdd missing quote
Matt Mitchell [Tue, 13 Oct 2015 18:23:48 +0000 (11:23 -0700)]
Add missing quote

Commit migrated from https://github.com/dotnet/coreclr/commit/3671f922c175766b667fc94fc727bd9a6f69d22c

9 years agoUse the correct comment style
Matt Mitchell [Tue, 13 Oct 2015 17:44:58 +0000 (10:44 -0700)]
Use the correct comment style

Commit migrated from https://github.com/dotnet/coreclr/commit/b1fdc32632ea856a47fe9cdd459cf7fd224b843b

9 years agoAdd arm64/arm cross builds to CI definition
Matt Mitchell [Tue, 13 Oct 2015 17:38:23 +0000 (10:38 -0700)]
Add arm64/arm cross builds to CI definition

Commit migrated from https://github.com/dotnet/coreclr/commit/33298b80ef45790edfaa60f03437ddca95e3ebe8

9 years agoDisable a couple of tests that are not supported outside Windows
Koundinya Veluri [Tue, 13 Oct 2015 17:29:10 +0000 (10:29 -0700)]
Disable a couple of tests that are not supported outside Windows

Commit migrated from https://github.com/dotnet/coreclr/commit/b20924348aa8c40f271f2e58cdb02445662508b8

9 years agoMerge pull request dotnet/coreclr#1738 from janvorli/fix-cocreate-guid
Jan Vorlicek [Tue, 13 Oct 2015 14:56:52 +0000 (16:56 +0200)]
Merge pull request dotnet/coreclr#1738 from janvorli/fix-cocreate-guid

Implement CoCreateGuid using uuid_generate on Unix

Commit migrated from https://github.com/dotnet/coreclr/commit/eefbaaa9cfb84a48495199e334b9e8ea13b06646

9 years agoImplement CoCreateGuid using uuid_generate on Unix
Jan Vorlicek [Fri, 9 Oct 2015 18:56:43 +0000 (20:56 +0200)]
Implement CoCreateGuid using uuid_generate on Unix

We were generating GUIDs on Unix as random numbers. But that is not
correct since GUIDs have defined structure with bits having specific
meanings. For example, there are four bits that represent the type of
the GUID, which means whether the guid is randomly generated,
name based on SHA1, time based etc.
This change changes the CoCreateGuid to use the uuid_generate function
from the uuid library that should generate well-formed GUIDs on
Linux and OSX and the uuid_create on FreeBSD.

Commit migrated from https://github.com/dotnet/coreclr/commit/dbd046be21faab7346db55f3dd638162a20f3941

9 years agoMerge pull request dotnet/coreclr#1753 from ramarag/lttng_check
Rama krishnan Raghupathy [Tue, 13 Oct 2015 05:27:21 +0000 (22:27 -0700)]
Merge pull request dotnet/coreclr#1753 from ramarag/lttng_check

Add checks for liblttng-ust-dev at build time

Commit migrated from https://github.com/dotnet/coreclr/commit/2e70585b98e6371aae2d00f3fcf537de0a3cfdab

9 years agoAdd checks for liblttng-ust-dev at build time
Rama [Mon, 12 Oct 2015 23:56:33 +0000 (16:56 -0700)]
Add checks for liblttng-ust-dev at build time

Commit migrated from https://github.com/dotnet/coreclr/commit/a8a1b6500a316f388b12b8299608d8adaa630b89

9 years agoMerge pull request dotnet/coreclr#1749 from janvorli/improve-frame-destructor
Jan Vorlicek [Mon, 12 Oct 2015 22:55:35 +0000 (00:55 +0200)]
Merge pull request dotnet/coreclr#1749 from janvorli/improve-frame-destructor

Improve frame destructor performance

Commit migrated from https://github.com/dotnet/coreclr/commit/1f43da21666a3310b478917e0e1d888913dfcca3

9 years agoMerge pull request dotnet/coreclr#1746 from kouvel/PerfFix2
Koundinya Veluri [Mon, 12 Oct 2015 22:12:11 +0000 (15:12 -0700)]
Merge pull request dotnet/coreclr#1746 from kouvel/PerfFix2

Add some fast paths that are missing outside Windows

Commit migrated from https://github.com/dotnet/coreclr/commit/9237f3722e767c282981990be8bd47ef188cc917

9 years agoImprove frame destructor performance
Jan Vorlicek [Tue, 6 Oct 2015 00:25:36 +0000 (02:25 +0200)]
Improve frame destructor performance

This change makes the Frame destructor access thread local storage much less often,
only in rare case when the Frame was not popped before the destructor is called.

Commit migrated from https://github.com/dotnet/coreclr/commit/d6a18e3e12074fad765ed1ba055ef3861f85efaf

9 years agoAdd some fast paths that are missing outside Windows
Koundinya Veluri [Fri, 9 Oct 2015 18:36:25 +0000 (11:36 -0700)]
Add some fast paths that are missing outside Windows

- Allocation fast path for arrays of object elements
  - On Linux, a microbenchmark is 25% faster with the portable fast path
  - On Windows with the asm fast path, the microbenchmark was 52% faster than on Linux before, and is now 22% faster with the portable fast path
  - On Windows, the portable fast path is within 4% slower than the asm fast path
- Allocation fast path for objects
  - On Linux, a microbenchmark is 200% faster with the portable fast path
  - On Windows with the asm fast path, the microbenchmark was 325% faster than on Linux before, and is now 43% faster with the portable fast path
  - On Windows, the portable fast path is within 1% slower than the asm fast path
- Skipped the Box fast path since that seems to be inlined into jitted code using the new object fast path. As a result of adding the new object fast path, boxing perf has also improved outside Windows similarly to above.

Commit migrated from https://github.com/dotnet/coreclr/commit/2753a8e8f39aad2188d3dc056a4b971323bf4110

9 years agoMerge pull request dotnet/coreclr#1739 from jasonwilliams200OK/master
Jan Kotas [Mon, 12 Oct 2015 14:24:11 +0000 (07:24 -0700)]
Merge pull request dotnet/coreclr#1739 from jasonwilliams200OK/master

code,pal: Removes unused headers

Commit migrated from https://github.com/dotnet/coreclr/commit/1a729f8c93d03e305a1d830c9e65ca05185adcd1

9 years agoMerge pull request dotnet/coreclr#1598 from ramarag/enablelttng
Rama krishnan Raghupathy [Mon, 12 Oct 2015 05:28:38 +0000 (22:28 -0700)]
Merge pull request dotnet/coreclr#1598 from ramarag/enablelttng

Enablelttng

Commit migrated from https://github.com/dotnet/coreclr/commit/404ab59c799f02b25e3ec4f86e886371e89e51bc

9 years agoThis enables Lttng Logging for CoreClr,
Rama [Fri, 9 Oct 2015 01:53:59 +0000 (18:53 -0700)]
This enables Lttng Logging for CoreClr,

The Tracepoint Providers are built as a separate shared object called libcoreclrtraceptprovider and it is
available in the same directory as libcoreclr.so

By Default the ability of Tracing will not be present
To enable the ability of  Tracing, the apps need to be run like:

LD_PRELOAD=libcoreclrtraceptprovider.so ./corerun HelloWorld.exe

For now to change Xplat Event Logging mechanism add any events to:
        <root>/src/vm/ClrEtwAll.man
Then regenerate files by running :
        <root>/src/inc/genXplatLtnng.pl

Conflicts:
Documentation/building/linux-instructions.md

Commit migrated from https://github.com/dotnet/coreclr/commit/ff328b606c4edad13e9a211a8d89288340952f4c

9 years agocode,pal: Removes unused headers.
Peter Jas [Sat, 10 Oct 2015 19:05:53 +0000 (19:05 +0000)]
code,pal: Removes unused headers.
`<typeinfo>` and `<errno.h>` were unused in `seh.cpp`.
On FreeBSD, the `errno` macro was conflicting due to these
stale inclusions. The exact cause is still unknown that how
it is building on CI and only failing locally on clean FreeBSD 10.2
installation with Clang 3.5.

Fixes dotnet/coreclr#1091.

Commit migrated from https://github.com/dotnet/coreclr/commit/84add09f5aa6a6d179261016a016bf36aa0439b9

9 years agoMerge pull request dotnet/coreclr#1733 from kouvel/PerfFix
Jan Kotas [Sat, 10 Oct 2015 01:46:30 +0000 (18:46 -0700)]
Merge pull request dotnet/coreclr#1733 from kouvel/PerfFix

Add allocation fast path for arrays of value type elements outside Wi…

Commit migrated from https://github.com/dotnet/coreclr/commit/66b24ad114f991cd882387f1a3bb280c7cd6877f

9 years agoMerge pull request dotnet/coreclr#1723 from steveharter/FixDefaultLocale
Steve Harter [Fri, 9 Oct 2015 21:11:25 +0000 (16:11 -0500)]
Merge pull request dotnet/coreclr#1723 from steveharter/FixDefaultLocale

Add support for obtaining default locale in Linux and fix issue with collation not being passed to ICU

Commit migrated from https://github.com/dotnet/coreclr/commit/53dbf8f90879727308527f16bf1d4b5ef2931bb0

9 years agoMerge pull request dotnet/coreclr#1737 from dotnet-bot/from-tfs
Jan Kotas [Fri, 9 Oct 2015 20:15:39 +0000 (13:15 -0700)]
Merge pull request dotnet/coreclr#1737 from dotnet-bot/from-tfs

Merge changes from TFS

Commit migrated from https://github.com/dotnet/coreclr/commit/8d80e964182be49e67974c774090c3beac8ed1f5

9 years agoAdd support for obtaining default locale in Linux and fix issue with @collation=...
Steve Harter [Thu, 8 Oct 2015 22:03:53 +0000 (17:03 -0500)]
Add support for obtaining default locale in Linux and fix issue with @collation= not being passed to ICU

Commit migrated from https://github.com/dotnet/coreclr/commit/e3562c04b5e8a28b7d852ccbca627947b72a947d

9 years agoAdd allocation fast path for arrays of value type elements outside Windows
Koundinya Veluri [Thu, 8 Oct 2015 21:40:14 +0000 (14:40 -0700)]
Add allocation fast path for arrays of value type elements outside Windows

- A microbenchmark involving byte array allocation was about 200% faster on Windows compared to Linux
- On Windows, using the portable version of the fast path is about 5% slower than using the asm version on the microbenchmark
- On Linux, using the portable fast path improves the microbenchmark perf by 160%
- With the fast path enabled on Linux, the microbenchmark on Windows (with asm fast path) is now about 17% faster than on Linux.

Commit migrated from https://github.com/dotnet/coreclr/commit/e47ea2c24bab1938791d3c31e6a6510f5b254038

9 years agoFix contracts so scanRuntime@x86chk task succeeds
Bruce Forstall [Fri, 9 Oct 2015 15:38:34 +0000 (08:38 -0700)]
Fix contracts so scanRuntime@x86chk task succeeds

[tfs-changeset: 1535699]

Commit migrated from https://github.com/dotnet/coreclr/commit/250782557977bec590ae0a0a83de01ba3b3d6ec3

9 years agoMerge pull request dotnet/coreclr#1719 from stephentoub/sb_direction
Stephen Toub [Fri, 9 Oct 2015 12:21:00 +0000 (08:21 -0400)]
Merge pull request dotnet/coreclr#1719 from stephentoub/sb_direction

Add [Out] to a couple of StringBuilders in DllImports

Commit migrated from https://github.com/dotnet/coreclr/commit/a717bb49a6e45f162367dcb303eb94eafb7491e5

9 years agoMerge pull request dotnet/coreclr#1722 from stephentoub/casing_branches
Stephen Toub [Fri, 9 Oct 2015 12:18:53 +0000 (08:18 -0400)]
Merge pull request dotnet/coreclr#1722 from stephentoub/casing_branches

Improve String.ToLower/ToUpper throughput on Unix

Commit migrated from https://github.com/dotnet/coreclr/commit/3a0f23d6308b396bf135ce586bfd23fc31f3a83d

9 years agoMerge pull request dotnet/coreclr#1721 from richardlford/fixruntimecontract
Richard L Ford [Fri, 9 Oct 2015 05:16:58 +0000 (22:16 -0700)]
Merge pull request dotnet/coreclr#1721 from richardlford/fixruntimecontract

Fix incorrect runtime contract for FailedAssembly::Initialize

Commit migrated from https://github.com/dotnet/coreclr/commit/b9920ebea8d8d77b65d0ca10ffdb840f0cd36f06

9 years agoCode changes for firing etw events when a pdb is dynamically loaded. This corresponds...
dotnet-bot [Fri, 9 Oct 2015 01:28:37 +0000 (18:28 -0700)]
Code changes for firing etw events when a pdb is dynamically loaded. This corresponds to the following user story: 1200238. As a profiler developer, I want to access PDB content for dynamic assemblies in the ETW event stream, so that I can show my users source for their callstack frames.

The main function in eventtrace.cpp, EmitCodeSymbols, divides the pdb stream into appropriate chunks and transmits them as events in order. There are helper functions which have been taken from the corresponding code in Desktop (Netfxdev1) to provide a dynamically loaded pdb through the profiler authored by Noah.

The test uses EventToSymbols, which is based on TraceEventParser to turn on the CodeSymbols and ModuleLoad keywords and listens for events that send out pdb chunks. It then concatenates the chunks to create the pdb on disk. The BigPdb.cs program loads a dll and pdb dynamically, which triggers the events by the runtime. Once the pdb is recreated, it is compared with the original to make sure there are no differences and if not, the test is declared as passed. The test also uses an EventSource event to transmit a unique cookie to make sure the pdb created corresponds to the process under test, in case there are mulitple instances of the test running.

[tfs-changeset: 1535373]

Commit migrated from https://github.com/dotnet/coreclr/commit/39b1ec64c8a771c736dda297c1a4f601b052767d

9 years agoMerge pull request dotnet/coreclr#1726 from janvorli/fix-win-coreconsole
Jan Kotas [Fri, 9 Oct 2015 00:07:02 +0000 (17:07 -0700)]
Merge pull request dotnet/coreclr#1726 from janvorli/fix-win-coreconsole

Fix Windows CoreConsole property list

Commit migrated from https://github.com/dotnet/coreclr/commit/70a53424b553e1c6098c239e836b564f9468db52

9 years agoFix Windows CoreConsole property list
Jan Vorlicek [Thu, 8 Oct 2015 23:13:14 +0000 (01:13 +0200)]
Fix Windows CoreConsole property list

The property list was broken - the keys list was missing a comma between two entries,
so they got merged into one string. And the values list was missing one value too.

Commit migrated from https://github.com/dotnet/coreclr/commit/71327d39fd733ad736280606e381f6c058be0fbd

9 years agoImprove string.ToLower/ToUpper perf
stephentoub [Thu, 8 Oct 2015 21:38:06 +0000 (17:38 -0400)]
Improve string.ToLower/ToUpper perf

Our Unix implementation of changing case is currently slower than our implementation on Windows.  In our ChangeCase implementation in System.Globalization.Native that uses ICU, we have a loop that reads each code point, processes it, and writes out the result.  That processing involves branching into four cases based on whether we're going to upper or to lower, and whether we're using Turkish or not.  By manually hoisting the invariants and loop cloning in order to remove the branches from the inner loop, we can improve the performance of this routine by ~15-20%.

Commit migrated from https://github.com/dotnet/coreclr/commit/c342e48672993c677897ebcf835b2c22397ec03c

9 years agoMerge pull request dotnet/coreclr#1706 from mmitche/update-badges
Matt Mitchell [Thu, 8 Oct 2015 22:25:09 +0000 (15:25 -0700)]
Merge pull request dotnet/coreclr#1706 from mmitche/update-badges

Update badges to new job locations

Commit migrated from https://github.com/dotnet/coreclr/commit/1dafc0bad41d6e393d97400f6d12eb8ce57e3632

9 years agoMerge pull request dotnet/coreclr#1724 from mmitche/reenable-suse
Matt Mitchell [Thu, 8 Oct 2015 22:20:29 +0000 (15:20 -0700)]
Merge pull request dotnet/coreclr#1724 from mmitche/reenable-suse

Reenable OpenSuSE PRs

Commit migrated from https://github.com/dotnet/coreclr/commit/db15cee62a1ddc6fe0ac708984a46da879f13d2c

9 years agoReenable OpenSuSE PRs
Matt Mitchell [Thu, 8 Oct 2015 22:19:39 +0000 (15:19 -0700)]
Reenable OpenSuSE PRs

Commit migrated from https://github.com/dotnet/coreclr/commit/2e5d14a827f4804086a25149e98204274cd20064

9 years agoMerge pull request dotnet/coreclr#1720 from janvorli/fix-osx-activation-and-exception...
Jan Vorlicek [Thu, 8 Oct 2015 20:46:22 +0000 (22:46 +0200)]
Merge pull request dotnet/coreclr#1720 from janvorli/fix-osx-activation-and-exception-collision

Fix OSX hardware exception and activation collision

Commit migrated from https://github.com/dotnet/coreclr/commit/a0b2e3347ac38961e7c626fea5970d5848facacd

9 years agoMerge pull request dotnet/coreclr#1689 from Priya91/palstring
Lakshmi Priya [Thu, 8 Oct 2015 20:32:02 +0000 (13:32 -0700)]
Merge pull request dotnet/coreclr#1689 from Priya91/palstring

Apply StackString for pal MAX_LONGPATH references.

Commit migrated from https://github.com/dotnet/coreclr/commit/0633a257dd66f6b78bfac6f098c67f2ac11291e8

9 years agoFix incorrect runtime contract for FailedAssembly::Initialize
Richard L Ford [Thu, 8 Oct 2015 20:21:14 +0000 (13:21 -0700)]
Fix incorrect runtime contract for FailedAssembly::Initialize

FailedAssembly::Initialize may call CLRException::GetHR.
CLRException::GetHR is marked GC_TRIGGERS.
FailedAssembly::Initialize has to be marked GC_TRIGGERS
as well.

Commit migrated from https://github.com/dotnet/coreclr/commit/36a36a7b4fcf050525351b0f758512fa2887b3ca

9 years agoMerge pull request dotnet/coreclr#1718 from stephentoub/stringcasing_allocations
Jan Kotas [Thu, 8 Oct 2015 19:48:41 +0000 (12:48 -0700)]
Merge pull request dotnet/coreclr#1718 from stephentoub/stringcasing_allocations

Reduce allocations in string.ToLower/ToUpper on Unix

Commit migrated from https://github.com/dotnet/coreclr/commit/0eb192ec5d67810bae92e265910d4a177d650a93

9 years agoFix OSX hardware exception and activation collision
Jan Vorlicek [Thu, 8 Oct 2015 19:34:33 +0000 (21:34 +0200)]
Fix OSX hardware exception and activation collision

This change fixes a collision between hardware exception handling and activation
injection. Both require creating helper frame on stack and patching the target thread
context to inject invocation of a handler. When these two happened together,
they both tried to update the context and create helper frame on stack at the same
time, which lead to various issues including PAL_SEHException escaping from
the host application unhandled.

Commit migrated from https://github.com/dotnet/coreclr/commit/278285afb2934d14ba12e68052b387fc29ef2158

9 years agoMerge pull request dotnet/coreclr#1683 from krixalis/master
Aditya Mandaleeka [Thu, 8 Oct 2015 19:20:23 +0000 (12:20 -0700)]
Merge pull request dotnet/coreclr#1683 from krixalis/master

Typos in qcall.h

Commit migrated from https://github.com/dotnet/coreclr/commit/7582d1120bdab2bafcb5d5f05cdb9bea9deba40a

9 years agoFix additional StringBuilder directions in corefx Unix code
stephentoub [Thu, 8 Oct 2015 18:50:28 +0000 (14:50 -0400)]
Fix additional StringBuilder directions in corefx Unix code

Commit migrated from https://github.com/dotnet/coreclr/commit/e25567bf1f2ecd0ecde6dcffc29c519fa941d3c7

9 years agoMerge pull request dotnet/coreclr#1711 from mikem8361/unhand
Mike McLaughlin [Thu, 8 Oct 2015 18:35:30 +0000 (11:35 -0700)]
Merge pull request dotnet/coreclr#1711 from mikem8361/unhand

Fix unhandled exception debugger notification

Commit migrated from https://github.com/dotnet/coreclr/commit/0c06df1d4c2b4759c63be7da83f79c1270ce0fa0

9 years agoAdd Null check to lib_name before getting string length.
Lakshmi Priya Sekar [Wed, 7 Oct 2015 18:04:19 +0000 (11:04 -0700)]
Add Null check to lib_name before getting string length.

Commit migrated from https://github.com/dotnet/coreclr/commit/4da174fb0d41eaa64455855a0473d0d942e73834

9 years agoAdd [Out] to a couple of StringBuilders in DllImports
stephentoub [Thu, 8 Oct 2015 17:14:21 +0000 (13:14 -0400)]
Add [Out] to a couple of StringBuilders in DllImports

I audited all of the StringBuilders being used in P/Invokes in mscorlib.  Almost all of them were correctly annotated as to their direction of needed marshaling.  Two weren't.

Commit migrated from https://github.com/dotnet/coreclr/commit/1d4061dd6455c5b41a8e9a012914115e29cc2008

9 years agoReduce allocations in string.ToLower/ToUpper on Unix
stephentoub [Thu, 8 Oct 2015 15:51:14 +0000 (11:51 -0400)]
Reduce allocations in string.ToLower/ToUpper on Unix

On Windows, ToLower/ToUpper calls into InternalChangeCaseString in the runtime which does two optiizations:
- a 0-length check to just return an empty string if the source is empty
- allocates the string and writes the results into it directly

In our current Unix implementation, the ChangeCase implementation doesn't do either of these, no special-casing empty strings and first allocating a char[] into which the results are written and then constructing a string from that.

This commit brings the Unix implementation more in line with the Windows one, adding the 0-length check, and writing the results directly into the result string so as to avoid the unnecessary char[] allocation and copy.

Commit migrated from https://github.com/dotnet/coreclr/commit/fbdbfa1241139848a38c66d2d3313529b30fc8b8

9 years agoMerge pull request dotnet/coreclr#1715 from janvorli/add-unhandled-exception-trap
Jan Vorlicek [Thu, 8 Oct 2015 13:35:56 +0000 (15:35 +0200)]
Merge pull request dotnet/coreclr#1715 from janvorli/add-unhandled-exception-trap

Add high level unhandled exception trap

Commit migrated from https://github.com/dotnet/coreclr/commit/3e82c94cafb35cef213665153ae59058b31dc368

9 years agoAdd high level unhandled exception trap
Jan Vorlicek [Thu, 8 Oct 2015 12:41:56 +0000 (14:41 +0200)]
Add high level unhandled exception trap

After the recent exception handling changes, we were missing a high level
exception trap in the ExecuteAssembly. While it was fine for exceptions
comming from or through managed code, it was a problem for exceptions
happening in the ExecuteAssembly call chain before the managed code was
called.
So for example when ExecuteAssembly was called for assembly that didn't
have proper file access rights for the current user, the PAL_SEHException
leaked out of the host app (corerun) and the C++ runtime displayed
message like this:
libc++abi.dylib: terminating with uncaught exception of type PAL_SEHException
Abort trap: 6
The fix is to put back the unhandled managed exception trap that I've removed
with the recent exception handling changes, but to implement it in a slightly
different way - to contain exception holder.
This way, the call to InternalUnhandledExceptionFilter_Worker can be removed
from the UnwindManagedExceptionPass1, since this new trap would ensure it
is called for both the case when the one in UnwindManagedExceptionPass1 would
kick in and the case that this issue is fixing.

Commit migrated from https://github.com/dotnet/coreclr/commit/253309471774373c3404818c7be2c5268597ff59

9 years agoMerge pull request dotnet/coreclr#1688 from kouvel/LoadFromNativeSearchPathsTest
Stephen Toub [Thu, 8 Oct 2015 12:31:36 +0000 (08:31 -0400)]
Merge pull request dotnet/coreclr#1688 from kouvel/LoadFromNativeSearchPathsTest

Add unit test for loading native library from host-provided native se…

Commit migrated from https://github.com/dotnet/coreclr/commit/c89c375cce7ee1e92c7b9e87f47de8e396b4cad9

9 years agoMerge pull request dotnet/coreclr#1702 from stephentoub/marshaling_allocs
Stephen Toub [Thu, 8 Oct 2015 02:37:47 +0000 (22:37 -0400)]
Merge pull request dotnet/coreclr#1702 from stephentoub/marshaling_allocs

Reduce garbage generated in StringBuilder marshaling

Commit migrated from https://github.com/dotnet/coreclr/commit/8ee9ca8eacd9f9ba705707f23dfb3b381c9f2475

9 years agoMerge pull request dotnet/coreclr#1696 from brianrob/framepointers
Brian Robbins [Wed, 7 Oct 2015 22:47:02 +0000 (15:47 -0700)]
Merge pull request dotnet/coreclr#1696 from brianrob/framepointers

Enable Frame Pointers for UNIX Builds

Commit migrated from https://github.com/dotnet/coreclr/commit/b55cc2dfbd1486101d23d829f6e4e1313089ca35

9 years agoMerge pull request dotnet/coreclr#1693 from Kagamine/correct-word-spelling
Jan Kotas [Wed, 7 Oct 2015 22:42:37 +0000 (15:42 -0700)]
Merge pull request dotnet/coreclr#1693 from Kagamine/correct-word-spelling

Correct word spelling

Commit migrated from https://github.com/dotnet/coreclr/commit/ee41080d445be450352370a8cf12a12c5b3aeaec

9 years agoMerge pull request dotnet/coreclr#1705 from kyulee1/protojit
Jan Kotas [Wed, 7 Oct 2015 22:39:51 +0000 (15:39 -0700)]
Merge pull request dotnet/coreclr#1705 from kyulee1/protojit

Producing standalone Jit for testing

Commit migrated from https://github.com/dotnet/coreclr/commit/9f2f56a174ad9bfbcdd4d5d02e35738d81fd723e

9 years agoFix UnhandledException notifications. The IsDebuggerPresent check was left over...
Mike McLaughlin [Wed, 7 Oct 2015 04:10:39 +0000 (21:10 -0700)]
Fix UnhandledException notifications.  The IsDebuggerPresent check was left over from windows coreclr and prevented notifications from being sent.

Commit migrated from https://github.com/dotnet/coreclr/commit/63f03435150a5deb5dcb94d3eec747e57851dd95

9 years agoMerge pull request dotnet/coreclr#1697 from mikem8361/osxbp
Mike McLaughlin [Wed, 7 Oct 2015 21:43:48 +0000 (14:43 -0700)]
Merge pull request dotnet/coreclr#1697 from mikem8361/osxbp

Fix managed breakpoints on OSX

Commit migrated from https://github.com/dotnet/coreclr/commit/1a319210d5a3529e53713b60db023c9e123fc03a