platform/upstream/coreclr.git
8 years agoMerge pull request #2117 from hickford/patch-1
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

8 years agoMerge pull request #2123 from stephentoub/cts_perf
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

8 years agoMerge pull request #2122 from adityamandaleeka/testArgsQuoteFix
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.

8 years agoMerge pull request #2096 from LLITCHEV/SysVTests
Lubomir Litchev [Fri, 20 Nov 2015 21:59:24 +0000 (13:59 -0800)]
Merge pull request #2096 from LLITCHEV/SysVTests

Fix for issue 2058.

8 years agoMerge pull request #2120 from kyulee1/osx
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

8 years agoMerge pull request #2121 from dotnet-bot/from-tfs
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

8 years agoMerge pull request #2107 from pgavlin/SysVCleanup
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.

8 years agoSeparate CancellationTokenSource linking into a derived class
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.

8 years agoReplace double quotes around test arguments with single quotes.
Aditya Mandaleeka [Fri, 20 Nov 2015 20:14:46 +0000 (12:14 -0800)]
Replace double quotes around test arguments with single quotes.

8 years agoFix build breaks in legacy build
Jan Kotas [Fri, 20 Nov 2015 18:58:46 +0000 (10:58 -0800)]
Fix build breaks in legacy build

[tfs-changeset: 1550765]

8 years agoAdded missing URL to .NET Foundation forums
Lee Coward [Fri, 20 Nov 2015 17:29:28 +0000 (09:29 -0800)]
Added missing URL to .NET Foundation forums

8 years agoGrammar fix-up
Lee Coward [Fri, 20 Nov 2015 17:27:24 +0000 (09:27 -0800)]
Grammar fix-up

8 years agoAdded Full Framework support info
Lee Coward [Fri, 20 Nov 2015 17:23:07 +0000 (09:23 -0800)]
Added Full Framework support info

8 years agoPackage spec for RyuJit on OSX
Kyungwoo Lee [Fri, 20 Nov 2015 15:31:27 +0000 (07:31 -0800)]
Package spec for RyuJit on OSX

8 years agoMerge pull request #2116 from jkotas/gc-update
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

8 years agoMerge pull request #2114 from sergiy-k/byrefrax
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

8 years agoUpdate README.md
Mirth Hickford [Fri, 20 Nov 2015 10:53:15 +0000 (10:53 +0000)]
Update README.md

Link to CoreFX repo

8 years agoFix build breaks after GC update
Jan Kotas [Fri, 20 Nov 2015 04:31:33 +0000 (20:31 -0800)]
Fix build breaks after GC update

8 years agoDo not preserve volatile registers in JIT_ByRefWriteBarrier
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.

8 years agoUpdate GC from CoreRT
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

8 years agoMerge pull request #2110 from janvorli/refactor-gc-types
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

8 years agoMerge pull request #2109 from jkotas/glossary
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

8 years agoFix few missing casts
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.

8 years agoMerge pull request #2108 from wtgodbe/pathTests
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

8 years agoMerge pull request #2047 from eerhardt/ShortDate
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.

8 years agoAdd ProjectN and Redhawk to the glossary
Jan Kotas [Thu, 19 Nov 2015 22:20:34 +0000 (14:20 -0800)]
Add ProjectN and Redhawk to the glossary

8 years agoSome formatting cleanup
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.

8 years agoDeleted path tests from coreclr repo
William Godbe [Thu, 19 Nov 2015 21:51:50 +0000 (13:51 -0800)]
Deleted path tests from coreclr repo

8 years agoMerge pull request #2100 from gsfreema/master
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.

8 years agoMerge pull request #2104 from wtgodbe/deleteTests
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

8 years agoMerge pull request #2102 from dotnet-bot/from-tfs
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

8 years agoSmall cleanups in SysV classification.
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

8 years agoReplaced remaining types
Jan Vorlicek [Thu, 19 Nov 2015 21:31:13 +0000 (22:31 +0100)]
Replaced remaining types

