platform/upstream/coreclr.git
8 years agoUpdate testing instructions
Matt Ellis [Tue, 10 Nov 2015 23:05:29 +0000 (15:05 -0800)]
Update testing instructions

The how to test with a custom runtime instructions had gotten stale
since CoreFX no longer consumes the runtime package we produce (it
instead uses the official packages).

Since we can not yet build these packages here, we need to update the
instructions to use BUILDTOOLS_OVERRIDE_RUNTIME in order to be able to
deploy a custom runtime at test time.

8 years agoMerge pull request #1862 from LLITCHEV/Issue1831
Lubomir Litchev [Mon, 26 Oct 2015 17:15:18 +0000 (10:15 -0700)]
Merge pull request #1862 from LLITCHEV/Issue1831

Fixed the bug described in GH issue 1831.

8 years agoMerge pull request #1229 from benpye/fix-complus-case-docs
Matt Ellis [Mon, 26 Oct 2015 04:31:58 +0000 (21:31 -0700)]
Merge pull request #1229 from benpye/fix-complus-case-docs

Fix casing of COMPlus_ in documentation

8 years agoMerge pull request #1867 from dotnet-bot/from-tfs
Jan Kotas [Mon, 26 Oct 2015 03:30:38 +0000 (20:30 -0700)]
Merge pull request #1867 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoFix for a build break. The gtNewOperNode is not a member of Lowering, but of Compiler...
Lubomir Litchev [Mon, 26 Oct 2015 01:19:27 +0000 (18:19 -0700)]
Fix for a build break. The gtNewOperNode is not a member of Lowering, but of Compiler. An extra comp-> dereferencing is needed. Talked to Matt Ellis and committing directly to avoid nightly broken build.

[tfs-changeset: 1541493]

8 years agoMerge pull request #1866 from dotnet-bot/from-tfs
Matt Ellis [Mon, 26 Oct 2015 00:29:52 +0000 (17:29 -0700)]
Merge pull request #1866 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #1851 from ellismg/icu-remove-c-plus-plus
Matt Ellis [Mon, 26 Oct 2015 00:29:03 +0000 (17:29 -0700)]
Merge pull request #1851 from ellismg/icu-remove-c-plus-plus

Remove OSX Homebrew ICU dependency

8 years agoFix build break.
Matt Ellis [Sun, 25 Oct 2015 21:00:24 +0000 (14:00 -0700)]
Fix build break.

Wrong local name used in lowerarm64.cpp

[tfs-changeset: 1541475]

8 years agoMerge pull request #1861 from dotnet-bot/from-tfs
Matt Ellis [Sat, 24 Oct 2015 08:27:09 +0000 (01:27 -0700)]
Merge pull request #1861 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoFixed the bug described in GH issue 1831.
Lubomir Litchev [Fri, 23 Oct 2015 18:47:19 +0000 (11:47 -0700)]
Fixed the bug described in GH issue 1831.

When generating unboxing function, if the return value is nullables
returned in 2 registers, creating the temp var to pass to the
helper function is not enough. Also need to make sure the operand type
stack is properly maintained.

8 years agoMerge pull request #1857 from ramarag/testhygiene
Rama krishnan Raghupathy [Sat, 24 Oct 2015 01:59:28 +0000 (18:59 -0700)]
Merge pull request #1857 from ramarag/testhygiene

Ensure each test has its own unique directory

8 years agoTest Cleanup:
Rama Krishnan Raghupathy [Fri, 23 Oct 2015 21:39:25 +0000 (14:39 -0700)]
Test Cleanup:

1. Ensures each test has its own unique directory
2. Use Project Reference to refer native CMakeLists.txt
3. Avoids copying the facades to the test  build

8 years agoMerge pull request #1818 from gkhanna79/Fix1774
Gaurav Khanna [Fri, 23 Oct 2015 22:52:07 +0000 (15:52 -0700)]
Merge pull request #1818 from gkhanna79/Fix1774

Fix Unix CoreConsole to correctly determine the path to the entrypoint executable

8 years agoCleanup CMakeLists.txt
Matt Ellis [Fri, 23 Oct 2015 21:24:13 +0000 (14:24 -0700)]
Cleanup CMakeLists.txt

