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
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
John Chen [Fri, 13 Nov 2015 21:49:43 +0000 (13:49 -0800)]
Remove an unsafe memory write in HeapFree
The PAL implementation of HeapFree assumes that the memory region always
have at least 4 bytes. Depending on the heap implementation, this is not
necessarily true, and can potentially cause memory corruption.
John Chen [Fri, 13 Nov 2015 21:19:26 +0000 (13:19 -0800)]
Merge pull request #2045 from JohnChen0/master
Fix buffer overrun in SetMscorlibPath
John Chen [Fri, 13 Nov 2015 18:32:15 +0000 (10:32 -0800)]
Fix buffer overrun in SetMscorlibPath
stephentoub [Fri, 13 Nov 2015 13:59:12 +0000 (08:59 -0500)]
Pass target string lengths to ICU on Unix
Our current ICU shims for StartsWith, EndsWith, IndexOf, and LastIndexOf
take the length of the source string but not the length of the target
string. This forces ICU to compute the length of the string by searching
for a null terminator. We can save those costs and be more accurate
around nulls in the target string by passing the known length in.
Jan Kotas [Fri, 13 Nov 2015 13:35:00 +0000 (05:35 -0800)]
Merge pull request #2034 from dotnet-bot/from-tfs
Merge changes from TFS
Brian Robbins [Fri, 13 Nov 2015 05:44:08 +0000 (21:44 -0800)]
Merge pull request #2033 from brianrob/crossgen_perfmap2
Enable Offline Generation of Text-Based Symbol Tables for NGEN Images
Jan Kotas [Fri, 13 Nov 2015 01:03:56 +0000 (17:03 -0800)]
Merge pull request #2030 from jkotas/vs2015-update1-buildbreak
Fix build break on VS2015 Update 1
Mike McLaughlin [Fri, 13 Nov 2015 00:56:17 +0000 (16:56 -0800)]
Merge pull request #2013 from mikem8361/createthread
Fix Thread.Start while debugging bug on OSX.
Jan Vorlicek [Thu, 12 Nov 2015 23:38:39 +0000 (00:38 +0100)]
Merge pull request #2031 from janvorli/fix-exceptions-in-filter
Fix processing of unhandled exception in exception filter
Mike McLaughlin [Tue, 10 Nov 2015 22:28:10 +0000 (14:28 -0800)]
Fix Thread.Start while debugging bug on OSX.
The OSX exception logic is running on a separate thread from the one that the exception happened. The CatchHardwareExceptionHolder::IsEnabled used to check for h/w exception holders assumed it was running on the thread the exception/holders happened not the exception notification thread. Moved the h/w exception holder count to the CPalThread object instead of a TLS thread variable so the OSX exception code can check it given a CPalThread instance.
The main problem was that the stubmgr when creating a thread (for the start notification) put a breakpoint in ThePreStubPatch which is in the coreclr text section and because the h/w exception holder check was broken, it thought the breakpoint wasn't the debugger's and aborted the coreclr process. The other part of this fix is to put a h/w exception holder around the called to ThePreStubPatch in prestub.cpp.
The stubmgr's delegate invoke subclass used the wrong registers for Linux/OSX to read the "this" and parameter registers. Added the proper ifdefs and registers (ecx -> rdi, rdx -> rsi) for the Unix platforms.
On both Linux and OSX, the h/w exception holder check in the exception routing logic needed to check if the int3/trap is in DBG_DebugBreak so asserts always abort/core dump. Move DBG_DebugBreak to an assembly worker so the start/end address can be used for this check.
Jan Kotas [Thu, 12 Nov 2015 22:31:18 +0000 (14:31 -0800)]
Fix inconsistent security annotations
[tfs-changeset: 1547876]
Matt Mitchell [Thu, 12 Nov 2015 21:54:54 +0000 (13:54 -0800)]
Merge pull request #2032 from mmitche/add-cross-packages
Add missing packages for arm/arm64 cross build
Matt Mitchell [Thu, 12 Nov 2015 19:21:49 +0000 (11:21 -0800)]
Add missing packages for arm64 cross build
Brian Robbins [Tue, 10 Nov 2015 01:50:56 +0000 (17:50 -0800)]
Enable offline generation of text-based symbol tables for native images. This is needed in order to profile applications on Linux using perf_event.
This change also modifies the runtime to emit a perfmap entry when a native image is loaded so that offline trace processing tools can identify when a perfmap file for a native image is needed and generate it.
Jan Kotas [Thu, 12 Nov 2015 20:51:51 +0000 (12:51 -0800)]
Merge pull request #2024 from jkotas/crossgen-ifdefs
Improve FEATURE_NATIVE_IMAGE_GENERATION ifdefs
Jan Kotas [Thu, 12 Nov 2015 15:09:12 +0000 (07:09 -0800)]
Fix build break on VS2015 Update 1
Jan Vorlicek [Thu, 12 Nov 2015 16:05:27 +0000 (17:05 +0100)]
Fix processing of unhandled exception in exception filter
This change fixes processing of unhandled exceptions in exception filter on Unix.
Before this fix, such exception leads to assert in the exception handling code
due to the fact that the exception tracker of the unhandled exception is not
popped from the exception tracker stack of the thread.
Although the PopTrackers method was being called, it bailed out due to the fact
that the exception tracker belonging to the unhandled exception has empty scanned
stack range.
The fix is to explicitly pop the tracker in the EX_CATCH that catches the
exception from the filter.
I have also re-enabled the JIT test b68872 that has uncovered the issue.
Pat Gavlin [Thu, 12 Nov 2015 18:03:31 +0000 (10:03 -0800)]
Merge pull request #2020 from pgavlin/StructABITests
Add some additional cases to the struct ABI test.
Lubomir Litchev [Thu, 12 Nov 2015 16:47:07 +0000 (08:47 -0800)]
Merge pull request #2009 from LLITCHEV/Issue1995-1
Fix for issue 1995.
Alfredo Menendez Sancho [Thu, 12 Nov 2015 16:31:39 +0000 (09:31 -0700)]
Merge pull request #2026 from AlfredoMS/async_fix
Fix Task so that RunContinuationsAsynchronously flag works with all continuations
Jan Kotas [Thu, 12 Nov 2015 14:33:14 +0000 (06:33 -0800)]
Merge pull request #2028 from dotnet/revert-2023-disable-x86-release
Revert "Disable x86 windows release build until it passes"
Lubomir Litchev [Tue, 10 Nov 2015 21:19:15 +0000 (13:19 -0800)]
Fix for issue 1995.
This changes containg a fix for Issue 1995.
When remorphing an argument that has been already completed (in case of
CSE rewriting for example, as in this case) the classification code was
not run properly and it is triggering an assertion. As the Issue 1995
states the assert failure is benign since the generated code is correct -
the change of registers used during completed argument classification is
not allowed and the code is not changing them.
This changes add the necessary code to properly classify and assign
registes for completed arguments remorphing, which complies with the expectations of the failing assert.
Eugene Rozenfeld [Thu, 12 Nov 2015 05:18:50 +0000 (21:18 -0800)]
Merge pull request #2027 from erozenfeld/RotationImprovements
Implement improvements for rotation matching.
Jan Kotas [Thu, 12 Nov 2015 04:34:39 +0000 (20:34 -0800)]
Revert "Disable x86 windows release build until it passes"
Jan Kotas [Thu, 12 Nov 2015 04:33:36 +0000 (20:33 -0800)]
Merge pull request #2025 from jkotas/fatal-error
Use volatile store for g_hrFatalError
Eugene Rozenfeld [Thu, 12 Nov 2015 03:15:55 +0000 (19:15 -0800)]
Implement improvements for rotation matching.
1. Recognize patterns with XOR instead of OR, e.g., (x << 5) ^ (x >> 27).
2. Recognize patterns with instance or static fields and ref params.
Only GTF_PERSISTENT_SIDE_EFFECTS (i.e., calls and assignments) and
GTF_ORDER_SIDEEFF (i.e., volatile accesses) prevent tree matching.
Before this change we used GTF_ALL_EFFECT.
Alfredo Menendez Sancho [Thu, 12 Nov 2015 02:31:34 +0000 (18:31 -0800)]
Fix Task so that RunContinuationsAsynchronously flag works with all types of continuation
Jan Kotas [Thu, 12 Nov 2015 01:48:49 +0000 (17:48 -0800)]
Use volatile store for g_hrFatalError
Senthil [Thu, 12 Nov 2015 01:41:22 +0000 (17:41 -0800)]
Merge pull request #1985 from schellap/master
Emit custom test launcher hook for custom test runners
Jan Kotas [Thu, 12 Nov 2015 00:47:09 +0000 (16:47 -0800)]
Improve FEATURE_NATIVE_IMAGE_GENERATION ifdefs
Matt Mitchell [Wed, 11 Nov 2015 23:32:29 +0000 (15:32 -0800)]
Merge pull request #2023 from mmitche/disable-x86-release
Disable x86 windows release build until it passes
Matt Mitchell [Wed, 11 Nov 2015 23:24:44 +0000 (15:24 -0800)]
Disable x86 windows release build until it passes
To trigger in the meantime, say: 'test x86 windows release'
Jan Kotas [Wed, 11 Nov 2015 22:52:09 +0000 (14:52 -0800)]
Merge pull request #2015 from kouvel/TpaBinder
Fix a couple of issues involving assembly loading
Jan Kotas [Wed, 11 Nov 2015 22:51:55 +0000 (14:51 -0800)]
Merge pull request #2017 from dotnet-bot/from-tfs
Merge changes from TFS
Koundinya Veluri [Tue, 10 Nov 2015 18:35:30 +0000 (10:35 -0800)]
Fix a couple of issues involving assembly loading
Fixes #1740
- After an assembly is loaded through a custom load context, when its dependencies are being loaded and the dependencies are in an app folder but not on the TPA list, don't search app paths when using the TPA binder, and instead use the default binder for the dependent assembly to load dependencies through the same custom AssemblyLoadContext.
Fixes #1187
- In the AssemblyName created by AssemblyLoadContext.GetAssemblyName(), don't initialize the CodeBase property since it's not in the exposed surface area for .NET Core. If the AssemblyName is passed to Assembly.Load(), note that regardless of the path sent to GetAssemblyName(), default search orders are still used to load the assembly by name. A custom AssemblyLoadContext would need to be used to control where an assembly is loaded from.
- Fixed a couple of error messages that mentioned phone
Pat Gavlin [Wed, 11 Nov 2015 19:21:29 +0000 (11:21 -0800)]
Add some additional cases to the struct ABI test.
These tests cover boundary cases for the SysV ABI.
Matt Mitchell [Wed, 11 Nov 2015 19:18:04 +0000 (11:18 -0800)]
Merge pull request #2019 from mmitche/no-pal-tests-for-x86
No pal tests for x86 windows nt
schellap [Sun, 1 Nov 2015 00:55:12 +0000 (17:55 -0700)]
Emit custom test launcher hook for custom test runners
Matt Mitchell [Wed, 11 Nov 2015 19:11:51 +0000 (11:11 -0800)]
No pal tests for x86 windows nt
Michelle McDaniel [Wed, 11 Nov 2015 16:31:37 +0000 (08:31 -0800)]
Merge pull request #2012 from adiaaida/x86failures
Add x86 build to PR test and remove xunit
Jan Kotas [Wed, 11 Nov 2015 05:11:11 +0000 (21:11 -0800)]
Merge pull request #2011 from kyulee1/fixbuild
Fix for build break
Aditya Mandaleeka [Wed, 11 Nov 2015 00:56:17 +0000 (16:56 -0800)]
Merge pull request #1928 from adityamandaleeka/jenkins_enable_unix
Exit runtest.sh with a failure code if any tests fail
Michelle McDaniel [Thu, 5 Nov 2015 01:00:55 +0000 (17:00 -0800)]
Add x86 build to PR test and remove xunit
This change adds an x86 build to the list of jobs started with each PR so
that we make sure we don't break the x86 build. Also remove xunit parsing
from x86 jobs since they do not run tests.
Kyungwoo Lee [Tue, 10 Nov 2015 23:21:59 +0000 (15:21 -0800)]
Fix for build break
When building llilc against coreclr in Linux, m_IsSlotTableFrozen is defined under _DEBUG
but it is used without guard "#ifdef _DEBUG"
This is fix for it.
Aditya Mandaleeka [Tue, 10 Nov 2015 23:17:35 +0000 (15:17 -0800)]
Temporarily disable StructABI test to unblock CI while issues are resolved
Richard L Ford [Tue, 10 Nov 2015 20:56:23 +0000 (12:56 -0800)]
Merge pull request #2006 from richardlford/gettypetypeofmatrix
Respond to review of gettypetypeofmatrix test.
Richard L Ford [Tue, 10 Nov 2015 18:08:07 +0000 (10:08 -0800)]
Respond to review of gettypetypeofmatrix test.
The automatic formatter missed putting "public" and
"static" in a canonical order, so do that manually.
Also remove a case of Hungarian notation.
Richard L Ford [Tue, 10 Nov 2015 17:56:43 +0000 (09:56 -0800)]
Merge pull request #2000 from richardlford/gettypetypeofmatrix
Add gettypetypeofmatrix test.
Matt Mitchell [Tue, 10 Nov 2015 17:17:45 +0000 (09:17 -0800)]
Merge pull request #1970 from mmitche/enbable-by-default
Enable coreclr tests by default
Matt Mitchell [Thu, 5 Nov 2015 20:00:02 +0000 (12:00 -0800)]
Enable coreclr tests by default
Jan Kotas [Tue, 10 Nov 2015 15:15:23 +0000 (07:15 -0800)]
Merge pull request #1999 from adityamandaleeka/remove_suspension
More PAL thread cleanup (last one)
dotnet-bot [Tue, 10 Nov 2015 01:10:35 +0000 (17:10 -0800)]
System.BitConverter.ToString(Byte[] value, Int32 startIndex, Int32 length) value is null message
[tfs-changeset: 1546665]
Richard L Ford [Mon, 9 Nov 2015 23:42:12 +0000 (15:42 -0800)]
Add gettypetypeofmatrix test.
Ported the JIT/Directed/gettypetypeof/gettypetypeofmatrix.cs
test from the desktop clr suite to coreclr.
Aditya Mandaleeka [Mon, 9 Nov 2015 23:32:41 +0000 (15:32 -0800)]
Remove InternalRand.
Aditya Mandaleeka [Sat, 7 Nov 2015 02:19:26 +0000 (18:19 -0800)]
Remove thread parameter from several more PAL functions.
Pat Gavlin [Mon, 9 Nov 2015 18:44:57 +0000 (10:44 -0800)]
Merge pull request #1998 from pgavlin/AddNinjaSupport
Add support for ninja to the CoreCLR build.
Jan Kotas [Mon, 9 Nov 2015 16:12:59 +0000 (08:12 -0800)]
Merge pull request #1994 from dotnet-bot/from-tfs
Merge changes from TFS
Pat Gavlin [Mon, 9 Nov 2015 04:00:30 +0000 (20:00 -0800)]
Add support for ninja to the CoreCLR build.
Just what it says on the tin.
Vance Morrison [Mon, 9 Nov 2015 03:14:50 +0000 (19:14 -0800)]
Merge pull request #1990 from stephentoub/fix_eventsource_typo
Fix a typo in EventSource_EventParametersMismatch error string
Vance Morrison [Mon, 9 Nov 2015 03:14:30 +0000 (19:14 -0800)]
Merge pull request #1988 from stephentoub/fix_eventsource_emptyarray
Fix exception when writing null/empty arrays to EventSource
Pallavi Taneja [Sun, 8 Nov 2015 23:34:22 +0000 (15:34 -0800)]
Expose Environment.GetCommandLineArgs in mscorlib
[tfs-changeset: 1546251]
Jan Kotas [Sun, 8 Nov 2015 20:38:35 +0000 (12:38 -0800)]
Merge pull request #1925 from akoeplinger/remove-env-helper
Remove Env helper class in tests
Jan Kotas [Sun, 8 Nov 2015 20:32:28 +0000 (12:32 -0800)]
Merge pull request #1926 from akoeplinger/fix-hardcoded-windows
Fix hardcoded Utilities.IsWindows property
Jan Kotas [Sun, 8 Nov 2015 20:29:16 +0000 (12:29 -0800)]
Merge pull request #1987 from bbowyersmyth/StringCodeComments
Improved and corrected some String code comments
stephentoub [Sat, 7 Nov 2015 20:45:35 +0000 (15:45 -0500)]
Fix a typo in EventSource_EventParametersMismatch error string
stephentoub [Sat, 7 Nov 2015 06:46:02 +0000 (22:46 -0800)]
Fix exception when writing null/empty array to EventSource
EventSource has two WriteEvent overloads that take a byte[]. If the
byte[] provided is null, it uses an empty array. It then tries to get the
address of the 0th element of the array, resulting in an
IndexOutOfRangeException. We could instead just use ```byte* blob =
arg1``` instead of ```byte* blob = &arg1[0]```, but doing so with an empty
array has undefined behavior in C#. Instead, we just special-case null
and empty arrays.
Bruce Bowyer-Smyth [Sat, 7 Nov 2015 04:34:21 +0000 (14:34 +1000)]
Improved and corrected some String code comments
Jan Kotas [Sat, 7 Nov 2015 03:31:09 +0000 (19:31 -0800)]
Merge pull request #1982 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Sat, 7 Nov 2015 03:20:14 +0000 (19:20 -0800)]
Merge pull request #1984 from caslan/removeCSExports
Remove unneeded EnterCriticalSection / LeaveCriticalSection exports
Cagri [Sat, 7 Nov 2015 00:29:49 +0000 (16:29 -0800)]
Remove EnterCriticalSection / LeaveCriticalSection exports that are not needed
Jan Kotas [Fri, 6 Nov 2015 21:46:27 +0000 (13:46 -0800)]
Fix build break when NO_HOST_CPP_EH_ONLY is defined
[tfs-changeset: 1546051]
Aditya Mandaleeka [Fri, 6 Nov 2015 20:52:30 +0000 (12:52 -0800)]
Merge pull request #1959 from adityamandaleeka/remove_suspension
Remove thread parameter from a few more places in PAL
Eugene Zemtsov [Fri, 6 Nov 2015 20:02:08 +0000 (12:02 -0800)]
Merge pull request #1978 from Djuffin/debug-alloc-fix
Selective VirtualProtect in debugger heap for Realloc
Jan Vorlicek [Fri, 6 Nov 2015 19:40:58 +0000 (20:40 +0100)]
Merge pull request #1980 from pgavlin/StructABITests
Add some missing files.
Pat Gavlin [Fri, 6 Nov 2015 18:02:02 +0000 (10:02 -0800)]
Add some missing files.
The lack of these files causes the struct ABI tests to fail to build.
Nate Amundson [Fri, 6 Nov 2015 18:09:42 +0000 (12:09 -0600)]
Merge pull request #1905 from naamunds/XplatDoc
Add libcurl and libssl packages to instructions
Yi Zhang (CLR) [Fri, 6 Nov 2015 00:23:56 +0000 (16:23 -0800)]
Merge pull request #1841 from caslan/supportforBSTR
Add support for BSTRs on Unix
Pat Gavlin [Fri, 6 Nov 2015 00:23:45 +0000 (16:23 -0800)]
Merge pull request #1972 from pgavlin/StructABITests
Add some targeted by-value struct passing tests.
Eugene [Thu, 5 Nov 2015 22:42:54 +0000 (14:42 -0800)]
Selective VirtualProtect in debugger heap for Realloc
Chris [Thu, 5 Nov 2015 22:20:25 +0000 (14:20 -0800)]
Merge pull request #1963 from Djuffin/debug-alloc-fix
Restrict allocation of executable memory by DebuggerHeap
Matt Mitchell [Thu, 5 Nov 2015 21:58:18 +0000 (13:58 -0800)]
Merge pull request #1971 from AndyAyersMS/SimplfiyTest
Reduce number of threads used by the LocallocLarge test
Matt Mitchell [Thu, 5 Nov 2015 21:51:33 +0000 (13:51 -0800)]
Merge pull request #1976 from mmitche/unzip-params
Fix unzip arg order
Matt Mitchell [Thu, 5 Nov 2015 21:50:39 +0000 (13:50 -0800)]
Fix unzip arg order
Pat Gavlin [Thu, 5 Nov 2015 19:32:13 +0000 (11:32 -0800)]
Add some targeted by-value struct passing tests.
These tests target the SysV AMD64 ABI in particular, which relies on
field types to decide how to pass by-value structs.
Andy Ayers [Thu, 5 Nov 2015 20:03:00 +0000 (12:03 -0800)]
Reduce number of threads used by the LocallocLarge test
This test used to create ~3000 threads. Reduce that to ~300 while we sort out what is behind #1966.
Matt Mitchell [Thu, 5 Nov 2015 19:58:50 +0000 (11:58 -0800)]
Merge pull request #1968 from mmitche/reenable-coreclr-linux
Reenable coreclr tests by default on Linux
Matt Mitchell [Thu, 5 Nov 2015 17:47:17 +0000 (09:47 -0800)]
Update trigger phrases to be regex
Quieter zip and ignoring warnings while unzipping
Aditya Mandaleeka [Thu, 5 Nov 2015 19:28:18 +0000 (11:28 -0800)]
Fix casing of AssemblyName to match the name of the csproj.
Aditya Mandaleeka [Thu, 5 Nov 2015 19:27:33 +0000 (11:27 -0800)]
Disable a couple more tests temporarily prior to enabling CI runs.
Aditya Mandaleeka [Mon, 2 Nov 2015 23:37:07 +0000 (15:37 -0800)]
Exit with failure code if any tests fail.
Matt Mitchell [Thu, 5 Nov 2015 17:40:21 +0000 (09:40 -0800)]
Merge pull request #1967 from mmitche/use-unzip
Switch to using zip/unzip