LPARAM, SSIZE_T

8 years agoMerge pull request #1981 from pgavlin/SysV
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.

8 years agoDeleted duplicate globalization and localization tests from coreclr
William Godbe [Thu, 19 Nov 2015 20:09:07 +0000 (12:09 -0800)]
Deleted duplicate globalization and localization tests from coreclr

8 years agoAdd casts to APIs that require LONG / DWORD parameters
Jan Vorlicek [Thu, 19 Nov 2015 19:34:56 +0000 (20:34 +0100)]
Add casts to APIs that require LONG / DWORD parameters

8 years agoFix ARM64 build break
Jan Kotas [Thu, 19 Nov 2015 17:55:12 +0000 (09:55 -0800)]
Fix ARM64 build break

[tfs-changeset: 1550309]

8 years agoFixing a typo in developer-guide.md.
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.

8 years agoMerge pull request #2098 from janvorli/fix-threadpool-shiftwaitarray
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

8 years agoChanged LONG and ULONG
Jan Vorlicek [Thu, 19 Nov 2015 09:38:17 +0000 (10:38 +0100)]
Changed LONG and ULONG

8 years agoFix issue with threadpool and wait for multiple objects on Linux
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.

8 years agoFix for issue 2058.
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.

8 years agoUpdate osx-instructions.md
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.

8 years agoMerge pull request #2092 from BruceForstall/CleanupTargetHIfdefs
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

8 years agoMerge pull request #2094 from rahku/master
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

8 years agoMerge pull request #2091 from mikem8361/fixfreebsd
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.

8 years agoFix dac verification errors caused by 48617ae
Rahul Kumar [Wed, 18 Nov 2015 22:25:22 +0000 (14:25 -0800)]
Fix dac verification errors caused by 48617ae

8 years agoSimplify JIT target.h #ifdefs for ETW_EBP_FRAMED
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.

8 years agoFixed FreeBSD sos plugin build.
Mike McLaughlin [Wed, 18 Nov 2015 20:13:43 +0000 (20:13 +0000)]
Fixed FreeBSD sos plugin build.

8 years agoMerge pull request #2068 from mikem8361/palsxs
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

8 years agoAdd new pal test that tests exceptions across multiple PALs in different modules.
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.

8 years agoFix struct padding issues with SysV struct classification.
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.

8 years agoReplace most windows style types by c++ types
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.

8 years agoMerge pull request #2088 from kyulee1/corert
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

8 years agoMerge pull request #2084 from benpye/revert-arm-build-break
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

8 years agoA few fixes for standlone Jit 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

8 years agoMerge pull request #2087 from blackdwarf/master
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

8 years agoMerge pull request #2055 from LLITCHEV/SysVTests
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…

8 years agoAdd the tests used to bring the System V struct passing/returning functionality.
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.

8 years agoAdd additional data to PATENTS.TXT
Zlatko Knezevic [Wed, 18 Nov 2015 10:20:49 +0000 (02:20 -0800)]
Add additional data to PATENTS.TXT

8 years agoMerge pull request #2079 from mikedn/no-decomp
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

8 years agoMerge pull request #2082 from BruceForstall/Fix2053
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'

8 years agoRevert change in 4e06e42 that broke ARM cross build
Ben Pye [Wed, 18 Nov 2015 00:03:24 +0000 (00:03 +0000)]
Revert change in 4e06e42 that broke ARM cross build

8 years agoMerge pull request #2061 from akoeplinger/utf-escape
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

8 years agoMerge pull request #2010 from ellismg/update-test-documentation
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

8 years agoMerge pull request #2064 from akoeplinger/failcount-zero
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

8 years agoMerge pull request #2062 from akoeplinger/dont-hardcode-libc.dylib
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

8 years agoMerge pull request #2042 from kouvel/StartupFlags
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

