David Mason [Tue, 24 Nov 2015 19:20:29 +0000 (11:20 -0800)]
Merge remote-tracking branch 'upstream/master'
Jan Kotas [Tue, 24 Nov 2015 19:12:14 +0000 (11:12 -0800)]
Merge pull request #2149 from alexandrnikitin/optimizer-remove-unsed-var
Remove unused variable from Optimizer Compiler::optHoistLoopExprsForTree method
Aditya Mandaleeka [Tue, 24 Nov 2015 19:01:42 +0000 (11:01 -0800)]
Merge pull request #2132 from AndyAyersMS/FixLinuxTestScript
Fix generated test script to properly check for debugger
Steve Harter [Tue, 24 Nov 2015 18:21:51 +0000 (12:21 -0600)]
Merge pull request #2142 from steveharter/IcuPerf
Improve DateTime.Parse performance by reducing string comparisons
Jan Kotas [Tue, 24 Nov 2015 17:36:42 +0000 (09:36 -0800)]
Merge pull request #2151 from dotnet-bot/from-tfs
Merge changes from TFS
Steve Harter [Fri, 20 Nov 2015 22:28:57 +0000 (16:28 -0600)]
Improve DateTime.Parse performance by reducing string comparisons
dotnet-bot [Tue, 24 Nov 2015 14:42:38 +0000 (06:42 -0800)]
Open sourcing ILDASM
[tfs-changeset: 1551732]
Jan Kotas [Tue, 24 Nov 2015 11:43:31 +0000 (03:43 -0800)]
Merge pull request #2148 from manu-silicon/build
Build script now use current platform to compile
Jan Kotas [Tue, 24 Nov 2015 11:40:15 +0000 (03:40 -0800)]
Merge pull request #2147 from manu-silicon/minor
Consistency fix for shell variables
Alexandr Nikitin [Tue, 24 Nov 2015 10:52:03 +0000 (12:52 +0200)]
Remove unused variable from Optimizer Compiler::optHoistLoopExprsForTree method
Manu [Tue, 24 Nov 2015 02:58:58 +0000 (02:58 +0000)]
Build script now use current platform to compile
No need to specify the architecture to compile on Linux, we use
"uname -p" to infer it.
Removed __MSBuildBuildArch which was not really used, we can use
__BuildArch instead.
Added warning for x86.
Manu [Mon, 23 Nov 2015 23:27:57 +0000 (08:27 +0900)]
Consistency fix for shell variables
Use 0 instead of false since later we compare it with 1.
Jan Kotas [Mon, 23 Nov 2015 16:36:34 +0000 (08:36 -0800)]
Merge pull request #2136 from gsfreema/docs
Cleaning up Contributing Workflow documentation
Jan Kotas [Mon, 23 Nov 2015 16:35:16 +0000 (08:35 -0800)]
Merge pull request #2134 from jkotas/NO_CRT
Delete code under !NO_CRT define
Jan Kotas [Sun, 22 Nov 2015 03:25:10 +0000 (19:25 -0800)]
Delete code under !NO_CRT define
It is always defined - even in internal builds
Gerald Scott Freeman [Sun, 22 Nov 2015 15:56:30 +0000 (10:56 -0500)]
Cleaning up Contributing Workflow documentation
The line 'Please following our commit messages guidance, below.' is
incorrect since the commit messages section is above. To future proof
this line, I'm updating the line to provide a link to the Commit
Messages section. Also, correcting 'Please following' to say 'Please
follow'.
Chris McKinsey [Sat, 21 Nov 2015 23:06:01 +0000 (15:06 -0800)]
Merge pull request #2129 from maksqwe/GenTreeBoundsChk_fix
Fix GenTreeBoundsChk::gtThrowKind check in GenTree::Compare(). It was comparing the same field of op1 instead of op1 and op2.
Jan Kotas [Sat, 21 Nov 2015 22:22:25 +0000 (14:22 -0800)]
Merge pull request #2018 from AndyAyersMS/LessLogging
Reduce volume of MSBuild logging when running tests via xunit
Jan Kotas [Sat, 21 Nov 2015 22:19:51 +0000 (14:19 -0800)]
Merge pull request #2133 from gsfreema/master
Fixing a grammar mistake in Documentation\README.md
Gerald Scott Freeman [Sat, 21 Nov 2015 21:34:01 +0000 (16:34 -0500)]
Fixing a grammar mistake in Documentation\README.md
Simply using the correct conjugation of the verb 'support'.
Andy Ayers [Sat, 21 Nov 2015 19:15:48 +0000 (11:15 -0800)]
Fix generated test script to properly check for debugger
Also tried fixing the generated help to show that you need `=`. This should be conditional based on `HasParam` but since there is only one switch it works for now.
Maks Naumov [Sat, 21 Nov 2015 14:57:26 +0000 (16:57 +0200)]
Fix GenTreeBoundsChk:: gtThrowKind check in GenTree::Compare()
Stephen Toub [Sat, 21 Nov 2015 03:09:39 +0000 (22:09 -0500)]
Merge pull request #2112 from ellismg/cache-ucollators
Cache UCollators in a Locale
Jan Kotas [Sat, 21 Nov 2015 02:09:05 +0000 (18:09 -0800)]
Merge pull request #2127 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Sat, 21 Nov 2015 00:34:14 +0000 (16:34 -0800)]
Merge pull request #2117 from hickford/patch-1
Add link from readme to CoreFX
Jan Kotas [Fri, 20 Nov 2015 23:54:45 +0000 (15:54 -0800)]
Fix build breaks in desktop build
[tfs-changeset: 1550852]
Stephen Toub [Fri, 20 Nov 2015 23:32:59 +0000 (18:32 -0500)]
Merge pull request #2123 from stephentoub/cts_perf
Separate CancellationTokenSource linking into a derived class
Aditya Mandaleeka [Fri, 20 Nov 2015 23:19:12 +0000 (15:19 -0800)]
Merge pull request #2122 from adityamandaleeka/testArgsQuoteFix
Replace double quotes around test arguments with single quotes.
Lubomir Litchev [Fri, 20 Nov 2015 21:59:24 +0000 (13:59 -0800)]
Merge pull request #2096 from LLITCHEV/SysVTests
Fix for issue 2058.
Jan Kotas [Fri, 20 Nov 2015 21:41:55 +0000 (13:41 -0800)]
Merge pull request #2120 from kyulee1/osx
Package spec for RyuJit on OSX
Jan Kotas [Fri, 20 Nov 2015 21:41:21 +0000 (13:41 -0800)]
Merge pull request #2121 from dotnet-bot/from-tfs
Merge changes from TFS
Matt Ellis [Thu, 19 Nov 2015 23:00:20 +0000 (15:00 -0800)]
Cache UCollators in CompareInfo
Creating a UCollator is an expensive operation and we are presently
doing it on ever collation operation. We can improve this by caching
the UCollators we use for collation on the CompareInfo object itself.
This change introduces a new method GetSortHandle which gives back an
opaque wrapper which can be used in collation operations instead of a
culture name.
Internally we represent this is a struct holding the two types of
UCollators we care about (if we add additional collators per locale with
different options to handle other types of CompareOption flags, we can
cache these as well). Collation methods can get a `const UCollator*`
reference from the sort handle which is safe to share across
threads (per the ICU Design Guidelines[1]).
Unfortunately, tracking the lifetime of the SortHandle itself is not as
straightfoward as I would like. Right now, we use a SafeHandle to wrap
the internal handle and rely on the finalizer of the class to clean up
the native resources. However this means that the following code sample
will create two finalizable objects:
```csharp
var c1 = new CultureInfo("en-US").CompareInfo;
var c2 = new CultureInfo("en-US").CompareInfo;
```
If this ends up being an issue, we could explore an approach where we
keep a cahce of SortHandles in managed code and pass out references to
that SortHandle which would let us share a single SortHandle for a given
locale across more than one CompareInfo object.
Wins are seeing in places where we previously did lots of string
comparisions in a tight loop (for example: dotnet/corefx#3811) moving
these operations down to ~6ms per iteration vs ~330ms on my local machine.
[1]: http://userguide.icu-project.org/design
Pat Gavlin [Fri, 20 Nov 2015 21:14:29 +0000 (13:14 -0800)]
Merge pull request #2107 from pgavlin/SysVCleanup
Small cleanups in SysV classification.
stephentoub [Fri, 20 Nov 2015 17:36:24 +0000 (12:36 -0500)]
Separate CancellationTokenSource linking into a derived class
The m_linkingRegistrations field is only used on CancellationTokenSource instances created by CreateLinkedTokenSource. This commit creates a private LinkedCancellationTokenSource to contain that field and related logic, so that the field is pay for play. This shaves off ~11% of normal CancellationTokenSource's memory consumption.
Aditya Mandaleeka [Fri, 20 Nov 2015 20:14:46 +0000 (12:14 -0800)]
Replace double quotes around test arguments with single quotes.
Jan Kotas [Fri, 20 Nov 2015 18:58:46 +0000 (10:58 -0800)]
Fix build breaks in legacy build
[tfs-changeset: 1550765]
Lee Coward [Fri, 20 Nov 2015 17:29:28 +0000 (09:29 -0800)]
Added missing URL to .NET Foundation forums
Lee Coward [Fri, 20 Nov 2015 17:27:24 +0000 (09:27 -0800)]
Grammar fix-up
Lee Coward [Fri, 20 Nov 2015 17:23:07 +0000 (09:23 -0800)]
Added Full Framework support info
Kyungwoo Lee [Fri, 20 Nov 2015 15:31:27 +0000 (07:31 -0800)]
Package spec for RyuJit on OSX
Jan Kotas [Fri, 20 Nov 2015 15:25:09 +0000 (07:25 -0800)]
Merge pull request #2116 from jkotas/gc-update
Update GC from CoreRT
Jan Kotas [Fri, 20 Nov 2015 15:16:03 +0000 (07:16 -0800)]
Merge pull request #2114 from sergiy-k/byrefrax
Do not preserve volatile registers in JIT_ByRefWriteBarrier
Mirth Hickford [Fri, 20 Nov 2015 10:53:15 +0000 (10:53 +0000)]
Update README.md
Link to CoreFX repo
Jan Kotas [Fri, 20 Nov 2015 04:31:33 +0000 (20:31 -0800)]
Fix build breaks after GC update
Sergiy Kuryata [Fri, 20 Nov 2015 02:11:15 +0000 (18:11 -0800)]
Do not preserve volatile registers in JIT_ByRefWriteBarrier
RyuJIT assumes that all volatile registers can be trashed by the CORINFO_HELP_ASSIGN_BYREF helper (i.e. JIT_ByRefWriteBarrier).
So we don't need to save and restore them and can reduce the size of the barrier by a couple of instructions.
Jan Kotas [Fri, 20 Nov 2015 01:01:53 +0000 (17:01 -0800)]
Update GC from CoreRT
https://github.com/dotnet/corert/tree/master/src/Native/gc
c03d823a11f54e734e340813e6cd1e543ca448ef
Jan Kotas [Fri, 20 Nov 2015 04:41:04 +0000 (20:41 -0800)]
Merge pull request #2110 from janvorli/refactor-gc-types
Refactor gc types
Jan Kotas [Fri, 20 Nov 2015 04:39:26 +0000 (20:39 -0800)]
Merge pull request #2109 from jkotas/glossary
Add ProjectN and Redhawk to the glossary
David Mason [Fri, 20 Nov 2015 04:06:07 +0000 (20:06 -0800)]
Adding a condition to exclude a registry check on certain builds.
Jan Vorlicek [Fri, 20 Nov 2015 00:19:07 +0000 (01:19 +0100)]
Fix few missing casts
Strangely enough, the build was successful locally, but not on the CI
machines.
Jan Kotas [Fri, 20 Nov 2015 00:04:16 +0000 (16:04 -0800)]
Merge pull request #2108 from wtgodbe/pathTests
Deleted path tests from coreclr repo
David Mason [Thu, 19 Nov 2015 23:16:46 +0000 (15:16 -0800)]
Merge remote-tracking branch 'upstream/master'
Eric Erhardt [Thu, 19 Nov 2015 22:31:22 +0000 (16:31 -0600)]
Merge pull request #2047 from eerhardt/ShortDate
DateTimeFormat.ShortDatePattern should use CLDR 'short' format on Unix.
Jan Kotas [Thu, 19 Nov 2015 22:20:34 +0000 (14:20 -0800)]
Add ProjectN and Redhawk to the glossary
Jan Vorlicek [Thu, 19 Nov 2015 22:16:59 +0000 (23:16 +0100)]
Some formatting cleanup
Code formatting (alignment) needs to be fixed at few places.
William Godbe [Thu, 19 Nov 2015 21:51:50 +0000 (13:51 -0800)]
Deleted path tests from coreclr repo
Jan Kotas [Thu, 19 Nov 2015 21:48:41 +0000 (13:48 -0800)]
Merge pull request #2100 from gsfreema/master
Fixing a typo in developer-guide.md.
Jan Kotas [Thu, 19 Nov 2015 21:47:54 +0000 (13:47 -0800)]
Merge pull request #2104 from wtgodbe/deleteTests
Deleted duplicate globalization and localization tests from coreclr
Jan Kotas [Thu, 19 Nov 2015 21:46:21 +0000 (13:46 -0800)]
Merge pull request #2102 from dotnet-bot/from-tfs
Merge changes from TFS
Pat Gavlin [Thu, 19 Nov 2015 21:15:43 +0000 (13:15 -0800)]
Small cleanups in SysV classification.
- Clean up/clarify the logic in CEEInfo::getSystemVAmd64PassStructInRegisterDescriptor
- Move a static helper function off of MethodTable
Jan Vorlicek [Thu, 19 Nov 2015 21:31:13 +0000 (22:31 +0100)]
Replaced remaining types
LPARAM, SSIZE_T
Pat Gavlin [Thu, 19 Nov 2015 20:33:53 +0000 (12:33 -0800)]
Merge pull request #1981 from pgavlin/SysV
Fix struct padding issues with SysV struct classification.
William Godbe [Thu, 19 Nov 2015 20:09:07 +0000 (12:09 -0800)]
Deleted duplicate globalization and localization tests from coreclr
Jan Vorlicek [Thu, 19 Nov 2015 19:34:56 +0000 (20:34 +0100)]
Add casts to APIs that require LONG / DWORD parameters
Jan Kotas [Thu, 19 Nov 2015 17:55:12 +0000 (09:55 -0800)]
Fix ARM64 build break
[tfs-changeset: 1550309]
Gerald Scott Freeman [Thu, 19 Nov 2015 16:37:16 +0000 (11:37 -0500)]
Fixing a typo in developer-guide.md.
The words 'are' and 'and' were mistyped and need to be switched.
Jan Vorlicek [Thu, 19 Nov 2015 10:36:25 +0000 (11:36 +0100)]
Merge pull request #2098 from janvorli/fix-threadpool-shiftwaitarray
Fix issue with threadpool and wait for multiple objects on Linux
Jan Vorlicek [Thu, 19 Nov 2015 09:38:17 +0000 (10:38 +0100)]
Changed LONG and ULONG
Jan Vorlicek [Thu, 19 Nov 2015 08:16:34 +0000 (09:16 +0100)]
Fix issue with threadpool and wait for multiple objects on Linux
There is a method ThreadpoolMgr::ShiftWaitArray which uses memcpy to do
a move a segment of the waitPointer and waitHandle arrays one position
down, so the source and destination ranges overlap. However, it uses
memcpy, which on Linux copies items starting from the last one. So
the arrays get corrupted after the memcpy, containing multiple copies
of the last element and not containig some elements that were expected
to move.
The fix is to use memmove which should be used when the source and
destination memory regions overlap.
Lubomir Litchev [Wed, 18 Nov 2015 23:07:49 +0000 (15:07 -0800)]
Fix for issue 2058.
AndyAyersMS ran the valgrind on the parts of the VM/Jit and discovered the
2 erors described in issue #2058. One of them is that theorder of two assert condition was
swapped. The other was that there were a number of uninitialized variables that
in some cases could cause undefined behavior.
Chris McKinsey [Thu, 19 Nov 2015 05:01:22 +0000 (21:01 -0800)]
Update osx-instructions.md
Added text to describe increasing the file limit so mscorlib will not fail during build with file limit errors.
Bruce Forstall [Thu, 19 Nov 2015 02:28:44 +0000 (18:28 -0800)]
Merge pull request #2092 from BruceForstall/CleanupTargetHIfdefs
Simplify JIT target.h #ifdefs for ETW_EBP_FRAMED
Jan Kotas [Thu, 19 Nov 2015 00:52:54 +0000 (16:52 -0800)]
Merge pull request #2094 from rahku/master
Fix dac verification errors caused by 48617ae
Mike McLaughlin [Wed, 18 Nov 2015 23:06:19 +0000 (15:06 -0800)]
Merge pull request #2091 from mikem8361/fixfreebsd
Fixed FreeBSD sos plugin build.
Rahul Kumar [Wed, 18 Nov 2015 22:25:22 +0000 (14:25 -0800)]
Fix dac verification errors caused by 48617ae
Bruce Forstall [Wed, 18 Nov 2015 21:08:51 +0000 (13:08 -0800)]
Simplify JIT target.h #ifdefs for ETW_EBP_FRAMED
Many macros related to register usage were #ifdef'ed such that under ETW_EBP_FRAMED, EBP
doesn't appear in the macro. The complication was made much worse when UNIX support was
added because it doubled the number of such macros.
I simplified this by defining macros for EBP based on ETW_EBP_FRAMED that can then be used
in subsequent macros defining various register sets and lists. This greatly reduces the
number of #ifdefs.
Mike McLaughlin [Wed, 18 Nov 2015 20:13:43 +0000 (20:13 +0000)]
Fixed FreeBSD sos plugin build.
Mike McLaughlin [Wed, 18 Nov 2015 20:36:58 +0000 (12:36 -0800)]
Merge pull request #2068 from mikem8361/palsxs
Add new pal test that tests exceptions across multiple PALs
Mike McLaughlin [Sat, 14 Nov 2015 01:47:19 +0000 (17:47 -0800)]
Add new pal test that tests exceptions across multiple PALs in different modules.
Currently disabled for FreeBSD.
Pat Gavlin [Fri, 6 Nov 2015 19:15:29 +0000 (11:15 -0800)]
Fix struct padding issues with SysV struct classification.
This change revises the handling of padding bytes between struct fields
and bytes that trail the last field in a struct. These changes address
problems with structs that contain > 8 bytes between fields as well as
C# fixed arrays (which are emitted as a struct with a single field of
the fixed array element type and an explicit size derived from the
number of elements and the size of the element type).
The classification given to a particular byte that is not part of a
formal field depends on whether that byte is between fields or
trails the final field in a struct. Bytes in the former category--
padding bytes--are classified as NO_CLASS as per the SysV ABI spec.
Bytes in the latter category--"leftover" bytes after the final
field of a struct--are assigned the classification of the final
field in the struct. This allows C# fixed-size arrays to work
properly, as their representative structs are logically (but
unfortunately not physically) structs with element-count fields of
the element type. Were they explicit, each of these fields would
have the same classification.
Jan Vorlicek [Wed, 18 Nov 2015 18:01:50 +0000 (19:01 +0100)]
Replace most windows style types by c++ types
This change replaces DWORD, LONGLONG, ULONGLONG, SIZE_T, BYTE, LONG32 and few more by
standard c++ types. The DWORD still remains present in signatures of Windows APIs used
by the GC. There are few issues with those that need to get fixed.
Jan Kotas [Wed, 18 Nov 2015 17:48:02 +0000 (09:48 -0800)]
Merge pull request #2088 from kyulee1/corert
A few fixes for standalone Jit (RyuJit) for CoreRT integration
Jan Kotas [Wed, 18 Nov 2015 16:59:23 +0000 (08:59 -0800)]
Merge pull request #2084 from benpye/revert-arm-build-break
Revert change in 4e06e42 that broke ARM cross build
Kyungwoo Lee [Thu, 29 Oct 2015 15:33:06 +0000 (08:33 -0700)]
A few fixes for standlone Jit build
1. Fix for assertion in fgAddFieldSeqForZeroOffset
The fix relaxed the assertion under FEATURE_REF_ZERO_OFFSET_ALLOWED.
The feature is enabled when the standalone jit is built.
2. Package spec files for Windows/Linux and redirection.
3. Rename ProtoJit to RyuJit
Rich Lander [Wed, 18 Nov 2015 15:52:20 +0000 (07:52 -0800)]
Merge pull request #2087 from blackdwarf/master
Add additional data to PATENTS.TXT
Lubomir Litchev [Wed, 18 Nov 2015 15:26:59 +0000 (07:26 -0800)]
Merge pull request #2055 from LLITCHEV/SysVTests
Add the tests used to bring the System V struct passing/returning fun…
Lubomir Litchev [Sun, 15 Nov 2015 23:24:35 +0000 (15:24 -0800)]
Add the tests used to bring the System V struct passing/returning functionality.
There are:
1. Tests for passing managed struct.\
2. Tests for returning managed structs.
3. Tests for PInvoke and reverse PInvoke using callbacks and native SO.
Zlatko Knezevic [Wed, 18 Nov 2015 10:20:49 +0000 (02:20 -0800)]
Add additional data to PATENTS.TXT
Jan Kotas [Wed, 18 Nov 2015 00:25:12 +0000 (16:25 -0800)]
Merge pull request #2079 from mikedn/no-decomp
Ifdef out useless code in JIT lowering
Bruce Forstall [Wed, 18 Nov 2015 00:11:18 +0000 (16:11 -0800)]
Merge pull request #2082 from BruceForstall/Fix2053
Fix RyuJIT assert 'emitCurIG != emitPrologIG'
Ben Pye [Wed, 18 Nov 2015 00:03:24 +0000 (00:03 +0000)]
Revert change in 4e06e42 that broke ARM cross build
Jan Kotas [Tue, 17 Nov 2015 22:42:55 +0000 (14:42 -0800)]
Merge pull request #2061 from akoeplinger/utf-escape
Replace Unicode symbols with escape sequence in test source files
Jan Kotas [Tue, 17 Nov 2015 22:37:41 +0000 (14:37 -0800)]
Merge pull request #2010 from ellismg/update-test-documentation
Update testing instructions
Jan Kotas [Tue, 17 Nov 2015 22:32:47 +0000 (14:32 -0800)]
Merge pull request #2064 from akoeplinger/failcount-zero
Don't print the "Some tests failed" message when _failCount is 0
Jan Kotas [Tue, 17 Nov 2015 22:31:08 +0000 (14:31 -0800)]
Merge pull request #2062 from akoeplinger/dont-hardcode-libc.dylib
Fix two Marshal tests to not hardcode OSX libc
Jan Kotas [Tue, 17 Nov 2015 22:28:01 +0000 (14:28 -0800)]
Merge pull request #2042 from kouvel/StartupFlags
Allow setting some startup flags outside Windows
Jan Kotas [Tue, 17 Nov 2015 22:27:13 +0000 (14:27 -0800)]
Merge pull request #2049 from stephentoub/uuid_generate_random
Use uuid_generate_random instead of uuid_generate in CoCreateGuid
Jan Kotas [Tue, 17 Nov 2015 22:24:22 +0000 (14:24 -0800)]
Merge pull request #2067 from akoeplinger/fix-overflow-gcstress
Fix OverflowException in b115557.cs GC test on systems with fewer than four processors/cores
Matt Mitchell [Tue, 17 Nov 2015 22:14:53 +0000 (14:14 -0800)]
Merge pull request #2073 from mmitche/fix-exit-code
Exit outerlevel build call if innerlevel exits with non-zero code
Bruce Forstall [Tue, 17 Nov 2015 22:00:20 +0000 (14:00 -0800)]
Fix RyuJIT assert 'emitCurIG != emitPrologIG'
This occurs when the call-to-finally block exists as the last code in the function
(including any funclets). After we generate all "normal" code, we start over and
generate code for all the prologs and epilogs. In this case, we didn't reset the
emitForceNewIG global, which determines if we should force a new IG to be created
the next time code is generated. It is used for specifying no-GC regions. This fix
initializes it (along with emitNOGCIG) at the beginning of generating and prolog
or epilog.