There were a few problems that needed to be addressed:

 - Our detection logic around testing if ICU supported a feature was
   still checking for C++ stuff instead of the coresponding C
   code (which we ended up using).

 - There was some cleanup we could do now that the OSX and other Unix
   builds were split apart

8 years agoFix spelling issues
Matt Ellis [Fri, 23 Oct 2015 21:23:55 +0000 (14:23 -0700)]
Fix spelling issues

8 years agoAddress a messaging nit.
Gaurav Khanna [Fri, 23 Oct 2015 21:13:59 +0000 (14:13 -0700)]
Address a messaging nit.

8 years agoFix issue 1774
Gaurav Khanna [Mon, 19 Oct 2015 05:18:43 +0000 (22:18 -0700)]
Fix issue 1774

8 years agoMerge pull request #1858 from caslan/addcriticalsectionexports
Cagri Aslan [Fri, 23 Oct 2015 16:47:35 +0000 (09:47 -0700)]
Merge pull request #1858 from caslan/addcriticalsectionexports

Add EnterCriticalSection / LeaveCriticalSection exports to libcoreclr

8 years agoUse correct close function for UNumberFormat
Matt Ellis [Fri, 23 Oct 2015 07:55:23 +0000 (00:55 -0700)]
Use correct close function for UNumberFormat

8 years agoAdd EnterCriticalSection / LeaveCriticalSection exports to libcoreclr
Cagri [Fri, 23 Oct 2015 06:59:38 +0000 (23:59 -0700)]
Add EnterCriticalSection / LeaveCriticalSection exports to libcoreclr

8 years agoMerge pull request #1834 from Priya91/fixnull
Lakshmi Priya [Fri, 23 Oct 2015 03:33:47 +0000 (20:33 -0700)]
Merge pull request #1834 from Priya91/fixnull

Add null checks to StackString usages.

8 years agoMerge pull request #1854 from janvorli/fix-comment
Aditya Mandaleeka [Fri, 23 Oct 2015 02:17:17 +0000 (19:17 -0700)]
Merge pull request #1854 from janvorli/fix-comment

Fix obsolete comment

8 years agoAdd null checks to StackString usages.
Lakshmi Priya Sekar [Thu, 22 Oct 2015 03:37:06 +0000 (20:37 -0700)]
Add null checks to StackString usages.

8 years agoMerge pull request #1832 from bryanar/enable_crossgen_tests
Bryan P. Arant [Fri, 23 Oct 2015 01:15:39 +0000 (18:15 -0700)]
Merge pull request #1832 from bryanar/enable_crossgen_tests

- Changes required to enable crossgen on the tests.
- Added priority level parameter to buildtest.cmd
- Added crossgen parameter to buildtest.cmd
- Updated testing documentation to reflect prioritylevel testing, and crossgen testing.

8 years agoFix obsolete comment
Jan Vorlicek [Fri, 23 Oct 2015 01:15:35 +0000 (18:15 -0700)]
Fix obsolete comment

8 years agoUse std::vector instead of calloc
Matt Ellis [Fri, 23 Oct 2015 00:46:54 +0000 (17:46 -0700)]
Use std::vector instead of calloc

This matches what we do in other places in calendarData.cpp, the RAII
pattern will make it easier to not leak memory.

8 years agoMerge pull request #1850 from dotnet-bot/from-tfs
Matt Ellis [Fri, 23 Oct 2015 00:42:48 +0000 (17:42 -0700)]
Merge pull request #1850 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #1849 from janvorli/fix-fp-registers-offset
Jan Vorlicek [Thu, 22 Oct 2015 23:52:57 +0000 (16:52 -0700)]
Merge pull request #1849 from janvorli/fix-fp-registers-offset

Fix floatingpoint register offsets in TransitionBlock for Unix

8 years ago[adityam] Fix break in DllImport code for Desktop CLR.
Rama Krishnan Raghupathy [Thu, 22 Oct 2015 23:19:25 +0000 (16:19 -0700)]
[adityam] Fix break in DllImport code for Desktop CLR.

[tfs-changeset: 1540922]

8 years agoLink against libicucore on OSX
Matt Ellis [Wed, 21 Oct 2015 20:48:37 +0000 (13:48 -0700)]
Link against libicucore on OSX