8 years agoMerge pull request #2049 from stephentoub/uuid_generate_random
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

8 years agoMerge pull request #2067 from akoeplinger/fix-overflow-gcstress
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

8 years agoMerge pull request #2073 from mmitche/fix-exit-code
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

8 years agoFix RyuJIT assert 'emitCurIG != emitPrologIG'
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.

8 years agoMerge pull request #2066 from akoeplinger/argparsing-gcstress
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

8 years agoExit outerlevel build call if innerlevel exits with non-zero code
Matt Mitchell [Tue, 17 Nov 2015 16:36:13 +0000 (08:36 -0800)]
Exit outerlevel build call if innerlevel exits with non-zero code

8 years agoMerge pull request #2074 from erozenfeld/RotateTestFix
Eugene Rozenfeld [Tue, 17 Nov 2015 19:22:33 +0000 (11:22 -0800)]
Merge pull request #2074 from erozenfeld/RotateTestFix

Fix for test break.

8 years agoMerge pull request #2016 from steveharter/CMake
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)

8 years agoIfdef out useless code
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.

8 years agoMerge pull request #1983 from LLITCHEV/SystemVStructsCleanup
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.

8 years agoEnable CLANG sanitizers for native debug builds
Steve Harter [Fri, 6 Nov 2015 00:41:48 +0000 (18:41 -0600)]
Enable CLANG sanitizers for native debug builds

8 years agoFix for test break.
Eugene Rozenfeld [Tue, 17 Nov 2015 16:30:16 +0000 (08:30 -0800)]
Fix for test break.

8 years agoMerge pull request #2069 from erozenfeld/RotationFix
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.

8 years agoFixed a bad merge issue and some internal API cleanup.
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.

8 years agoFix for a rotation transformation bug.
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.

8 years agoMerge pull request #2052 from stephentoub/startswith_null
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

8 years agoFix OverflowException in b115557.cs GC test on systems with fewer than four processor...
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.

8 years agoUse InvariantCulture for parsing float arguments in GC stress tests
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.

8 years agoDon't print the "Some tests failed" message when _failCount is 0
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

8 years agoFix two Marshal tests to not hardcode OSX libc
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.

8 years agoReplace Unicode symbols with escape sequence in test source files
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.

8 years agoMerge pull request #2057 from bryanar/loader_tests
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.

8 years agoMerge pull request #2060 from mmitche/fix-arm-rootfs
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

8 years agoFix typo in rootfs name
Matt Mitchell [Mon, 16 Nov 2015 17:58:19 +0000 (09:58 -0800)]
Fix typo in rootfs name

8 years agoPorting loader tests from internal legacy tree.
Bryan Arant [Mon, 16 Nov 2015 07:13:48 +0000 (23:13 -0800)]
Porting loader tests from internal legacy tree.

8 years agoAdd USEARCH_DONE check to StartsWith in System.Globalization.Native
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.

8 years agoMerge pull request #2043 from stephentoub/startsendswith_null
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

8 years agoMerge pull request #2046 from JohnChen0/heap
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

8 years agoUse uuid_generate_random instead of uuid_generate in CoCreateGuid
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.

8 years agoAllow setting some startup flags outside Windows
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.

8 years agoDateTimeFormat.ShortDatePattern should use CLDR 'short' format on Unix.
Eric Erhardt [Fri, 13 Nov 2015 22:01:06 +0000 (16:01 -0600)]
DateTimeFormat.ShortDatePattern should use CLDR 'short' format on Unix.

The DateTimeFormat.ShortDatePattern is currently defaulting to using CLDR's 'yMd' skeleton. However, this value doesn't produce the best format for all cultures, ex. "de-DE". LongDatePattern uses CLDR's 'full' format. To be symmetrical, the ShortDatePattern should be using CLDR's 'short' format.

Fix https://github.com/dotnet/coreclr/issues/1736.

8 years agoRemove 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.