Sedar Gokbulut [Tue, 31 Mar 2015 00:44:46 +0000 (17:44 -0700)]
Port the following fixes to GC from netfxDev1:
1118110 [GC] Assert "chosen_power2 == 0", ndp\clr\src\vm\gc.cpp, Line: 8566 (Origin CS 1410546 - required for the next change)
1119047 ARM heap corruptions found in assert in gc_heap::plan_phase (Origin CS 1414858)
[tfs-changeset: 1442444]
Jan Vorlicek [Mon, 30 Mar 2015 19:10:07 +0000 (21:10 +0200)]
Merge pull request #586 from stephentoub/corerun_cwd
Fix corerun to support argv[0] that's not a full path
Stephen Toub [Mon, 30 Mar 2015 17:56:52 +0000 (13:56 -0400)]
Merge pull request #596 from stephentoub/init_culture_with_invariant
Copy all of invariant culture's data in stubbed out globalization
Jan Vorlicek [Mon, 30 Mar 2015 16:53:09 +0000 (18:53 +0200)]
Merge pull request #595 from janvorli/fix-issue-566
Fix GC exception related issue
Chris McKinsey [Mon, 30 Mar 2015 16:06:22 +0000 (09:06 -0700)]
Merge pull request #591 from cmckinsey/coreclr474
Fix some of the issues found by Viva64 static analyser
Stephen Toub [Mon, 30 Mar 2015 13:28:55 +0000 (06:28 -0700)]
Copy all of invariant culture's data in stubbed out globalization
We've been piecemeal copying parts of the invariant culture over to our temporary culture implementation. But as I've hit additional pieces needed, I decided to just copy over everything so that hopefully we don't bump up against this again.
Jan Vorlicek [Mon, 30 Mar 2015 10:06:12 +0000 (12:06 +0200)]
Fix GC exception related issue
This change fixes a problem that has occured when GC was called from
an exception handler during split exception handling. The problem
manifestated itself as a crash in the HasFrameBeenUnwoundByAnyActiveException
function due to the pInitialExplicitFrame being NULL.
The cause of this issue was caused by a combination of two issues.
First, the m_ScannedStackRange was not reset in the partial 2nd pass to
the state at the beginning of the corresponding partial 1st pass.
And second, the 'unwind has started' flag was not reset after
restoring exception flags in the new exception tracker after switching
from the 2nd back to the 1st pass during the split exception handling.
There was one additional issue, several additional members of the exception
tracker needed to be propagated to the new tracker. These members are
needed by the HasFrameBeenUnwoundByAnyActiveException function.
Since the number of state members that are propagated from the old to the
new exception tracker has grown, I've refactored the code to keep those
in a separate class.
Chris McKinsey [Sat, 28 Mar 2015 18:38:33 +0000 (11:38 -0700)]
Merge pull request #593 from cmckinsey/replay450
Replay the fix for #450
Chris McKinsey [Sat, 28 Mar 2015 18:21:51 +0000 (11:21 -0700)]
Change null constant type to be TYP_REF for isinst nullcheck expansion
In the importer when inlining the fast expansion sequence for
isinst/castclass, the code was typing the constant 0 source of the
compare with TYP_I_IMPL instead of TYP_REF. Not only does this create
an inconsistently typed compare but it causes value-numbering of
the same constants with different types to not be equal. This blocks
later assertion propagation that propagates null-checks and prevents
many cases from being eliminated.
This change changes the type of the constant gtNode to be TYP_REF.
With this change there are many good diffs in the frameworks and
other assemblies.
Ran testing in desktop branch including SuperPMI asm diffs. Asm
diffs show hundreds of methods with improvements in framework
, Roslyn, and other internal assemblies. 1% code size reduction in
the methods that have changes. All diffs are elimination of redundant
null-checks.
Chris McKinsey [Thu, 26 Mar 2015 08:04:05 +0000 (01:04 -0700)]
Fix some of the issues found by Viva64 static analyser
Eliminate some unnecessary null check.
Remove null-checks on this and guard instance calls with null-checks.
Collapse a redundant then/else case.
Stephen Toub [Sat, 28 Mar 2015 04:52:24 +0000 (00:52 -0400)]
Fix corerun to support argv[0] that's not a full path
Unix's corerun tries to parse a path out of argv[0], and blows up
in std::string if no '/' is found. This commit adds a check to make
sure that there was a '/' found, after first expanding argv[0] to an
absolute path.
Jan Kotas [Fri, 27 Mar 2015 21:27:05 +0000 (14:27 -0700)]
Merge pull request #589 from josteink/bsd_configure
Correctly set HAVE_BSD_REGS_T flag during configure.
Jan Kotas [Fri, 27 Mar 2015 21:26:41 +0000 (14:26 -0700)]
Merge pull request #590 from josteink/bsd_regs
PAL: Add register-mapping for FreeBSD x86_64.
Jan Kotas [Fri, 27 Mar 2015 20:51:52 +0000 (13:51 -0700)]
Merge pull request #587 from mikem8361/dbi1
Enabling the ClrStack command ICorDebug option (-i) to use to test DBI.
Jostein Kjønigsen [Fri, 27 Mar 2015 20:45:19 +0000 (20:45 +0000)]
PAL: Add register-mapping fore FreeBSD x86_64.
Jostein Kjønigsen [Fri, 27 Mar 2015 16:19:36 +0000 (16:19 +0000)]
Correctly set HAVE_BSD_REGS_T flag during configure.
Fix BSD-regs detection. Struct name is 'reg' not 'regs'.
This fixes a bunch of issues when trying to build on FreeBSD.
Brian Robbins [Fri, 27 Mar 2015 18:52:04 +0000 (11:52 -0700)]
Merge pull request #569 from brianrob/perfdoc
Add Cross-Platform Performance and Eventing Design Document
Mike McLaughlin [Tue, 24 Mar 2015 00:56:09 +0000 (17:56 -0700)]
Enabling the ClrStack command ICorDebug option (-i) to use to test DBI.
Fix sos on windows. Changed the name of the debug info resource to just "CLRDEBUGINFO". This is what debugshim is looking for when searching for the coreclr module.
Jan Kotas [Fri, 27 Mar 2015 17:56:45 +0000 (10:56 -0700)]
Merge pull request #585 from dotnet/revert-584-bsd_configure
Revert "Correctly set HAVE_BSD_REGS_T flag during configure."
Jan Kotas [Fri, 27 Mar 2015 17:56:38 +0000 (10:56 -0700)]
Revert "Correctly set HAVE_BSD_REGS_T flag during configure."
Brian Robbins [Fri, 27 Mar 2015 17:50:23 +0000 (10:50 -0700)]
Updates from PR comments.
Jan Kotas [Fri, 27 Mar 2015 17:15:21 +0000 (10:15 -0700)]
Merge pull request #584 from josteink/bsd_configure
Correctly set HAVE_BSD_REGS_T flag during configure.
Jostein Kjønigsen [Fri, 27 Mar 2015 16:19:36 +0000 (16:19 +0000)]
Correctly set HAVE_BSD_REGS_T flag during configure.
Currently the test sets a flag which is found nowhere else in the code.
$ grep -R " BSD_REGS" * | wc -l
0
This fixes a bunch of issues when trying to build on FreeBSD.
Jan Kotas [Fri, 27 Mar 2015 00:15:30 +0000 (17:15 -0700)]
Merge pull request #582 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Thu, 26 Mar 2015 23:18:25 +0000 (16:18 -0700)]
Merge pull request #578 from briansull/use-lea-for-mul359
Use lea for multiply by 3, 5 or 9
David Kean [Thu, 26 Mar 2015 23:16:11 +0000 (16:16 -0700)]
ExecutionContext.IsDefaultFTContext incorrectly checks the "current" context
Fixed: ExecutionContext.IsDefaultFTContext incorrectly checks the thread's current context instead of the context that is it called on. This prevents Overlapped from running it's callback on the captured execution context, and hence, async locals don't flow for overlapped callbacks. There are no tests with this change, because the only thing that is broken currently is Overlapped. I've written new tests for the new overlapped APIs that were broken *before* this change, and pass after this change, these will be checked in with the overlapped feature.
Changed: Marked ExecutionContext.Default private, as it was accidently made public.
[tfs-changeset: 1440483]
Jan Kotas [Thu, 26 Mar 2015 22:36:34 +0000 (15:36 -0700)]
Merge pull request #581 from sergiy-k/gccrash-ipinmodule
Fix an issue in ExceptionTracker::FindParentStackFrameHelper that resulted in an AV during GC stack root scanning.
Brian Sullivan [Thu, 26 Mar 2015 00:26:56 +0000 (17:26 -0700)]
When choosing an instruction for a GT_MUL we will now use an LEA instruction for a MUL by an immediate 3, 5 or 9
The multiply has to be a non overflow checking multiply as an LEA does not set condition codes.
In Lowering we also must make sure that we don't 'contain' an indirection as the source operand.
Sergiy Kuryata [Thu, 26 Mar 2015 21:00:26 +0000 (14:00 -0700)]
Fix an issue in ExceptionTracker::FindParentStackFrameHelper that resulted in an access violation during GC stack root scanning.
This change fixes the second issue reported in https://github.com/dotnet/coreclr/issues/566. The problem is that ExceptionTracker::FindParentStackFrameHelper uses IsIPInModule to determine whether an IP address belongs to VM or managed code but this function is not implemented when FEATURE_PAL is defined.
We should not really need the actual implementation of IsIPInModule on Unix. It is sufficient to just differentiate between managed and other code using ExecutionManager::IsManagedCode on Unix.
Sergiy Kuryata [Thu, 26 Mar 2015 20:43:10 +0000 (13:43 -0700)]
Merge pull request #580 from Djuffin/dbi-linux
Removing static PAL from SOS and DBI
Stephen Toub [Thu, 26 Mar 2015 20:22:18 +0000 (13:22 -0700)]
Merge pull request #579 from stephentoub/indexof_empty
Fix IndexOfOrdinal on Unix for empty strings
Eugene Zemtsov [Thu, 26 Mar 2015 19:12:12 +0000 (12:12 -0700)]
Make DBI and SOS use PAL from DAC
Eugene Zemtsov [Thu, 26 Mar 2015 19:02:55 +0000 (12:02 -0700)]
Make it possible to write stress log from a module that doesn't have statically liked PAL
Stephen Toub [Thu, 26 Mar 2015 18:49:46 +0000 (11:49 -0700)]
Fix IndexOfOrdinal on Unix for empty strings
IndexOfOrdinal searching for an empty string should return 0. It's currently returning -1.
Jan Kotas [Thu, 26 Mar 2015 15:51:44 +0000 (08:51 -0700)]
Merge pull request #575 from josteink/ptrace
PAL: Fix ptrace-invocation on FreeBSD.
Jostein Kjonigsen [Thu, 26 Mar 2015 07:51:43 +0000 (07:51 +0000)]
Fix ptrace-invocation on FreeBSD.
Unlike in Linux[1] FreeBSD's ptrace does not use an enum[2].
[1] http://linux.die.net/include/sys/ptrace.h
[2] http://www.freebsd.org/cgi/man.cgi?query=ptrace
This fixes compiler errors like this one:
/home/josteink/build/coreclr/src/pal/src/arch/i386/context.cpp:305:21: error: use of undeclared identifier '__ptrace_request'
if (ptrace((__ptrace_request)PT_GETREGS, processId, (caddr_t) &ptrace_registers, 0) == -1)
Jan Kotas [Thu, 26 Mar 2015 14:23:24 +0000 (07:23 -0700)]
Merge pull request #577 from josteink/runelocale
Fix missing RuneLocale on FreeBSD.
Jan Kotas [Thu, 26 Mar 2015 14:04:16 +0000 (07:04 -0700)]
Merge pull request #576 from janvorli/warnings-cleanup
Fix about 12 kinds of warnings over the codebase
Jan Kotas [Thu, 26 Mar 2015 13:46:37 +0000 (06:46 -0700)]
Merge pull request #573 from josteink/master
Define PAL_CS_NATIVE_DATA_SIZE for FreeBSD x86_64
Jostein Kjønigsen [Thu, 26 Mar 2015 12:21:42 +0000 (12:21 +0000)]
PAL: Improve portability of FreeBSD RuneType-fix.
Jostein Kjønigsen [Thu, 26 Mar 2015 09:38:04 +0000 (09:38 +0000)]
Fix missing RuneLocale on FreeBSD.
Without this patch the build breaks with errors like this:
/usr/include/xlocale/_ctype.h:52:1: error: unknown type name '_RuneLocale'
_RuneLocale *__runes_for_locale(locale_t, int*);
^
Jan Vorlicek [Thu, 26 Mar 2015 07:19:22 +0000 (08:19 +0100)]
Fix about 12 kinds of warnings over the codebase
This change fixes:
1) Member initiazalization order in class constructor didn't correspond to the member order in some classes
2) Objects with vtables were copied via memcpy. While this is intentional, cast of the pointers to void*
is required to silence clang warning
3) Switch case statements containing values of different enums
4) Casting int to pointer
5) Missing return value in methods with _ASSERTE
6) Class name classifier on methods in the .h
7) Invalid position of the DECLSPEC_ALIGN at few places - it had no effect
8) Invalid position of the 'used' attribute
9) Issue with comparing holders to NULL
10) Operator 'new' returning NULL without being marked with throw() or noexcept
11) Variables marked as 'extern' at the declaration / initialization place
12) Data structure declared as struct at one place and forward declared as class at another
Some disabled warnings were no longer happening, so options to disable them were removed too
Jan Vorlicek [Thu, 26 Mar 2015 07:20:32 +0000 (08:20 +0100)]
Merge pull request #574 from janvorli/jit-warnings-cleanup
Fix accidentally removed initialization of m_VNFunc4Map
Jan Vorlicek [Thu, 26 Mar 2015 06:52:10 +0000 (07:52 +0100)]
Fix accidentally removed initialization of m_VNFunc4Map
During my last change, I've accidentally left out the m_VNFunc4Map
while reordering the initialization list.
Stephen Toub [Thu, 26 Mar 2015 06:45:12 +0000 (23:45 -0700)]
Merge pull request #572 from stephentoub/add_encodings
Update EncodingTable.Unix to support additional encodings
Jostein Kjonigsen [Thu, 26 Mar 2015 06:43:17 +0000 (06:43 +0000)]
Define PAL_CS_NATIVE_DATA_SIZE for FreeBSD x86_64
Based on patch from @Aesthetikx which uses the program
[defined here](https://github.com/dotnet/coreclr/issues/60#issuecomment-
73670124)
to determine the correct native size.
Stephen Toub [Thu, 26 Mar 2015 05:56:12 +0000 (22:56 -0700)]
Update EncodingTable.Unix to support additional encodings
A variety of tests, in particular XML tests, are using some of the built-in encodings beyond UTF8, e.g. UnicodeEncoding, and are validating information about them, e.g. that an XML document encoded using UnicodeEncoding includes "utf-16" rather than "utf-8" in the output. This commit augments the temporary globalization implementation with basic knowledge of UTF7, UTF16, UTF16BE, and UTF32.
Sergiy Kuryata [Thu, 26 Mar 2015 00:24:41 +0000 (17:24 -0700)]
Merge pull request #570 from Djuffin/cordb_platform_fix
Fix CORDB_PLATFORM mismatch between DAC and SOS
Eugene Zemtsov [Wed, 25 Mar 2015 22:07:01 +0000 (15:07 -0700)]
Fix CORDB_PLATFORM mismatch between DAC and SOS
Jan Kotas [Wed, 25 Mar 2015 23:54:02 +0000 (16:54 -0700)]
Merge pull request #558 from josteink/master
Fix compilation errors on FreeBSD.
Jan Vorlicek [Wed, 25 Mar 2015 23:49:57 +0000 (00:49 +0100)]
Merge pull request #561 from janvorli/jit-warnings-cleanup
Fix warnings in the jitter code
Jan Vorlicek [Wed, 25 Mar 2015 17:14:11 +0000 (18:14 +0100)]
Fix warnings in the jitter code
This change fixes some of the warnings in the jitter code on Linux. With this change
combined with an upcoming change in the rest of the codebase, 16 warning disabling
options can be removed.
The issues in the jitter were:
1) Incorrect typedefs for const_reference and const_pointer (the const was ignored)
2) Member initiazalization order in class constructor didn't correspond to the member order in some classes
3) Objects with vtables were copied via memcpy. While this is intentional, cast of the pointers to void*
is required to silence clang warning
4) Comparing values of different enums - there are cases of two enums containing the same values.
5) Casting int to pointer - the cast was legal (forming a handle), adding cast to size_t in between used to fix the warning
6) "static struct" - removed the static keyword
7) Missing return value in methods with _ASSERTE
8) Class name classifier on methods in the .h
9) Specialized template member functions need to be defined out of the class
Brian Robbins [Wed, 25 Mar 2015 23:22:54 +0000 (16:22 -0700)]
Merge branch 'perfdoc' of https://github.com/brianrob/coreclr into perfdoc
Brian Robbins [Wed, 25 Mar 2015 23:22:05 +0000 (16:22 -0700)]
Added blank lines before and after headers.
Russell C Hadley [Wed, 25 Mar 2015 21:41:16 +0000 (14:41 -0700)]
Merge pull request #554 from russellhadley/AdditionalInterfaceHeaders
Add additional headers to the CoreCLR package to describe its interface.
Matt Ellis [Wed, 25 Mar 2015 21:26:38 +0000 (14:26 -0700)]
Merge pull request #564 from stephentoub/fix_lastindexof_unix
Fix LastIndexOfOrdinal on Unix
Brian Robbins [Wed, 25 Mar 2015 21:04:46 +0000 (14:04 -0700)]
Updated scenario priorities.
Stephen Toub [Wed, 25 Mar 2015 20:59:03 +0000 (13:59 -0700)]
Fix LastIndexOfOrdinal on Unix
The temporary implementation of LastIndexOfOrdinal has some bugs causing ArgumentOutOfRangeExceptions and other fun things. This should fix them.
Brian Robbins [Wed, 25 Mar 2015 20:41:39 +0000 (13:41 -0700)]
Merge pull request #567 from stephentoub/fix_etw_ifdefs
Fix EventSource listeners on Unix
Jostein Kjonigsen [Wed, 25 Mar 2015 17:02:21 +0000 (17:02 +0000)]
Fix debug-pal on FreeBSD.
This define is required to enable getline() on FreeBSD.
rhadley [Tue, 24 Mar 2015 22:05:20 +0000 (15:05 -0700)]
Add additional headers to the CoreCLR package to describe its interface.
Adds headers:
- opcode.def and openum.h to describe the MSIL opcodes.
Carol Eidt [Wed, 25 Mar 2015 20:25:32 +0000 (13:25 -0700)]
Merge pull request #563 from CarolEidt/cleanupClsVar
Fix #497: Identical expressions to the left and right of the ||...
Carol Eidt [Wed, 25 Mar 2015 01:10:22 +0000 (18:10 -0700)]
Fix #497: Identical expressions to the left and right of the || operator
This was very old code that was needed before the rationalization
of assignments (should have been GT_CLS_VAR and GT_IND).
GT_CLS_VAR should now never be seen post-rationalizer.
Brian Robbins [Wed, 25 Mar 2015 19:47:21 +0000 (12:47 -0700)]
Adding Cross Platform Performance and Eventing Design Doc.
Stephen Toub [Wed, 25 Mar 2015 19:40:31 +0000 (12:40 -0700)]
Fix EventSource listeners on Unix
Some recent changes to EventSource misplaced an #endif, causing EventListeners to not receive any messages when FEATURE_MANAGED_ETW is not set (it's not set on Unix).
Jan Kotas [Wed, 25 Mar 2015 18:43:08 +0000 (11:43 -0700)]
Merge pull request #562 from jkotas/cppmunge
Delete cppmunge
Jan Kotas [Wed, 25 Mar 2015 18:08:15 +0000 (11:08 -0700)]
Delete cppmunge
We have used this tool to boostrap the Unix build, but it is not used anymore.
Jan Vorlicek [Wed, 25 Mar 2015 15:33:51 +0000 (16:33 +0100)]
Merge pull request #543 from janvorli/native-resources
Add native resources compilation on Linux
Jan Vorlicek [Wed, 25 Mar 2015 15:07:45 +0000 (16:07 +0100)]
Propagate bindtextdomain status to the caller
The bindtextdomain can fail due to OOM. Propagate the status out of the
PAL_BindResources.
Jan Kotas [Wed, 25 Mar 2015 15:07:10 +0000 (08:07 -0700)]
Merge pull request #557 from josteink/master
build.sh: Fix CPU-count detection on FreeBSD.
Jan Vorlicek [Wed, 25 Mar 2015 14:50:00 +0000 (15:50 +0100)]
Merge pull request #556 from janhenke/freebsd-0325
Detect AMD64 Architecture on FreeBSD
Jan Henke [Wed, 25 Mar 2015 09:39:26 +0000 (09:39 +0000)]
Detect AMD64 Architecture on FreeBSD
In contrast to Linux and Darwin, FreeBSD identifies the AMD64 architecture with
the "amd64" string. Extend the checks in CMakeLists to accept either "x86_64"
or "amd64" as AMD/Intel 64bit architecture.
Jostein Kjonigsen [Wed, 25 Mar 2015 10:40:02 +0000 (10:40 +0000)]
build.sh: Fix CPU-count detection on FreeBSD.
Eugene Zemtsov [Tue, 24 Mar 2015 23:48:01 +0000 (16:48 -0700)]
Merge pull request #553 from Djuffin/dbi-linux
Various DBI related fixes that make it possible to load DBI on Linux
Eugene Zemtsov [Tue, 24 Mar 2015 22:34:20 +0000 (15:34 -0700)]
Make code comments more accurate
Eugene Zemtsov [Tue, 24 Mar 2015 21:58:11 +0000 (14:58 -0700)]
Get rid of EventRedirectionPipeline() call on Unix
Eugene Zemtsov [Fri, 20 Mar 2015 04:10:56 +0000 (21:10 -0700)]
Various DBI related fixes that make it possible to load DBI on Linux and attach to a living CoreCLR process
Jan Kotas [Tue, 24 Mar 2015 21:02:11 +0000 (14:02 -0700)]
Merge pull request #551 from cmckinsey/ldnull-ldelem-ver-fix
Normalize array element type of ldnull to stack size for verification
Jan Kotas [Tue, 24 Mar 2015 21:01:42 +0000 (14:01 -0700)]
Merge pull request #548 from cmckinsey/nulltype
Change null constant type to be TYP_REF for isinst nullcheck expansion
Jan Kotas [Tue, 24 Mar 2015 20:48:32 +0000 (13:48 -0700)]
Merge pull request #550 from janhenke/freebsd-buildsupport
Force /usr/local/include as search path on FreeBSD
Chris McKinsey [Tue, 24 Mar 2015 19:33:47 +0000 (12:33 -0700)]
TF#1144615 - Normalize array element type of ldnull to stack size for verification purposes.
Stephen Toub reported a RyuJIT assertion failure in System.Linq.Expressions.Tests.dll on unix.
The debug assertion was firing to ensure that the verification element type is normalized to
the stack slot sized type for verification purpose in later code that expects this convention.
Testing: DDR_And_JitSelfHost_diffs al clean with no asm diffs.
Performance: 0 asm diffs so no impact
Jan Henke [Tue, 24 Mar 2015 15:24:16 +0000 (15:24 +0000)]
Force /usr/local/include as search path on FreeBSD
CMake does not find headers installed in /usr/local/include by default. On
FreeBSD this is the default location for libunwind.h though. Define
CMAKE_REQUIERED_INCLUDE to include both /usr/local/include and /usr/include.
This change only affects FreeBSD. Also FreeBSD (like Darwin) does not work with
_DEFAULT_SOURCE or _POSIX_C_SOURCE defined. Closes #547
Jan Kotas [Tue, 24 Mar 2015 12:34:21 +0000 (05:34 -0700)]
Merge pull request #546 from stephentoub/expand_env_vars
Implement ExpandEnvironmentVariables on Unix
Jan Vorlicek [Thu, 19 Mar 2015 20:06:20 +0000 (21:06 +0100)]
Add native resources compilation on Linux
This change adds compilation of native resources into a gettext binary format and
loading of string resources in coreclr on Linux.
On OSX, the resource string still contains just a formatted resource id.
Stephen Toub [Tue, 24 Mar 2015 06:32:55 +0000 (23:32 -0700)]
Implement ExpandEnvironmentVariables on Unix
The Environment type exposes ExpandEnvironmentVariables, but the corresponding Win32 function isn't available in the PAL, and thus calling Environment.ExpandEnvironmentVariables fails with an EntryPointNotFoundException for ExpandEnvironmentVariables from libcoreclr.dll.
This commit provides a basic implementation of the function in the managed ExpandEnvironmentVariables method on Unix. It passes all of the corresponding tests in System.Runtime.Extensions.Tests.dll.
Jan Kotas [Tue, 24 Mar 2015 05:36:49 +0000 (22:36 -0700)]
Merge pull request #544 from stephentoub/fix_textinfo
Initialize TextInfo's m_textInfoName in stubbed out globalization on Unix
Stephen Toub [Tue, 24 Mar 2015 05:18:33 +0000 (22:18 -0700)]
Initialize TextInfo's m_textInfoName in stubbed out globalization
Some System.Runtime.Extensions tests are failing due to IsAsciiCasingSameAsInvariant trying to use a null m_textInfoName.
Chris McKinsey [Tue, 24 Mar 2015 02:20:32 +0000 (19:20 -0700)]
Change null constant type to be TYP_REF for isinst nullcheck expansion
In the importer when inlining the fast expansion sequence for
isinst/castclass, the code was typing the constant 0 source of the
compare with TYP_I_IMPL instead of TYP_REF. Not only does this create
an inconsistently typed compare but it causes value-numbering of
the same constants with different types to not be equal. This blocks
later assertion propagation that propagates null-checks and prevents
many cases from being eliminated.
This change changes the type of the constant gtNode to be TYP_REF.
With this change there are many good diffs in the frameworks and
other assemblies.
Ran testing in desktop branch including SuperPMI asm diffs. Asm
diffs show hundreds of methods with improvements in framework
, Roslyn, and other internal assemblies. 1% code size reduction in
the methods that have changes. All diffs are elimination of redundant
null-checks.
Jan Kotas [Tue, 24 Mar 2015 00:22:16 +0000 (17:22 -0700)]
Merge pull request #525 from Djuffin/thread_id
Clean up PLA thread id usage.
Matt Ellis [Mon, 23 Mar 2015 22:47:17 +0000 (15:47 -0700)]
Merge pull request #524 from ellismg/stat-in-pal
Add Stat like methods to CoreFX PAL
Matt Ellis [Sat, 21 Mar 2015 02:26:03 +0000 (19:26 -0700)]
Prefer stat64 if present
Probe for the existence of stat64 and use it over stat if it
exists. Aditionally, update the check around having a birthtime to be
more portable.
Eugene Zemtsov [Mon, 23 Mar 2015 21:46:25 +0000 (14:46 -0700)]
Refactoring similar pieces of code into a function
Matt Ellis [Fri, 20 Mar 2015 07:31:06 +0000 (00:31 -0700)]
Add Stat like methods to CoreFX PAL
CoreFX would like to be able to call stat(2) and fstat(2) but directly
pinvoking to them from managed code is a bit of a chore, since the calls
depend on both the platform and architecture of the target platform.
This change adds stable versions of these APIs that the managed code can
interact with, internally the runtime calls the APIs using the platform
specific APIs and structures.
Long term it might be a good idea to move some of this stuff out of the
runtime and to a native helper library in CoreFX, so we have one less
dependency on the runtime and the ABI between managed and native code
for these methods can version withour reving the runtime, but for now we
put them in the runtime, like our other CoreFX PAL functions, since we
don't have a great way of building native code (let alone platform
specific native code) in CoreFX.
Jan Kotas [Mon, 23 Mar 2015 19:47:17 +0000 (12:47 -0700)]
Merge pull request #540 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Mon, 23 Mar 2015 18:43:16 +0000 (11:43 -0700)]
Merge pull request #539 from jkotas/glob
More stubbed out globalization
Jan Kotas [Mon, 23 Mar 2015 18:17:16 +0000 (11:17 -0700)]
More stubbed out globalization
Mike McLaughlin [Mon, 23 Mar 2015 17:37:38 +0000 (10:37 -0700)]
Merge pull request #531 from mikem8361/name2ee
Enable DumpLog and Name2EE sos commands
Jan Kotas [Mon, 23 Mar 2015 15:49:45 +0000 (08:49 -0700)]
Merge pull request #538 from sergiy-k/context-flags
Fix CONTEXT_CaptureContext to correctly store the processor flags
Jan Kotas [Mon, 23 Mar 2015 15:49:02 +0000 (08:49 -0700)]
Merge pull request #527 from jkotas/macunwind
Fix reporting of callee saved registers with nongnu libuwind
Eugene Zemtsov [Sat, 21 Mar 2015 03:06:05 +0000 (20:06 -0700)]
Fix compilation of context.cpp