Tarek Mahmoud Sayed [Wed, 31 Aug 2016 01:17:09 +0000 (18:17 -0700)]
Merge pull request #6993 from tarekgh/AddMissingSystemTextAPIs
Expose missing Global/Encoding APIs in coreclr and remove empty stubs
Bruce Forstall [Wed, 31 Aug 2016 00:28:50 +0000 (17:28 -0700)]
Merge pull request #6983 from BruceForstall/ReformatIssuesFiles
Reformat test issues files so they are more easily comparable
James Ko [Tue, 30 Aug 2016 22:53:10 +0000 (18:53 -0400)]
Port String reorganization from CoreRT (#6985)
Jan Kotas [Tue, 30 Aug 2016 22:47:34 +0000 (15:47 -0700)]
GC update from CoreRT (#6984)
https://github.com/dotnet/corert/tree/master/src/Native/gc
97dd6d2cbb50901cc3651f41a53a4ff9a1052391
Evgeniy Devyatkin [Tue, 30 Aug 2016 22:47:21 +0000 (02:47 +0400)]
Skipped letter in a word (#6991)
Tarek Mahmoud Sayed [Tue, 30 Aug 2016 22:46:50 +0000 (15:46 -0700)]
Expose missing Global/Encoding APIs in coreclr and remove empty stubs
This change is to expose all missing globalization and Encoding APIs in corelib
to have the complete exposed list for such namespaces.
Also we are removing the empty methods stubs for Windows implementation
And have the actual implementation in-place
Eric Mellino [Tue, 30 Aug 2016 22:24:35 +0000 (15:24 -0700)]
Merge pull request #6992 from dotnet/suse421-buildbadge
Add openSUSE 42.1 build badge to README.md
Eric Mellino [Tue, 30 Aug 2016 22:23:03 +0000 (15:23 -0700)]
Add openSUSE 42.1 build badge to README.md
smile21prc [Tue, 30 Aug 2016 21:28:38 +0000 (14:28 -0700)]
Merge pull request #6990 from smile21prc/coreclr-perf
Create coreclr perf jobs for Linux.
Smile Wei [Tue, 30 Aug 2016 19:31:25 +0000 (12:31 -0700)]
Create coreclr perf jobs for Linux.
Jan Kotas [Tue, 30 Aug 2016 21:18:05 +0000 (14:18 -0700)]
Merge pull request #6986 from dotnet-bot/from-tfs
Merge changes from TFS
Bruce Forstall [Tue, 30 Aug 2016 16:16:22 +0000 (09:16 -0700)]
Reformat test issues files so they are more easily comparable
This change reformats the issues files, and sorts the excluded tests
by name, so it is possible to easily compare the baseline issues.targets
file against the x86_jit32_issues.targets and x86_legacy_backend_issues.targets
files.
Jan Kotas [Tue, 30 Aug 2016 18:21:59 +0000 (11:21 -0700)]
Delete non-existing method
[tfs-changeset: 1624957]
Bruce Forstall [Tue, 30 Aug 2016 18:17:41 +0000 (11:17 -0700)]
Merge pull request #6973 from BruceForstall/MoveTailcallTestExclusion
Move TailcallVerifyWithPrefix test to "baseline x86" exclusion section
Rahul Kumar [Tue, 30 Aug 2016 18:11:43 +0000 (11:11 -0700)]
Merge pull request #6867 from rahku/returnHijack
Enable return address hijacking for arm64
smile21prc [Tue, 30 Aug 2016 17:59:12 +0000 (10:59 -0700)]
Merge pull request #6980 from smile21prc/coreclr-perf
More fixes.
Smile Wei [Tue, 30 Aug 2016 17:58:34 +0000 (10:58 -0700)]
More fixes.
smile21prc [Tue, 30 Aug 2016 17:58:02 +0000 (10:58 -0700)]
Merge pull request #6979 from smile21prc/coreclr-perf
Fixed wrong env vars.
Smile Wei [Tue, 30 Aug 2016 17:57:13 +0000 (10:57 -0700)]
Fixed wrong env vars.
Bruce Forstall [Tue, 30 Aug 2016 00:03:51 +0000 (17:03 -0700)]
Move TailcallVerifyWithPrefix test to "baseline x86" exclusion section
This test fails for both legacy x86 JIT as well as RyuJIT. Make that more
clear by moving the exclusion to the "x86 baseline failures" section.
Bruce Forstall [Tue, 30 Aug 2016 15:42:10 +0000 (08:42 -0700)]
Merge pull request #6970 from BruceForstall/EnableStringArrTest
Re-enable stringarr test
Maoni Stephens [Tue, 30 Aug 2016 05:17:54 +0000 (22:17 -0700)]
Merge pull request #6953 from Maoni0/alloc_bytes
added GC.GetAllocatedBytesForCurrentThread API
Jonghyun Park [Tue, 30 Aug 2016 02:36:51 +0000 (11:36 +0900)]
Revises UMThunkStub unwindable in ARM/Linux (#6788)
In ARM/Linux, UMThunkStub currently pushes r0-r3 and r12 without .pad,
which results in #6787.
This commit revises the prolog and epilog of UMThunkStub to fix 6787.
(In addition, personality routine is addes as ARM64/AMD64 already does.)
Ben Adams [Tue, 30 Aug 2016 02:23:53 +0000 (03:23 +0100)]
Monitor.TryEnter asm timeout != 0 before spin (#6951)
* JIT_MonTryEnter_Slow timeout != 0 before spin
* JIT_MonTryEnter_InlineGetThread timeout != 0 before spin
Maoni Stephens [Tue, 30 Aug 2016 01:19:05 +0000 (18:19 -0700)]
added GC.GetAllocatedBytesForCurrentThread API
smile21prc [Mon, 29 Aug 2016 23:50:36 +0000 (16:50 -0700)]
Merge pull request #6972 from smile21prc/coreclr-perf
Change dir to make sure the right project.json is used.
Smile Wei [Mon, 29 Aug 2016 23:50:05 +0000 (16:50 -0700)]
Change dir to make sure the right project.json is used.
smile21prc [Mon, 29 Aug 2016 23:35:39 +0000 (16:35 -0700)]
Merge pull request #6971 from smile21prc/coreclr-perf
Add debugging code to find where Microsoft.DotNet.xunit.performance.r…
Smile Wei [Mon, 29 Aug 2016 23:34:59 +0000 (16:34 -0700)]
Add debugging code to find where Microsoft.DotNet.xunit.performance.runner.cli.dll is deployed.
Bruce Forstall [Mon, 29 Aug 2016 23:22:57 +0000 (16:22 -0700)]
Re-enable stringarr test
I can't get this to fail locally despite thousands of runs.
I fixed the test to detect failure when checking all indices, not
just when checking the last index of the first rank.
Fixes #4844.
smile21prc [Mon, 29 Aug 2016 23:05:46 +0000 (16:05 -0700)]
Merge pull request #6969 from smile21prc/coreclr-perf
Add steps to install xunit performance packages
Smile Wei [Mon, 29 Aug 2016 23:04:58 +0000 (16:04 -0700)]
Add steps to install xunit performance packages
smile21prc [Mon, 29 Aug 2016 22:41:29 +0000 (15:41 -0700)]
Merge pull request #6968 from smile21prc/coreclr-perf
Add debugging code.
Smile Wei [Mon, 29 Aug 2016 22:40:52 +0000 (15:40 -0700)]
Add debugging code.
smile21prc [Mon, 29 Aug 2016 22:25:53 +0000 (15:25 -0700)]
Merge pull request #6967 from smile21prc/coreclr-perf
Fix wrong dir, and add debugging code.
Smile Wei [Mon, 29 Aug 2016 22:24:18 +0000 (15:24 -0700)]
Fix wrong dir, and add debugging code.
smile21prc [Mon, 29 Aug 2016 22:10:18 +0000 (15:10 -0700)]
Merge pull request #6966 from smile21prc/coreclr-perf
Fixed wrong dir.
Smile Wei [Mon, 29 Aug 2016 22:09:25 +0000 (15:09 -0700)]
Fixed wrong dir.
Bruce Forstall [Mon, 29 Aug 2016 21:54:08 +0000 (14:54 -0700)]
Merge pull request #6964 from BruceForstall/Finish6940
Re-enable test DevDiv_255263
Rahul Kumar [Tue, 23 Aug 2016 18:26:50 +0000 (11:26 -0700)]
Enable return address hijacking for arm64.
And also fixes a bug in HijackFrame::GCScanRoots
smile21prc [Mon, 29 Aug 2016 20:44:41 +0000 (13:44 -0700)]
Merge pull request #6963 from smile21prc/coreclr-perf
Rename the script and add debugging steps.
Bruce Forstall [Mon, 29 Aug 2016 20:34:51 +0000 (13:34 -0700)]
Merge pull request #6961 from dotnet-bot/from-tfs
Merge changes from TFS
Michelle McDaniel [Mon, 29 Aug 2016 20:17:21 +0000 (13:17 -0700)]
Merge pull request #6913 from adiaaida/formattingJob
Add Formatting job
Bruce Forstall [Mon, 29 Aug 2016 19:29:47 +0000 (12:29 -0700)]
Re-enable test DevDiv_255263
I forgot to re-enable this test when fixing #6940.
Smile Wei [Mon, 29 Aug 2016 19:07:44 +0000 (12:07 -0700)]
1. Rename the script to the shell type.
2. Added a few lines for debugging.
Oguz Bastemur [Mon, 29 Aug 2016 17:53:00 +0000 (19:53 +0200)]
Fix file descriptor leak on PAL_IsDebuggerPresent (#6958)
Bruce Forstall [Mon, 29 Aug 2016 17:39:59 +0000 (10:39 -0700)]
Merge pull request #6946 from BruceForstall/Fix3597
Change RyuJIT/x86 GC encoder to handle LSRA flexibility
James Ko [Mon, 29 Aug 2016 14:32:43 +0000 (10:32 -0400)]
Cleanup/optimize some String.Compare overloads, part 2 (#6891)
* Change signature of CompareOrdinalEx and move arg validation to the call sites
* Change thrown param name from count -> length
* Rename nativeCompareOrdinalEx -> CompareOrdinalHelper
Bruce Forstall [Sat, 27 Aug 2016 17:50:24 +0000 (10:50 -0700)]
Merge pull request #6949 from BruceForstall/Fix6940
RyuJIT x86: Fix initblk with unrolled loop and constant fill
Bruce Forstall [Sat, 27 Aug 2016 16:15:48 +0000 (09:15 -0700)]
Merge pull request #6947 from BruceForstall/Fix6097
Fix #6097
Bruce Forstall [Sat, 27 Aug 2016 16:15:28 +0000 (09:15 -0700)]
Merge pull request #6948 from BruceForstall/Fix4992
Fix #4992
Bruce Forstall [Sat, 27 Aug 2016 01:25:42 +0000 (18:25 -0700)]
RyuJIT x86: Fix initblk with unrolled loop and constant fill
The computed fill value was only using the low 8 bytes of the
xmm register; we need it to fill the entire 16 byte register.
Fixes #6940
Bruce Forstall [Sat, 27 Aug 2016 00:12:28 +0000 (17:12 -0700)]
Fix #4992
These tests no longer fail, so re-enable them.
Bruce Forstall [Sat, 27 Aug 2016 00:04:30 +0000 (17:04 -0700)]
Fix #6097
The tests no longer fail (were previously fixed, possibly by LIR work).
Re-enable the related tests.
Aditya Mandaleeka [Fri, 26 Aug 2016 23:43:01 +0000 (16:43 -0700)]
Add missing link to crossgen doc in glossary
Bruce Forstall [Fri, 26 Aug 2016 23:11:21 +0000 (16:11 -0700)]
Change RyuJIT/x86 GC encoder to handle LSRA flexibility
LSRA allows a variable to have multiple registers over its lifetimes.
The x86 GC encoder did not understand this. It turns out the non-x86
encoder already had fixed this logic in its own copy of the logic.
This change simply checks the lvRegister and lvOnFrame variables
correctly for LSRA.
Fixes #3597
Carol Eidt [Fri, 26 Aug 2016 22:48:49 +0000 (15:48 -0700)]
Merge pull request #6938 from CarolEidt/Fix255263
Fix DevDiv bug 255263
Smile Wei [Fri, 26 Aug 2016 21:54:47 +0000 (14:54 -0700)]
Script to enable coreclr perf run on Linux.
Michelle McDaniel [Fri, 26 Aug 2016 21:43:15 +0000 (14:43 -0700)]
Merge pull request #6937 from adiaaida/x86Jobs
Enable stress jobs on x86 ryujit
Eric Mellino [Fri, 26 Aug 2016 21:26:33 +0000 (14:26 -0700)]
Merge pull request #6919 from mellinoe/new-distro-pkgprojs
Add pkgproj's for openSUSE 42.1 and Ubuntu 16.10
Michelle McDaniel [Wed, 24 Aug 2016 22:13:51 +0000 (15:13 -0700)]
Enable stress jobs on x86 ryujit
We want to be able to run jitstress, gcstress, etc. jobs on ryujit to
monitor our progress. This change adds additional vars to be written to
the TestEnv script for jitstress jobs.
Swaroop Sridhar [Fri, 26 Aug 2016 20:30:07 +0000 (13:30 -0700)]
Merge pull request #6908 from swaroop-sridhar/retKind
GcInfo: Don't use slim header for methods with struct-returns
Carol Eidt [Thu, 25 Aug 2016 23:55:22 +0000 (16:55 -0700)]
Fix DevDiv bug 255263
This issue arose because we were not considering punpckldq as
one of the 3-operand AVX instructions (which require us to duplicate
the source register when encoding an SSE 2-operand form).
This bug showed up in managed C++, so the test is in IL.
The test is failing in RyuJIT/x86, so issue #6940 has been opened,
and it is disabled for x86.
Egor Chesakov [Fri, 26 Aug 2016 19:48:32 +0000 (12:48 -0700)]
Merge pull request #6914 from echesakov/ValueNumberingAssertFix
Bug fix: fgOptimizeBranch loses bbFlags while duplicating the conditional block
Egor Chesakov [Wed, 24 Aug 2016 00:35:10 +0000 (17:35 -0700)]
fgOptimizeBranch loses bbFlags while duplicating the block #6886
1. When `fgOptimizeBranch` procedure duplicates the conditional basic block it does
not copy flags of the `bDest` block to the `bJump` block. For example, if a flag
`BBF_HAS_NEWOBJ` was set in `bDest`, but not in `bJump` when the branch optimization
is done the `bbFlags` of `bJump` will not reflect the fact that we have new object
construction in this block.
2. In `DEBUG` always check if `bbFlags` has `BBF_HAS_NEWOBJ` flag set if at least one
`GT_ALLOCOBJ` canonical node found. This helps to identify situations when compiler loses `BBF_HAS_NEWOBJ` flag.
James Ko [Fri, 26 Aug 2016 05:33:49 +0000 (01:33 -0400)]
Implement the IEquatable interfaces on IntPtr and UIntPtr (#6921)
Jan Kotas [Fri, 26 Aug 2016 01:14:28 +0000 (18:14 -0700)]
Make GetHRForException to return e.HResult on non-Windows platforms (#6929)
Fixes https://github.com/dotnet/corefx/issues/11144
Jarret Shook [Thu, 25 Aug 2016 23:22:11 +0000 (16:22 -0700)]
Merge pull request #6926 from jashook/arm32_ci_update
Incremental progress addressing #6676
jashoo [Thu, 25 Aug 2016 21:54:29 +0000 (14:54 -0700)]
Incremental progress addressing #6676
This change is based upon #6910 by sjsinju to fix the arm emulator
running out of space. It changes uses the /opt folder on the main
system drive to /mnt which has a larger local disk.
Michelle McDaniel [Thu, 25 Aug 2016 18:27:17 +0000 (11:27 -0700)]
Move groovy logic to python script
James Ko [Thu, 25 Aug 2016 22:01:02 +0000 (18:01 -0400)]
Avoid unnecessary indirection in char.ToString (#6903)
Avoid unnecessary indirection in char.ToString
Eric Mellino [Thu, 25 Aug 2016 18:38:35 +0000 (11:38 -0700)]
Add pkgproj's for Ubuntu 16.10
Eric Mellino [Thu, 25 Aug 2016 18:34:11 +0000 (11:34 -0700)]
Add pkgproj's for openSUSE 42.1
dotnet-bot [Thu, 25 Aug 2016 21:22:44 +0000 (14:22 -0700)]
Fix build break. checkin done by tarekms
[tfs-changeset: 1624179]
Matt Mitchell [Thu, 25 Aug 2016 21:11:37 +0000 (14:11 -0700)]
Merge pull request #6923 from dotnet/revert-6910-sjsinju_devel
Revert "ARM-CI : Fix ARM Emulator vm runs out of space"
Matt Mitchell [Thu, 25 Aug 2016 21:08:59 +0000 (14:08 -0700)]
Revert "ARM-CI : Fix ARM Emulator vm runs out of space"
Sujin Kim [Thu, 25 Aug 2016 21:01:27 +0000 (06:01 +0900)]
ARM-CI : Fix ARM Emulator vm runs out of space (#6910)
Now, ARM Emulator failed by out of space on tests (6676)
To resolve, a temp folder in the job's workspace is binded to /tmp. and then 'runtest.sh' would be run by some directories binded from /tmp.
Justin Van Patten [Thu, 25 Aug 2016 18:54:11 +0000 (11:54 -0700)]
Improve perf of Encoding.GetEncoding(int) (#6907)
`Encoding.GetEncoding(int)` caches encoding instances in a `Hashtable`.
This involves locking and boxing the codepage (potentially multiple
times). For the encodings that are already cached in static fields
(e.g. UTF8, Unicode, ASCII, etc.), this is unnecessary overhead --
these instances do not need to be stored in the `Hashtable` because
they are already stored in static fields.
It turns out the only instance that would be stored in the
`Hashtable` in CoreCLR is UTF32BE. Thus, on CoreCLR, we can remove the
use of the `Hashtable` altogether, and instead store the UTF32BE
instance in a static field. This means the `Hashtable` static field,
lock object, and box allocations go away entirely on CoreCLR.
We now check for the encodings that can be cached in static fields in a
switch statement up-front. On Desktop, it then falls back to doing the
`Hashtable`-based lookup/storage, and only boxes codepage once.
dotnet-bot [Thu, 25 Aug 2016 18:41:40 +0000 (11:41 -0700)]
Fix build break. this checkin done by tarekms
[tfs-changeset: 1624145]
Mike McLaughlin [Thu, 25 Aug 2016 16:47:52 +0000 (09:47 -0700)]
Put back Open key signing on the SOS.NETCore assembly. (#6905)
Fix failure in SOS if System.Reflection.Metadata is missing.
Michelle McDaniel [Mon, 22 Aug 2016 22:13:40 +0000 (15:13 -0700)]
Add Formatting job
This change adds the Windows and Ubuntu formatting jobs to the lab, and
makes them requestable. This also enables them to be run on push. The
jobs do the following:
On Windows:
- Build the Checked/Debug/Release builds as usenmakemakefiles, which
is a configureonly option (so won't do a full build)
- Download the bootstrap script for jitutils
- Download the correct version of dotnet cli
- Run the bootstrap script
- Run jit-format for Windows_NT Checked/Debug/Release
dll/standalone/crossgen configurations
On Ubuntu:
- Build release, checked, debug builds of coreclr in configureonly mode.
This will only run cmake and generate the compile_commands.json
- Install the correct version of dotnet cli
- Install the bootstrap script for jitutils
- Run the bootstrap script
- Run jit format over all configurations for Ubuntu (release, checked,
debug x dll, standalone, crossgen)
Stephen Toub [Thu, 25 Aug 2016 11:32:21 +0000 (07:32 -0400)]
Merge pull request #6909 from kouvel/Api
Expose constructor with argument for safe handle types instead of con…
Stephen Toub [Thu, 25 Aug 2016 11:29:39 +0000 (07:29 -0400)]
Merge pull request #6898 from benaadams/semaphore-timeout-0
Semaphoreslim, fail faster for timeout 0
Ben Adams [Wed, 24 Aug 2016 19:02:29 +0000 (20:02 +0100)]
SemaphoreSlim, fail faster for timeout 0
Koundinya Veluri [Thu, 25 Aug 2016 06:37:42 +0000 (23:37 -0700)]
Expose constructor with argument for safe handle types instead of constructor without argument
Jan Kotas [Thu, 25 Aug 2016 05:38:28 +0000 (22:38 -0700)]
Fix security annotation
[tfs-changeset: 1624088]
James Ko [Thu, 25 Aug 2016 05:10:46 +0000 (01:10 -0400)]
Cleanup/optimize many string.Compare overloads, part 1 (#6603)
Cleanup, optimize some String.Compare overloads
Ben Adams [Thu, 25 Aug 2016 05:08:53 +0000 (06:08 +0100)]
Remove idiv from ThreadPoolWorkQueue:Dequeue loop (#6781)
Swaroop Sridhar [Thu, 25 Aug 2016 01:53:42 +0000 (18:53 -0700)]
GcInfo: Don't use slim header for struct-returns
This checkin has two changes:
1) Add a check to ensure that methods with struct-returns are
use the fat header which encodes ReturnKind in 4 bits.
2) Fix a bug in GetReturnKind().
Gaurav Khanna [Thu, 25 Aug 2016 00:58:42 +0000 (17:58 -0700)]
Merge pull request #6883 from gkhanna79/WinArm32
Enable Windows Arm32 build
James Ko [Wed, 24 Aug 2016 23:18:39 +0000 (19:18 -0400)]
Better lazy initialization for Encoding static properties (#6890)
Better lazy initialization for Encoding static properties
Jose Perez Rodriguez [Wed, 24 Aug 2016 23:10:23 +0000 (16:10 -0700)]
Remove extra TypeForward from facade to fix ConfiguredTaskAwaiter (#6899)
Pat Gavlin [Wed, 24 Aug 2016 22:50:04 +0000 (15:50 -0700)]
Fix #3554. (#6880)
On x86, `emitter::emitInsBinary` was calling `genProduceReg` on the
`dst` tree if the source was a contained class field load and the
destination was a register. As per the comment on the offending
function, it is the caller's responsibility to call `genProduceReg`
for the destination register, if any. This was causing errors in
GC ref reporting on x86. This issue did not appear on x64 because
AFAICT we very nearly always morph class field loads into loads of
a `CNS_INT` handle (see morph.cpp:6344 in `fgMorphField` for
details).
Justin Van Patten [Wed, 24 Aug 2016 22:34:20 +0000 (15:34 -0700)]
Add single separator String.Split overloads (#895)
Michelle McDaniel [Wed, 24 Aug 2016 22:12:17 +0000 (15:12 -0700)]
Merge pull request #6859 from adiaaida/addNMakeOption
Update build to optionally configure with nmake
Michelle McDaniel [Fri, 19 Aug 2016 22:35:25 +0000 (15:35 -0700)]
Update build to optionally configure with nmake
For formatting, we want to be able to obtain the compile_commands.json
file so that we do not have to 1) do a full build of coreclr and 2)
generate it ourselves from the build log. This change modifies build.cmd
to take an option "usenmakemakefiles." This option will set
__NMakeMakefiles to 1, which is used by the gen-buildsys-win.bat script.
This option also sets all the same options as configureonly, as we cannot
do a full build using NMake Makefiles, and we only want to use this to
force CMake to generate a compile_commands.json file for the jit
directory, which it can do using NMake Makefiles, but not Visual Studio.
The update to gen-buildsys-win.bat checks the value of __NMakeMakefiles,
and if it is set to 1, it sets the CMake Generator to NMake Makefiles.
Jan Kotas [Wed, 24 Aug 2016 20:15:05 +0000 (13:15 -0700)]
Merge pull request #6896 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Wed, 24 Aug 2016 20:14:05 +0000 (13:14 -0700)]
Disabling test against issue 6553 (#6895)
Eric Mellino [Wed, 24 Aug 2016 20:13:06 +0000 (13:13 -0700)]
Allow Ubuntu 16.10 to use MSBuild (#6897)
Pat Gavlin [Wed, 24 Aug 2016 19:58:25 +0000 (12:58 -0700)]
Handle multi-reg PUTARG_STK nodes. (#6870)
* Handle multi-reg PUTARG_STK nodes.
When FEATURE_MULTIREG_ARGS is true, a GT_PUTARG_STK node may have a
GT_LIST as a child if the child was originally a multi-reg argument.
Handle this case in `GenTreeUseEdgeIterator`.
Fixes #6583.
* Update the bug number for some ARM64 failures.
These tests are now failing due to a differnt bug.