OSX ships with a copy of ICU (their globalization APIs are built on top
of it).  Since we only use stable c based APIs, we can link against it
using the methods described in using a System ICU in the ICU User's
Guide (basically we disable function renaming, don't use C++ and only
use stable APIs).

The ICU headers are not part of the SDK, so we continue to need ICU
installed via Homebrew as a build time dependency.

Fixes dotnet/corefx#3849

8 years agoMerge pull request #1830 from erozenfeld/RotateBits
Eugene Rozenfeld [Thu, 22 Oct 2015 22:37:41 +0000 (15:37 -0700)]
Merge pull request #1830 from erozenfeld/RotateBits

     Generate efficient code for rotation patterns.

8 years agoMerge pull request #1848 from dotnet-bot/from-tfs
Matt Ellis [Thu, 22 Oct 2015 22:35:03 +0000 (15:35 -0700)]
Merge pull request #1848 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoChanges required to enable crossgen on the tests.
Bryan Arant [Thu, 22 Oct 2015 03:19:51 +0000 (20:19 -0700)]
Changes required to enable crossgen on the tests.

8 years agoadding more context
Rama Krishnan Raghupathy [Thu, 22 Oct 2015 22:07:33 +0000 (15:07 -0700)]
adding more context

[tfs-changeset: 1540889]

8 years agoAddressing Desktop Build break due to addition of a new non windows event in Clretwal...
Rama Krishnan Raghupathy [Thu, 22 Oct 2015 21:10:15 +0000 (14:10 -0700)]
Addressing Desktop Build break due to addition of a new non windows event in Clretwall.man

[tfs-changeset: 1540865]

8 years agoMerge pull request #1816 from stephentoub/string_indexof_perf
Stephen Toub [Thu, 22 Oct 2015 20:47:51 +0000 (16:47 -0400)]
Merge pull request #1816 from stephentoub/string_indexof_perf

Improve string.{Last}IndexOf perf on Unix for Ordinal/OrdinalIgnoreCase

8 years agoMerge pull request #1840 from caslan/customnotificationfix
Cagri Aslan [Thu, 22 Oct 2015 20:20:23 +0000 (13:20 -0700)]
Merge pull request #1840 from caslan/customnotificationfix

Fixed an issue with getting event size not working for custom notific…

8 years agoUpdate IndexOfOrdinalIgnoreCase to use full code units
stephentoub [Wed, 21 Oct 2015 02:32:14 +0000 (22:32 -0400)]
Update IndexOfOrdinalIgnoreCase to use full code units

8 years agoImprove string.{Last}IndexOf perf on Unix for Ordinal/OrdinalIgnoreCase
stephentoub [Tue, 20 Oct 2015 19:34:38 +0000 (15:34 -0400)]
Improve string.{Last}IndexOf perf on Unix for Ordinal/OrdinalIgnoreCase

Our current implementation of IndexOfOrdinal for strings on Unix uses Substring to get the piece of the source string we care about; this results in an unnecessary allocation / string copy.  When using OrdinalIgnoreCase, we also convert both the source and search strings to upper-case using ToUpperInvariant, resulting in more allocations.  And our LastIndexOfOrdinal implementation delegates to IndexOfOrdinal repeatedly, incurring such allocations potentially multiple times.

This change reimplements Ordinal searching in managed code to not use Substring, and it implements OrdinalIgnoreCase searching via new functions exposed in the native globalization shim, so as to use ICU without having to make managed/native transitions for each character.

