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