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
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
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
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.
Jan Kotas [Tue, 17 Nov 2015 21:25:45 +0000 (13:25 -0800)]
Merge pull request #2066 from akoeplinger/argparsing-gcstress
Use InvariantCulture for parsing float arguments in GC stress tests
Matt Mitchell [Tue, 17 Nov 2015 16:36:13 +0000 (08:36 -0800)]
Exit outerlevel build call if innerlevel exits with non-zero code
Eugene Rozenfeld [Tue, 17 Nov 2015 19:22:33 +0000 (11:22 -0800)]
Merge pull request #2074 from erozenfeld/RotateTestFix
Fix for test break.
Steve Harter [Tue, 17 Nov 2015 18:38:33 +0000 (12:38 -0600)]
Merge pull request #2016 from steveharter/CMake
Enable Clang sanitizers for debug builds (address sanitizer, undefined behavior sanitizer and leak sanitizer)
Mike Danes [Tue, 17 Nov 2015 18:22:56 +0000 (20:22 +0200)]
Ifdef out useless code
In 64 bit builds Lowering::DecompNodeHelper does nothing so walking the trees is pointless. Profiling indicates that this accounts for 0.5% of the mscorlib crossgen time.
Pat Gavlin [Tue, 17 Nov 2015 17:12:08 +0000 (09:12 -0800)]
Merge pull request #1983 from LLITCHEV/SystemVStructsCleanup
Fixed a bad merge issue.
Steve Harter [Fri, 6 Nov 2015 00:41:48 +0000 (18:41 -0600)]
Enable CLANG sanitizers for native debug builds
Eugene Rozenfeld [Tue, 17 Nov 2015 16:30:16 +0000 (08:30 -0800)]
Fix for test break.
Eugene Rozenfeld [Tue, 17 Nov 2015 05:55:21 +0000 (21:55 -0800)]
Merge pull request #2069 from erozenfeld/RotationFix
Fix for a rotation transformation bug.
Lubomir Litchev [Fri, 6 Nov 2015 23:38:06 +0000 (15:38 -0800)]
Fixed a bad merge issue and some internal API cleanup.
Sometime ago when the SystemVStructs branch was PRed into master a bad
merge has occured.
Some struct classification cleanup for native vs. managed struct layout
representation.
When classifying a native layout of the struct use the following
algorithm.
1. If the struct has special marshaling it has a native layout.
In such cases the classifier needs to use the native layout.
2. For structs with no native layout, the managed layout should be used
even if classified for the purposes of marshaling/PInvoke passing.
Eugene Rozenfeld [Mon, 16 Nov 2015 23:47:59 +0000 (15:47 -0800)]
Fix for a rotation transformation bug.
rotatedValueBitSize should be calculated from genActualType(rotatedValue->gtType) instead of rotatedValue->gtType.
I added a test that was failing with an assert because of this bug: rol32ushort.
Matt Ellis [Mon, 16 Nov 2015 20:51:01 +0000 (12:51 -0800)]
Merge pull request #2052 from stephentoub/startswith_null
Add USEARCH_DONE check to StartsWith in System.Globalization.Native
Alexander Köplinger [Fri, 6 Nov 2015 19:14:24 +0000 (20:14 +0100)]
Fix OverflowException in b115557.cs GC test on systems with fewer than four processors/cores
_allocPerThreadMB/2 can be larger than what fits into byte (because it's based on the number of processors/cores),
resulting in an OverflowException on those systems.
Alexander Köplinger [Fri, 6 Nov 2015 16:42:51 +0000 (17:42 +0100)]
Use InvariantCulture for parsing float arguments in GC stress tests
Otherwise they'd fail on cultures where '.' isn't used as a decimal separator.
Alexander Köplinger [Fri, 6 Nov 2015 16:35:31 +0000 (17:35 +0100)]
Don't print the "Some tests failed" message when _failCount is 0
Alexander Köplinger [Tue, 3 Nov 2015 13:31:52 +0000 (14:31 +0100)]
Fix two Marshal tests to not hardcode OSX libc
Don't hardcode OSX path to libc.dylib, we can just use libc in the DllImport.
Fix the signature to return an IntPtr and do marshalling of the string correctly.
Alexander Köplinger [Tue, 3 Nov 2015 13:16:57 +0000 (14:16 +0100)]
Replace Unicode symbols with escape sequence in test source files
Those files don't have a BOM and can be misinterpreted.
Bryan P. Arant [Mon, 16 Nov 2015 19:24:35 +0000 (11:24 -0800)]
Merge pull request #2057 from bryanar/loader_tests
Porting loader tests from internal legacy tree.
Matt Mitchell [Mon, 16 Nov 2015 17:59:05 +0000 (09:59 -0800)]
Merge pull request #2060 from mmitche/fix-arm-rootfs
Fix typo in rootfs name
Matt Mitchell [Mon, 16 Nov 2015 17:58:19 +0000 (09:58 -0800)]
Fix typo in rootfs name
Bryan Arant [Mon, 16 Nov 2015 07:13:48 +0000 (23:13 -0800)]
Porting loader tests from internal legacy tree.
stephentoub [Sun, 15 Nov 2015 13:03:26 +0000 (08:03 -0500)]
Add USEARCH_DONE check to StartsWith in System.Globalization.Native
The StartsWith ICU wrapper was not checking the result of usearch_first
to see if it was USEARCH_DONE, indicating no match found. This has two
ramifications:
1. When there isn't a match, USEARCH_DONE (-1) gets passed in as the
textLength argument to ucol_openElements, which treats -1 as meaning
the string isn't null-terminated, and thus ends up walking the string
looking for non-ignorable collation elements. Our tests have been passing
because they've been using strings containing only non-ignorable
elements, and thus the first character checked causes us to bail and correctly
return false. If nothing else, this is an unnecessary perf overhead.
2. But on top of that if there are only ignorable collation elements
before the first null character in the string (e.g. if the string begins
with a null character), then because we told ICU that the string ended
at the first null character, it'll stop walking the string and return
a match. e.g. "\0bug".StartsWith("test") returns true incorrectly.
This commit simply adds a check for USEARCH_DONE to StartsWith.
EndsWith already has such a check.
Stephen Toub [Sun, 15 Nov 2015 11:47:36 +0000 (06:47 -0500)]
Merge pull request #2043 from stephentoub/startsendswith_null
Pass target string lengths to ICU on Unix
Jan Kotas [Sat, 14 Nov 2015 16:20:54 +0000 (08:20 -0800)]
Merge pull request #2046 from JohnChen0/heap
Remove an unsafe memory write in HeapFree
stephentoub [Sat, 14 Nov 2015 14:16:04 +0000 (09:16 -0500)]
Use uuid_generate_random instead of uuid_generate in CoCreateGuid
The PAL implementation of CoCreateGuid is currently using uuid_generate.
This will be based on high-quality randomness if available, otherwise it
falls back to an algorithm that incorporates the local ethernet MAC address
along with the current time and a pseudo-random generator. To avoid potential
privacy issues, this commit switches to using uuid_generate_random, which
instead falls back purely to a pseudo-random generator.
Koundinya Veluri [Wed, 11 Nov 2015 19:39:58 +0000 (11:39 -0800)]
Allow setting some startup flags outside Windows
Allowing the GC-related flags to be set using properties passed into coreclr_initialize.