With the changes, {Last}IndexOf with Ordinal/OrdinalIgnoreCase are now allocateion-free (as you'd expect), and throughput when startIndex/count and/or OrdinalIgnoreCase are used is increased significantly, on my machine anywhere from 20% to 3x, depending on the inputs.

8 years agoMerge pull request #1833 from kouvel/Inline2
Koundinya Veluri [Thu, 22 Oct 2015 18:03:04 +0000 (11:03 -0700)]
Merge pull request #1833 from kouvel/Inline2

Move some functions to allow them to be inlined with clang

8 years agoFix floatingpoint register offsets in TransitionBlock for Unix
Jan Vorlicek [Thu, 22 Oct 2015 17:55:02 +0000 (10:55 -0700)]
Fix floatingpoint register offsets in TransitionBlock for Unix

The conversion between floating point register index and offset was incorrectly
multiplying the the index by 8 instead of 16. The xmm registers in the
TransitionBlock on Unix take 16 bytes each, not 8.

8 years agoMerge pull request #1839 from mmitche/fix-linux-coreclr-tests
Matt Mitchell [Thu, 22 Oct 2015 15:45:48 +0000 (08:45 -0700)]
Merge pull request #1839 from mmitche/fix-linux-coreclr-tests

A couple tweaks to coreclr linux tests

8 years agoA couple tweaks to coreclr linux tests
Matt Mitchell [Thu, 22 Oct 2015 15:40:34 +0000 (08:40 -0700)]
A couple tweaks to coreclr linux tests

8 years agoFixed an issue with getting event size not working for custom notification event
Cagri Aslan [Sat, 17 Oct 2015 00:43:39 +0000 (17:43 -0700)]
Fixed an issue with getting event size not working for custom notification event

8 years agoMerge pull request #1820 from richlander/rich-cleanup
Matt Ellis [Thu, 22 Oct 2015 05:43:32 +0000 (22:43 -0700)]
Merge pull request #1820 from richlander/rich-cleanup

Update license attribution

8 years agoMove some functions to allow them to be inlined with clang
Koundinya Veluri [Tue, 20 Oct 2015 17:37:01 +0000 (10:37 -0700)]
Move some functions to allow them to be inlined with clang

For the moment, GetThread, _rotl/_rotr, Interlocked..., and similar functions were moved to allow inlining them with clang.

The plan is to eventually enable link-time optimization (LTO) to cover inlining across translation units.

Renamed some code files in PAL tests to compile as C++ to use the C++ inline semantics.

8 years agoMerge pull request #1827 from brianrob/tracinginit
Brian Robbins [Thu, 22 Oct 2015 03:03:38 +0000 (20:03 -0700)]
Merge pull request #1827 from brianrob/tracinginit

Initialize LTTng tracepoint providers automatically

8 years agoMerge pull request #1751 from ramarag/eventsource
Rama krishnan Raghupathy [Thu, 22 Oct 2015 03:00:57 +0000 (20:00 -0700)]
Merge pull request #1751 from ramarag/eventsource

Enable EventSource Logging in Linux via Lttng

8 years ago Generate efficient code for rotation patterns.
Eugene Rozenfeld [Tue, 13 Oct 2015 01:36:25 +0000 (18:36 -0700)]
 Generate efficient code for rotation patterns.

     This change adds code to recognize rotation idioms and generate efficient instructions for them.

     Two new operators are added: GT_ROL and GT_ROR.

     The patterns recognized:
     (x << c1) | (x >>> c2) => x rol c1
     (x >>> c1) | (x << c2) => x ror c2

     where c1 and c2  are constant and c1 + c2 == bitsize(x)

     (x << y) | (x >>> (N - y)) => x rol y
     (x >>> y) | (x << (N - y)) => x ror y

     where N == bitsize(x)

     (x << y & M1) | (x >>> (N - y) & M2) => x rol y
     (x >>> y & M1) | (x << (N - y) & M2) => x ror y

     where N == bitsize(x)
     M1 & (N - 1) == N - 1
     M2 & (N - 1) == N - 1

     For a simple benchmark with 4 rotation patterns in a tight loop
     time goes from 7.324 to 2.600 (2.8 speedup).

     Rotations found and optimized in mscorlib:
     System.Security.Cryptography.SHA256Managed::RotateRight
     System.Security.Cryptography.SHA384Managed::RotateRight
     System.Security.Cryptography.SHA512Managed::RotateRight
     System.Security.Cryptography.RIPEMD160Managed:MDTransform (320 instances!)
     System.Diagnostics.Tracing.EventSource.Sha1ForNonSecretPurposes::Rol1
     System.Diagnostics.Tracing.EventSource.Sha1ForNonSecretPurposes::Rol5
     System.Diagnostics.Tracing.EventSource.Sha1ForNonSecretPurposes::Rol30
     System.Diagnostics.Tracing.EventSource.Sha1ForNonSecretPurposes::Drain
     (9 instances of Sha1ForNonSecretPurposes::Rol* inlined)

     Closes #1619.

8 years agoMerge pull request #1828 from ellismg/fix-directory-casing
Matt Ellis [Thu, 22 Oct 2015 01:46:58 +0000 (18:46 -0700)]
Merge pull request #1828 from ellismg/fix-directory-casing

Fix directory casing of `regressions' in test/src

8 years agoEnable EventSource Logging in Linux via Lttng
Rama [Mon, 12 Oct 2015 23:09:40 +0000 (16:09 -0700)]
Enable EventSource Logging in Linux via Lttng

8 years agoFix directory casing of `regressions' in test/src
Matt Ellis [Thu, 22 Oct 2015 00:42:33 +0000 (17:42 -0700)]
Fix directory casing of `regressions' in test/src

We had both tests/src/Regressions and tests/src/regressions which causes
problems because the on disc casing of files now differs based on if you
have a case insensitive file system or not.

This was confusing the the mirror a great deal because the casing of the
files is unified on the TFS side but the mirror was seeing these files
as renames.

8 years agoInitialize LTTng tracepoint provider as part of loading libcoreclr.so.
Brian Robbins [Wed, 21 Oct 2015 23:34:42 +0000 (16:34 -0700)]
Initialize LTTng tracepoint provider as part of loading libcoreclr.so.

8 years agoMerge pull request #1809 from mmitche/add-x86-builds
Matt Mitchell [Wed, 21 Oct 2015 23:26:36 +0000 (16:26 -0700)]
Merge pull request #1809 from mmitche/add-x86-builds

Add x86 builds to CI (most off by default)

8 years agoAdd x86 builds to CI (most off by default)
Matt Mitchell [Tue, 20 Oct 2015 18:20:45 +0000 (11:20 -0700)]
Add x86 builds to CI (most off by default)

* Builds are available through trigger phrases
* x86 windows_nt on for pushes by default
Additionally:
 * fixes workspace parameter quoting for Linux coreclr tests

8 years agoMerge pull request #1788 from naamunds/UpdateXplatDoc
Nate Amundson [Wed, 21 Oct 2015 22:45:44 +0000 (17:45 -0500)]
Merge pull request #1788 from naamunds/UpdateXplatDoc

Update Linux and OS X build instructions

8 years agoUpdate Linux and OS X build instructions
Nate Amundson [Wed, 21 Oct 2015 22:43:26 +0000 (17:43 -0500)]
Update Linux and OS X build instructions

CoreClr (including mscorlib) and CoreFx can now be built using Mono on
both Linux and OS X; this change updates the instructions to reflect
that.  It also moves the instructions for the alternative option of
building the x-plat bits on Windows to cross-building.md.

This change also adds System.Globalization.Native, which is now
necessary.

At some point the FreeBSD documentation should also be updated to be
consistent with the Linux and OS X instructions; ideally, they should be
combined into one file, as discussed in https://github.com/dotnet/coreclr/issues/1590.

8 years agoMerge pull request #1780 from adityamandaleeka/librarySearchPaths
Aditya Mandaleeka [Wed, 21 Oct 2015 22:26:49 +0000 (15:26 -0700)]
Merge pull request #1780 from adityamandaleeka/librarySearchPaths

Fix DllImport search logic with respect to prefixes/suffixes

8 years agoAdd STANDARD_VM_CONTRACT and remove loop that's no longer needed.
Aditya Mandaleeka [Wed, 21 Oct 2015 20:58:52 +0000 (13:58 -0700)]
Add STANDARD_VM_CONTRACT and remove loop that's no longer needed.

8 years agoHygine cleanups in holders.h
Matt Ellis [Wed, 21 Oct 2015 18:20:48 +0000 (11:20 -0700)]
Hygine cleanups in holders.h

Use "= delete" syntax to make it clear the IcuHolder copy constructor
and assignment opperators are removed.

Remove superfluous "public" modifier on the struct closers used by the
IcuHolders.

8 years agoCleanup include directives
Matt Ellis [Wed, 21 Oct 2015 05:18:29 +0000 (22:18 -0700)]
Cleanup include directives

8 years agoRemove use of icu::Locale C++ type
Matt Ellis [Wed, 21 Oct 2015 02:30:42 +0000 (19:30 -0700)]
Remove use of icu::Locale C++ type

Remove all the uses of the icu::Locale type in favor of just using a
char* which is the raw locale id (which is exactly what all the ICU C
apis use for a locale).

The meat of this change si in locale.cpp to actually handle doing the
conversion from UChar* to char*.  The rest of the places are dealing
with the fallout (GetLocale now has a different signiture and the
.getName() dance is no longer needed as we have a raw locale name all
the time now).

8 years agoMove off Locale instance methods
Matt Ellis [Wed, 21 Oct 2015 01:37:54 +0000 (18:37 -0700)]
Move off Locale instance methods

To prepare for removing icu::Locale in favor of just using the id
directly, remove all the uses of Locale methods except for .getName().
We now use GetLocale to create a Locale but then turn it into a char*
for all the helper methods.

After this change, we can update GetLocale to do locale parsing into a
char buffer and remove all the locale.getName() calls with just `locale'.

8 years agoRemove C++ Locale use in EnumSymbols
Matt Ellis [Tue, 20 Oct 2015 21:50:28 +0000 (14:50 -0700)]
Remove C++ Locale use in EnumSymbols

8 years agoGet Eras using ICU C API instead of C++
Matt Ellis [Tue, 20 Oct 2015 21:29:59 +0000 (14:29 -0700)]
Get Eras using ICU C API instead of C++

Getting the regular eras is straight forward, we can do the thing we do
for other locale data and just ask ICU using a specific
UDateFormatSymbolType.  For abbreviated eras, there's no C API, but we
can try to just read the data from ICU resources and fall back to the
standard width eras if that doesn't work.

8 years agoRemove use of ICU C++ DateFormatSymbols
Matt Ellis [Mon, 19 Oct 2015 20:40:58 +0000 (13:40 -0700)]
Remove use of ICU C++ DateFormatSymbols

8 years agoRemove useage of ICU C++ DecimalFormatSymbols
Matt Ellis [Thu, 15 Oct 2015 23:35:28 +0000 (16:35 -0700)]
Remove useage of ICU C++ DecimalFormatSymbols

8 years agoRemove ICU C++ LocaleDisplayNames
Matt Ellis [Thu, 15 Oct 2015 23:00:35 +0000 (16:00 -0700)]
Remove ICU C++ LocaleDisplayNames

8 years agoRemove use of ICU C++ NumberFormat class
Matt Ellis [Thu, 15 Oct 2015 21:59:26 +0000 (14:59 -0700)]
Remove use of ICU C++ NumberFormat class

This change removes NumberFormat in favor of UNumberFormat. There is a
bit of work that needs to happen in order to keep the normalization code
we use to convert an ICU pattern so to something we can match against
working.

Instead of UnicodeStrings, the input to the normalization function is
now a UChar* and we build up a std::string during normalization.  This
allows us to also skip a conversion from UChar* back to char* so we can
find the correct pattern in our collection of patterns to examine.

8 years agoRemove use of ICU C++ DateFormatSymbols
Matt Ellis [Thu, 15 Oct 2015 18:20:59 +0000 (11:20 -0700)]
Remove use of ICU C++ DateFormatSymbols

8 years agoConvert DateFormat to UDateFormat
Matt Ellis [Thu, 15 Oct 2015 00:39:40 +0000 (17:39 -0700)]
Convert DateFormat to UDateFormat

Remove uses of the C++ DateFormat and SimpleDateFormat classes in favor
of UDateFormat.

As part of this change, it was easier to move some of the code that
converts an ICU format string to a .NET Style format string from native
code up to managed code. This code used UnicodeString and we'll need to
move away from that as well as we remove all the C++ usage.

8 years agoConvert DateTimePatternGenerator usage to C
Matt Ellis [Wed, 14 Oct 2015 22:45:03 +0000 (15:45 -0700)]
Convert DateTimePatternGenerator usage to C

Part of the effort to remove our usage of C++ ICU APIs. The major issue
here was that the C++ API used char*'s for some things whereas the C API
used UChar*'s so we needed to define our own copies of some constants.

We also need to manage a buffer ourselves, instead of being able to use
the underlying buffer of a retured UnicodeString.

8 years agoRemove use of ICU C++ Calendar class
Matt Ellis [Wed, 14 Oct 2015 19:30:37 +0000 (12:30 -0700)]
Remove use of ICU C++ Calendar class

We would like to be able to link against versions of ICU installed as a
"operating system level library" which means we can't take a dependency
on any C++ APIs.

This change moves away from icu::Calendar in favor of UCalendar. I also
introduce a small helper template to manage the lifetime of ICU
resources.

8 years agoMerge pull request #1824 from Priya91/fixbug
Lakshmi Priya [Wed, 21 Oct 2015 20:01:37 +0000 (13:01 -0700)]
Merge pull request #1824 from Priya91/fixbug

Fix lpFileName leak in InternalCreateProcess.

8 years agoAlways attempt to load specified DLL name first before trying variations
Aditya Mandaleeka [Tue, 20 Oct 2015 03:53:05 +0000 (20:53 -0700)]
Always attempt to load specified DLL name first before trying variations

8 years agoRemove ReversePInvoke test from failing tests list.
Aditya Mandaleeka [Thu, 15 Oct 2015 22:30:36 +0000 (15:30 -0700)]
Remove ReversePInvoke test from failing tests list.

8 years agoMove prefix/suffix logic to dllimport
Aditya Mandaleeka [Thu, 15 Oct 2015 22:09:51 +0000 (15:09 -0700)]
Move prefix/suffix logic to dllimport

8 years agoFix lpFileName leak in InternalCreateProcess.
Lakshmi Priya Sekar [Wed, 21 Oct 2015 15:57:23 +0000 (08:57 -0700)]
Fix lpFileName leak in InternalCreateProcess.

8 years agoMerge pull request #1822 from janvorli/fix-pal-new-usage
Stephen Toub [Wed, 21 Oct 2015 16:19:58 +0000 (12:19 -0400)]
Merge pull request #1822 from janvorli/fix-pal-new-usage

Remove new operator usage in PAL

8 years agoRemove new operator usage in PAL
Jan Vorlicek [Wed, 21 Oct 2015 14:49:45 +0000 (07:49 -0700)]
Remove new operator usage in PAL

This change fixes an issue caused by recent change in filename buffers
allocations. It was using the operator new, but it should not be used
in PAL since it invokes overriden operator new in the coreclr.
The fix is to use InternalMalloc instead.

8 years agoMerge pull request #1808 from om3n07/master
Stephen Toub [Wed, 21 Oct 2015 14:34:21 +0000 (10:34 -0400)]
Merge pull request #1808 from om3n07/master

Correct comments on Array sorting methods

8 years agoMerge pull request #1804 from dotnet-bot/from-tfs
Matt Ellis [Wed, 21 Oct 2015 06:58:01 +0000 (23:58 -0700)]
Merge pull request #1804 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #1817 from bryanar/pri1testfix
Bryan P. Arant [Wed, 21 Oct 2015 06:13:07 +0000 (23:13 -0700)]
Merge pull request #1817 from bryanar/pri1testfix

Fixing test infrastructure that affects pri1 tests.

8 years agoRemove bad wording
Richard Lander [Wed, 21 Oct 2015 06:02:19 +0000 (23:02 -0700)]
Remove bad wording
One team borrowed code from another.

8 years agoAdd attribution for lookup3.c
Richard Lander [Tue, 20 Oct 2015 04:08:32 +0000 (21:08 -0700)]
Add attribution for lookup3.c

8 years agoRemove duplicate license
Richard Lander [Tue, 20 Oct 2015 03:27:30 +0000 (20:27 -0700)]
Remove duplicate license

8 years agoAdd attribution for RFC 3492
Richard Lander [Tue, 20 Oct 2015 05:25:51 +0000 (22:25 -0700)]
Add attribution for RFC 3492

8 years agoCorrect attribution for UUIDs and GUIDs
Richard Lander [Mon, 19 Oct 2015 22:35:15 +0000 (15:35 -0700)]
Correct attribution for UUIDs and GUIDs

8 years agoRemove NR reference
Richard Lander [Mon, 19 Oct 2015 16:26:00 +0000 (09:26 -0700)]
Remove NR reference
After speaking to the authors, the attribution comment is not required for this instance. However, Numerical Recipes in C is an awesome book written by some very smart and classy folks. It's a great book.

8 years agoMerge pull request #1744 from Priya91/palstring-rest
Lakshmi Priya [Wed, 21 Oct 2015 02:02:33 +0000 (19:02 -0700)]
Merge pull request #1744 from Priya91/palstring-rest

Use StackString in PAL file apis.

8 years agoMerge pull request #1813 from adityamandaleeka/pal_cleanup
Aditya Mandaleeka [Wed, 21 Oct 2015 00:18:49 +0000 (17:18 -0700)]
Merge pull request #1813 from adityamandaleeka/pal_cleanup

Clean up cleanup code in PAL

8 years agoFix boundary bugs on buffer lengths. Include null char in MAX_LONGPATH.
Lakshmi Priya Sekar [Mon, 19 Oct 2015 18:01:24 +0000 (11:01 -0700)]
Fix boundary bugs on buffer lengths. Include null char in MAX_LONGPATH.

8 years agoFixing some pri1 tests.
Bryan Arant [Tue, 20 Oct 2015 23:03:04 +0000 (16:03 -0700)]
Fixing some pri1 tests.

8 years agoMerge pull request #1806 from LLITCHEV/SystemVStructs
Lubomir Litchev [Tue, 20 Oct 2015 23:14:16 +0000 (16:14 -0700)]
Merge pull request #1806 from LLITCHEV/SystemVStructs

Implementation of System V ABI struct passing.

8 years agoImplementation of System V ABI struct passing.
Lubomir Litchev [Thu, 19 Feb 2015 19:42:30 +0000 (11:42 -0800)]
Implementation of System V ABI struct passing.

This PR adds support for System V x86_64 ABI classification and calling
convention to the VM and the Jit, including, but not limited to Ubuntu
Linux and Mac OS X.
The general rules outlined in the System V x86_64 ABI (described at
http://www.x86-64.org/documentation/abi.pdf) are followed with a few
little exceptions, described below:
1. The hidden argument for by-value passed structs is always after
the ÎéÎíthisÎéÎí parameter (if there is one.). This is a difference with
the Sysetem V ABI and affects only the internal jit calling conventions.
For PInvoke calls the hidden argument is always the first parameter since
there is no ÎéÎíthisÎéÎí parameter in this case.
2. Managed structs that have no fields are always passed by-value on
the stack.
3. The jit proactively generates frame register frames (with RBP as a
frame register) in order to aid the native OS tooling for stack unwinding
and the like.

8 years agoRemove unused full_cleanup parameter
Aditya Mandaleeka [Tue, 20 Oct 2015 21:20:15 +0000 (14:20 -0700)]
Remove unused full_cleanup parameter

8 years agoMerge pull request #1811 from mikem8361/exceptfix
Mike McLaughlin [Tue, 20 Oct 2015 21:12:31 +0000 (14:12 -0700)]
Merge pull request #1811 from mikem8361/exceptfix

Managed unhandled exceptions for debugging and other fixes

8 years agoMerge pull request #1805 from sergiy-k/nodebugmsgs
Jan Vorlicek [Tue, 20 Oct 2015 21:02:54 +0000 (14:02 -0700)]
Merge pull request #1805 from sergiy-k/nodebugmsgs

Disable DEBUG_MESSAGES in release build of CoreCLR PAL

8 years agoFix issue #1782 unhanded exceptions don't generate core dumps by changing HandleFatal...
Mike McLaughlin [Tue, 20 Oct 2015 01:38:26 +0000 (18:38 -0700)]
Fix issue #1782 unhanded exceptions don't generate core dumps by changing HandleFatalError to end up calling TerminateProcess (which calls the unix abort()) instead of ExitProcess.

8 years agoFix assert when unhandled exception is unwound and restored some previous code in...
Mike McLaughlin [Tue, 20 Oct 2015 00:20:56 +0000 (17:20 -0700)]
Fix assert when unhandled exception is unwound and restored some previous code in the first pass dispatcher so the managed debugger notification is sent at the right time (during the first pass instead after everything is unwound).

Also fixed issue #1799 by not masking SIGTERM anymore.