Dmitry-Me [Fri, 29 Jan 2016 14:21:31 +0000 (17:21 +0300)]
Unify reference count access
Bruce Forstall [Fri, 29 Jan 2016 05:05:45 +0000 (21:05 -0800)]
Merge pull request #2900 from BruceForstall/ClrStlUpdate
Fixes and additions to CLR STL functionality
Jan Kotas [Fri, 29 Jan 2016 04:08:57 +0000 (20:08 -0800)]
Merge pull request #2901 from JohnChen0/r2r-av
Modify crossgen to always set DLL bit in PE header
Jan Kotas [Fri, 29 Jan 2016 04:07:26 +0000 (20:07 -0800)]
Merge pull request #2913 from krytarowski/netbsd-support-15
NetBSD: Fix portability of isspace(3) usage
Jan Kotas [Fri, 29 Jan 2016 04:06:46 +0000 (20:06 -0800)]
Merge pull request #2911 from krytarowski/netbsd-support-13
NetBSD: Stop assuming that __hppa__ is HP-UX
Jan Kotas [Fri, 29 Jan 2016 04:04:19 +0000 (20:04 -0800)]
Merge pull request #2906 from krytarowski/netbsd-support-12
Stop setting for NetBSD -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200809L
Jan Kotas [Fri, 29 Jan 2016 04:02:57 +0000 (20:02 -0800)]
Merge pull request #2912 from krytarowski/netbsd-support-14
NetBSD defines VM_MAXUSER_ADDRESS in <machine/vmparam.h>
Andy Ayers [Fri, 29 Jan 2016 01:59:42 +0000 (17:59 -0800)]
Merge pull request #2703 from AndyAyersMS/InlineRefactor
Initial round of jit inliner refactoring
Kamil Rytarowski [Fri, 29 Jan 2016 01:42:53 +0000 (02:42 +0100)]
NetBSD: Fix portability of isspace(3) usage
NAME
isspace - white-space character test
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <ctype.h>
int
isspace(int c);
STANDARDS
The isspace() function conforms to ANSI X3.159-1989 (``ANSI C89'').
CAVEATS
The argument to isspace() must be EOF or representable as an unsigned
char; otherwise, the behavior is undefined.
-- NetBSD man-page
This behavior is POSIX and Standard C:
The c argument is an int, the value of which the application shall ensure is a
character representable as an unsigned char or equal to the value of the macro
EOF. If the argument has any other value, the behavior is undefined.
-- The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
C11 standard:
The header declares several functions useful for classifying and mapping
characters In all cases the argument is an int, the value of which shall be
representable as an unsigned char or shall equal the value of the macro EOF. If
the argument has any other value, the behavior is undefined.
-- 7.4 Character handling <ctype.h> paragraph 1
Kamil Rytarowski [Fri, 29 Jan 2016 01:30:07 +0000 (02:30 +0100)]
NetBSD defines VM_MAXUSER_ADDRESS in <machine/vmparam.h>
/*
* USRSTACK is the top (end) of the user stack. Immediately above the
* user stack resides the user structure, which is UPAGES long and contains
* the kernel stack.
*
* Immediately after the user structure is the page table map, and then
* kernel address space.
*/
-- /usr/include/machine/vmparam.h
Kamil Rytarowski [Fri, 29 Jan 2016 01:23:21 +0000 (02:23 +0100)]
NetBSD: Stop assuming that __hppa__ is HP-UX
HPPA is one of the NetBSD ports.
Andy Ayers [Thu, 14 Jan 2016 23:33:01 +0000 (15:33 -0800)]
Initial round of jit inliner refactoring
In the jit, a particular inline decision is the aggregate result of checks
in many different parts of the code. The primary goal of this refactoring
is to establity a single object instance that will accumulate the necessary
information, and to ensure there are a small number of places in the code
where the final outcome is known.
That object is the `JitInlineResult`. I've updated it so it is no longer
copyable or assignable. Instead each root instance is passed down stack
by reference to helper methods that update the instance as the inline decision
making process evolves. Methods on the JitInlineResult can be used to advance
the state of what's known. The allowable state transitions are limited and the
code verifies that (when appropriate) a decision was actually made.
There are 4 such root instances:
* the main check done in the inlining pass.
* the candidate identification pass done in the importer.
* a pre-jit viability scan also done in the importer.
* another pre-jit viability scan done in the importer.
(These latter two identify un-inlinable methods at pre-jit time, so
subsequent jit invocations don't expend any cycles considering them).
I've updated various APIs to try and avoid introducing aliased copies or
projections of the inline result, for instance passing it via argument to
a helper that already has access to it via a member variable, or returning
a bool result from one of the various 'canInline' methods. More work is possible
here -- for example the compiler instance probably doesn't need an inline
result member of its own, since whenever it is inlining it has an inline
instance that has an inline result. I've added a few asserts in places to ensure
that if there is more than one plausible path to the result that they all refer
to the same object.
I've also started streamlining a bit of the goto-heavy case analysis in favor
of early returns, which I find more readable. The reporting obligation
is now held by the JitInlineResult destructor. Future work may go further in this
direction, and make the JitInlineResult responsible for never attribute flagging,
logging and dump messages, and perhaps even responsibility for undoing some of
the speculative state modification done when preparing for inlining (eg cleaning up
the locals in `fgMorphCallInlineHelper`).
At this stage the various candidate and failure reasons are still strings.
I added some new strings for in-progress checks so the dumps now show the
"success reason" for an inline. This is an area that will undergo
further refinement. Success reasons and failures and failure reasons
are still not captured in the inline tree; that too is forthcoming.
This change has minor codegen diffs. In cases where the callee has pinned locals
and returns a bool, we'll now identify the callee as a "never" candidate and so
some calls to it will never get the anticipatory wrapping that inline candidates
get. While this wrapping is undone later when inlining fails, it leaves a type
conversion behind and that conversion impacts the generated code slightly: I see
`test eax, eax` to query the return value rather than `test al, al`.
While I was striving for a no-diff change I think taking this one change is
reasonable: it's preferable to identify never candidates rather than repeatedly try
inlining them and fail each time.
Kamil Rytarowski [Thu, 28 Jan 2016 23:59:48 +0000 (00:59 +0100)]
Stop setting for NetBSD -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200809L
This makes ucontext.h related discovery functions work.
Jan Kotas [Thu, 28 Jan 2016 22:51:35 +0000 (14:51 -0800)]
Merge pull request #2893 from swaroop-sridhar/redirect
Fix an assert failure in GCStress testing
Andy Ayers [Thu, 28 Jan 2016 22:49:42 +0000 (14:49 -0800)]
Merge pull request #2899 from dotnet-bot/from-tfs
Merge changes from TFS
Kyungwoo Lee [Thu, 28 Jan 2016 22:24:39 +0000 (14:24 -0800)]
Merge pull request #2868 from kyulee1/cfi
Support for CFI unwind info
Bruce Forstall [Thu, 28 Jan 2016 22:00:05 +0000 (14:00 -0800)]
Fixes and additions to CLR STL functionality
vector:
Added some const qualifiers.
Added cbegin(), cend(), and data() members.
algorithm:
Added transform()
string:
Implemented a simple subset of std::string. This was implemented for use by a component that will be checked in later. It is currently unused.
Removed ownership tags.
Added "magic" comments to help VIM editor properly handle these files without filename extensions.
John Chen (CLR) [Thu, 28 Jan 2016 21:26:46 +0000 (13:26 -0800)]
Modify crossgen to always set DLL bit in PE header
Andy Ayers [Thu, 28 Jan 2016 21:22:20 +0000 (13:22 -0800)]
The jit may try to inline in cases where there are serious mismatches between the type the caller is passing and the type the callee expects. This can cause the jit to issue malformed queries through the jit interface.
The fix is to take an existing assertion check which detects mismatches the jit is not prepared to handle and make the check active in retail builds. If a bad type mismatch is detected, inlining at that call site is aborted.
[tfs-changeset: 1569969]
Kyungwoo Lee [Sat, 23 Jan 2016 14:13:58 +0000 (06:13 -0800)]
Support for CFI unwind info
For Unix targeting CoreRT, this will provide platform specific unwind
info which is a dwarf format.
Unlike window’s UNWIND_INFO, we won’t encode the format within RyuJit
since it is not only complex/error-prone but also needs to be adjusted
depending on platforms.
Instead, CFI (call frame information) pseudo instructions are encoded,
which will be passed to CoreRT/ObjectWriter which will translate
them to directly emit CFI directives to LLVM MC stream to establish
frames and layout eh_frame section.
A jit flag is used to dynamically dispatch either Windows’s unwind
blob or this CFI instruction table. No JIT/EE interface change is needed
since the API already expects an opaque blob.
Initially when I looked at what Clang does, the prologue and the
sequence of CFI emissions are a bit different than Windows.
Since we will emit the same sequence of code with the same runtime that
we define, I assume this is unnecessary – I’ve verified the CFI sequence
here can work correctly with libunwind.
Basically we need only 3 operations – push reg is a combination of 1 and
2 below.
1. Allocation – increase stack frame. Normally subtract esp in x64.
2. Store – Copy a (callee save) register to stack (memory)
3. SaveFP – Set frame pointer register
Since Windows operation is based on the relative value (all offsets,
etc are computed from the current point), I also use the similar form of
CFI instructions.
So, mostly one window’s code corresponds to two CFIs – we might optimize
this by aggregating allocation, but I’d like to keep the current
syntax/semantic same as Windows.
This results in a very simple transformation on par with Windows.
Swaroop Sridhar [Thu, 28 Jan 2016 02:49:14 +0000 (18:49 -0800)]
Fix an assert failure in GCStress testing
When GCStress uses redirection, it pushes a
RedirectedThreadFrame (Windows) or
ResumableFrame(Unix) on the stack.
The stack walker, when checking for consistency of frame chain
makes a special case for this redirection when running under
GCStress -- but compares only against `RedirectedThreadFrame'.
This caused the StackWalker to think that certain invoke-s were
not redirected, resulting in the failures in some GCStress tests
on Linux.
This change fixes the problem.
Fixes #2848
Stephen Toub [Thu, 28 Jan 2016 18:10:36 +0000 (10:10 -0800)]
Merge pull request #2894 from stephentoub/fix_dtparsing
Fix DateTimeFormat.FormatCustomized optimization bug
Gaurav Khanna [Thu, 28 Jan 2016 17:46:36 +0000 (09:46 -0800)]
Merge pull request #2882 from gkhanna79/FixRace
Fix for CoreCLR issue 2881 - Fix race in Default ALC initialization.
Gaurav Khanna (CLR) [Wed, 27 Jan 2016 16:54:21 +0000 (08:54 -0800)]
Fix for CoreCLR issue 2881 - Fix race in Default ALC initialization.
https://github.com/dotnet/coreclr/issues/2881
Incorporate PR feedback
Jan Vorlicek [Thu, 28 Jan 2016 12:37:16 +0000 (13:37 +0100)]
Merge pull request #2880 from janvorli/fix-python-script
Fix missing format specifier in Utilities.py
Sivarv [Thu, 28 Jan 2016 05:56:23 +0000 (21:56 -0800)]
Merge pull request #2890 from sivarv/master
Fix gc-hole while emitting CORINFO_HELP_ASSIGN_BYREF helper call on Unix
stephentoub [Thu, 28 Jan 2016 04:33:02 +0000 (20:33 -0800)]
Fix DateTimeFormat.FormatCustomized optimization bug
After reverting https://github.com/dotnet/coreclr/pull/2617, which resulted in backslash escapes being included incorrectly, replaces it with a simpler fix that avoids the same allocations and copies by simply passing in the overarching StringBuilder. The call sites throw away the StringBuilder if an exception occurs, so we can simply write to it directly rather than first writing to a temporary and then dumping that temporary into the overarching result.
stephentoub [Thu, 28 Jan 2016 04:13:01 +0000 (20:13 -0800)]
Revert "Remove StringBuilder allocation/usage from DateTimeFormat"
This reverts commit
3a8f9cb3c9412f896fd4be808564fe26afc54fc4.
Jan Kotas [Thu, 28 Jan 2016 00:05:21 +0000 (16:05 -0800)]
Merge pull request #2885 from dotnet-bot/from-tfs
Merge changes from TFS
William Godbe [Thu, 28 Jan 2016 00:05:08 +0000 (16:05 -0800)]
Merge pull request #2884 from wtgodbe/pathFix
This fixes the change that shortens path names of output Pri 1 tests in CI
sivarv [Wed, 27 Jan 2016 23:20:57 +0000 (15:20 -0800)]
Fix gc-hole while emitting CORINFO_HELP_ASSIGN_BYREF helper call.
This is a no-gc helper takes its parameters RSI and RDI and doesn't trash
them.
Emit.cpp!emitNoGCHelper() is used by emitter to compute the registers
that are trashed by a helper call to update gc-info state maintained by
emitter (see emitxarch.cpp!emitins_call()). emitNoGCHelper() on Windows
is modeled to return RBM_CALLEE_TRASH_NOGC (which is same as RBM_CALLEE_TRAHS)
and it happens to work fine because RSI and RDI are not part of
RBM_CALLEE_TRASH set. But on Unix Amd64, RSI and RDI are part of
RBM_CALLEE_TRASH and hence gets reported as killed by ASSIGN_BYREF
helper and hence the gc-hole.
Fix: exclude RSI and RDI in set of registers killed by ASSIGN_BYREF
helper.
Jan Kotas [Wed, 27 Jan 2016 23:19:38 +0000 (15:19 -0800)]
Merge pull request #2887 from stephentoub/license_headers
Update licensing headers
Stephen Toub [Wed, 27 Jan 2016 22:55:29 +0000 (14:55 -0800)]
Merge pull request #2883 from stephentoub/cts_size
Reduce size of CancellationCallbackInfo
dotnet-bot [Wed, 27 Jan 2016 19:41:24 +0000 (11:41 -0800)]
Update license headers
dotnet-bot [Wed, 27 Jan 2016 20:48:28 +0000 (12:48 -0800)]
Don't run finalizers on shutdown, provide Unloading event
API review: https://github.com/dotnet/corefx/issues/5205
This change implements the proposal in the API review above:
- Don't block threads for shutdown
- Don't run finalizers on shutdown (for both reachable and unreachable objects)
- Provide a public AssemblyLoadContext.Unloading event that can be handled to clean up global resources in an assembly
- As unloading an AssemblyLoadContext is not yet implemented, the event will for the time being be raised shortly prior to shutdown
[tfs-changeset: 1569451]
William Godbe [Wed, 27 Jan 2016 19:11:20 +0000 (11:11 -0800)]
This fixes the change that shortens path names of output Pri 1 tests in CI
stephentoub [Wed, 27 Jan 2016 18:41:27 +0000 (10:41 -0800)]
Reduce size of CancellationCallbackInfo
Each registration with a cancelable CancellationToken results in allocating a CancellationCallbackInfo instance to store the relevant state, e.g. the action to invoke, the associated CTS, etc. CancellationToken.Register has a little-known and very-little-used feature that enables the callback to be automatically sent to a captured SynchronizationContext, and as such the CancellationCallbackInfo has a field to store the SynchronizationContext, too. But this field is almost always null.
This change reduces the size of CancellationCallbackInfo from 56 to 48 bytes on 64-bit by moving the TargetSynchronizationContext field to a derived type. The derived instance with the extra field is only allocated when there is a SynchronizationContext captured.
Jan Vorlicek [Wed, 27 Jan 2016 16:08:40 +0000 (17:08 +0100)]
Fix missing format specifier in Utilities.py
The Utilities.py script was missing the `%s` format specifier in
one of the prints and it was causing a build failure for me.
Jan Vorlicek [Wed, 27 Jan 2016 15:11:19 +0000 (16:11 +0100)]
Merge pull request #2879 from janvorli/fix-exception-in-prestub-using-holder-pass1
Fix exception in PreStubWorker call chain - update
Jan Vorlicek [Wed, 27 Jan 2016 11:20:38 +0000 (12:20 +0100)]
Fix exception in PreStubWorker call chain - update
This change fixes one case that the previous fix was missing. This is a case when
the exception in the PreStubWorker call chain is thrown by native code, for example
during jitting the target managed method. In this case, the DispatchManagedException
is called in the first pass, so we need to do the same change as in the previous
fix for the first pass as well.
Since we now have the first managed frame context available in the
DispatchManagedException for the first pass too, I have modified the
UnwindManagedExceptionPass1 to get it as a parameter so that it doesn't
need to do the unwinding to that frame again.
Lubomir Litchev [Wed, 27 Jan 2016 08:13:23 +0000 (00:13 -0800)]
Merge pull request #2866 from LLITCHEV/x86-assert-fix
Disable initialization of _lvArgReg and _lvOtherArgReg on x86.
Jan Kotas [Wed, 27 Jan 2016 04:21:18 +0000 (20:21 -0800)]
Merge pull request #2864 from richlander/rich-header
Update copyright and file header guidance for .NET Core
Richard Lander [Sun, 24 Jan 2016 00:44:25 +0000 (16:44 -0800)]
Update copyright for .NET Core and update file header guidance
Lubomir Litchev [Wed, 27 Jan 2016 01:42:40 +0000 (17:42 -0800)]
Fix a bug in fgExtendDbgLifetimes for testing lvArgReg instead of
lvIsRegArg.
The code for extending lifetime of lclvar was looking at lvArgReg instead
of lvIsRegArg member of LclVarDesc.
Gaurav Khanna [Wed, 27 Jan 2016 00:34:17 +0000 (16:34 -0800)]
Merge pull request #2871 from gkhanna79/FixBadAssert
Remove Invalid assert
William Godbe [Wed, 27 Jan 2016 00:30:54 +0000 (16:30 -0800)]
Merge pull request #2869 from wtgodbe/pathName
Shorten path names of test binaries in the CI to avoid file names longer than 260 chars
Gaurav Khanna [Tue, 26 Jan 2016 23:57:47 +0000 (15:57 -0800)]
Remove Invalid assert
William Godbe [Tue, 26 Jan 2016 23:05:07 +0000 (15:05 -0800)]
Shorten path names of test binaries in the CI to avoid file names longer than 260 chars
Brian Sullivan [Tue, 26 Jan 2016 21:49:28 +0000 (13:49 -0800)]
Merge pull request #2857 from briansull/fix_issue_2823
Change to disallow the generation of "locked" instructions for non-x86/x64 targets
Andy Ayers [Tue, 26 Jan 2016 21:26:20 +0000 (13:26 -0800)]
Merge pull request #2851 from AndyAyersMS/FixDeltaBlue
Modify deltablue to avoid gratuitous exception at runtime
Brian Sullivan [Tue, 26 Jan 2016 00:29:21 +0000 (16:29 -0800)]
Change to disallow the generation of "locked" instruction for non-x86/x64 targets
Updated Tests.lst with 79 tests that now pass after this fix
Newly passing tests are also marked with the ISSUE_2823 tag
Updated Test.lst with additional REL_PASS tests
Mike McLaughlin [Tue, 26 Jan 2016 19:19:28 +0000 (11:19 -0800)]
Merge pull request #2821 from mikem8361/osxbpfix
Fix OSX bps for PC-relative instructions.
Andy Ayers [Mon, 25 Jan 2016 22:25:17 +0000 (14:25 -0800)]
Modify deltablue to avoid gratuitous exception at runtime
Steve Harter [Tue, 26 Jan 2016 17:27:36 +0000 (11:27 -0600)]
Merge pull request #2815 from steveharter/FixSanitizerClrStartup
Clang sanitizer fixes to remove incorrect function type 'void *(*)()'
Jan Kotas [Tue, 26 Jan 2016 17:09:48 +0000 (09:09 -0800)]
Merge pull request #2863 from janvorli/fix-exception-in-prestub-using-holder
Fix exception exiting the PreStubWorker
Jan Kotas [Tue, 26 Jan 2016 16:55:09 +0000 (08:55 -0800)]
Merge pull request #2859 from jkotas/gc-update
Update GC from CoreRT
Eric Erhardt [Tue, 26 Jan 2016 16:41:02 +0000 (10:41 -0600)]
Merge pull request #2846 from eerhardt/Fix5469
TimeZoneInfo behaves differently before and after calling GetSystemTimeZones on Unix
Jan Vorlicek [Tue, 26 Jan 2016 01:48:37 +0000 (02:48 +0100)]
Fix exception in PreStubWorker
This change fixes a problem when exception happens in managed code called from
the PreStubWorker and the PreStubWorker (resp. its caller, ThePreStub) was called
from native code.
The issue was that the INSTALL_MANAGED_EXCEPTION_DISPATCHER calls DispatchManagedException
and that function expected that the INSTALL_MANAGED_EXCEPTION_DISPATCHER was always
at the boundary between managed and native frames and so it skipped the native frames
upto the first managed frame.
The PreStubWorker is the only case where this is not always true and so the native frames
need to be unwound by rethrowing the C++ exception when the PreStubWorker was called from
native code.
Mike McLaughlin [Fri, 15 Jan 2016 21:57:47 +0000 (13:57 -0800)]
Fix OSX bps for PC-relative instructions.
Changed the mach exception handling to always hijack/send the exception back to the faulting
thread. Once running back in the faulting thread in PAL_DispatchException if the VM/debugger
code/hardware exception catching doesn't want this exception the exception message is forwarded
to the next exception port if one. Otherwise the process is aborted.
If the exception is forwarded, the faulting thread just busy waits until it gets hijacked
again by the next PAL exception thread in the system.
The exception message is always sent success as a reply after after the faulting thread is
hijacked. All the reply forwarding logic has been removed. This means we assume that OSX
default action for the unhandled exception is to abort the process. We don't reply with
KERN_FAILURE like before when the exception is unhandled. This also means that any third
party code hooking exception ports at the task or host level are not sent the exception
message.
The exception message is now also passed to PAL_DispatchException along with the ExceptionRecord
and Context so it can be used to forward the message if the VM doesn't want it (via a new function
called ForwardMachException).
Removed creating the reply port MachMessage::ForwardNotification and handle/ignore replies
in worker thread.
The original hijack logic queried the faulting thread's current state to build the thread CONTEXT
and the ExceptionRecord. Because the faulting thread runs now and forwards the exception notification
in its context, the hijack logic needs to use the thread state from the message to build the thread
CONTEXT. Refactored CONTEXT_GetThreadContextFromThreadState out of CONTEXT_GetThreadContextFromPort
as a part of this. Also needed to deal with x86_THREAD_STATE thread state flavor (which can be either
32 or 64 bit) instead of the x86_THREAD_STATE32/x86_THREAD_STATE64 explicitly used to get the thread
state in the original code.
Removed the code in ExceptionRecordFromMessage (formerly known as exception_from_trap_code) to
explicitly get the fault address from the thread instead of using the extra "code" in the exception
message to fill in the ExceptionInformation[1] field for access violations. Getting the faulting
address from the thread port doesn't work if the exception was forwarded and the "code" in the
exception message is accurate.
Since ICLRRuntimeHost2::RegisterMacEHPort() isn't implemented or used anymore and to simplify
the MAC exception code, removed s_TopExceptionPort and the top/bottom exception port logic.
Removed the s_ExceptionPortSet and just use s_ExceptionPort directly because we no longer
wait to receive messages from the reply port when forwarding the exception.
General cleanup. Renaming functions not to have underscores and locals not have the first letter
capitalized.
renamed:
catch_exception_raise -> HijackFaultingThread
exception_from_trap_code -> ExceptionRecordFromMessage
removed:
malloc_zone_t *s_pExecutableHeap
struct ForwardedNotification
PROCThreadFromMachPort(mach_port_t hTargetThread)
IsWithinCoreCLR(void *pAddr)
all the malloc_zone utilities in machexception.cpp
IsHandledException(MachMessage *pNotification, CorUnix::CPalThread *pThread)
Jan Kotas [Tue, 26 Jan 2016 02:55:32 +0000 (18:55 -0800)]
Update GC from CoreRT
https://github.com/dotnet/corert/tree/master/src/Native/gc
0dcc350dae128b6fcca6b1ed74b580ed3240460a
Jan Kotas [Tue, 26 Jan 2016 08:07:20 +0000 (00:07 -0800)]
Merge pull request #2825 from bbowyersmyth/StringStartsWithPt2
String.StartsWith performance - OrdinalCompareSubstring
Jan Kotas [Tue, 26 Jan 2016 07:18:46 +0000 (23:18 -0800)]
Merge pull request #2853 from gkhanna79/Fix2850
Ensure TPA Binder initialized Managed ALC field to NULL.
Bruce Bowyer-Smyth [Tue, 26 Jan 2016 05:26:38 +0000 (15:26 +1000)]
String.StartsWith performance - StartsWithOrdinalHelper
Aditya Mandaleeka [Tue, 26 Jan 2016 01:03:30 +0000 (17:03 -0800)]
Merge pull request #2855 from adityamandaleeka/fixDasmAssert
Move assert under COREDISTOOLS ifdef.
Jan Kotas [Mon, 25 Jan 2016 23:31:20 +0000 (15:31 -0800)]
Merge pull request #2852 from adiaaida/updateContract
Change isDelegateCall to be LIMITED_METHOD_CONTRACT
Aditya Mandaleeka [Mon, 25 Jan 2016 23:24:47 +0000 (15:24 -0800)]
Move assert under COREDISTOOLS ifdef.
Brian Sullivan [Mon, 25 Jan 2016 23:17:09 +0000 (15:17 -0800)]
Labeled the ARM64 dbg test failures due to issue 2849
Gaurav Khanna (CLR) [Mon, 25 Jan 2016 22:31:55 +0000 (14:31 -0800)]
Ensure TPA Binder initialized Managed ALC field to NULL
Michelle McDaniel [Mon, 25 Jan 2016 22:27:04 +0000 (14:27 -0800)]
Change isDelegateCall to be LIMITED_METHOD_CONTRACT
WRAPPER_NO_CONTRACT on isDelegateCall causes static contract analyzer to fail. Change to LIMITED_METHOD_CONTRACT to fix this issue.
Andy Ayers [Mon, 25 Jan 2016 21:44:04 +0000 (13:44 -0800)]
Merge pull request #2845 from AndyAyersMS/DisableCscBenchOffWindows
Disable running CscBench off windows
Brian Sullivan [Mon, 25 Jan 2016 21:32:28 +0000 (13:32 -0800)]
Merge pull request #2819 from briansull/lvOtherArgReg
Fix issues on ARM64 with lvOtherArgReg being initialized to REG_STK
Eric Erhardt [Mon, 25 Jan 2016 20:45:16 +0000 (14:45 -0600)]
TimeZoneInfo behaves differently before and after calling GetSystemTimeZones on Unix
Once GetSystemTimeZones() is called, TimeZoneInfo assumes it has all of the time zones from the local machine, and doesn't try going back to the local machine in FindSystemTimeZoneById. On Unix, we get all system time zones from the zones.tab file and each individual time zone comes from a tzfile with the "ID" as the file name. There are some tzfiles that aren't in the zones.tab file. This means if you call FindSystemTimeZoneById before calling GetSystemTimeZones(), it will be successful since we check the file system. But after you call GetSystemTimeZones(), a TimeZoneNotFoundException is thrown.
In order to solve this, on Unix we always check the local machine for FindSystemTimeZoneById before throwing a TimeZoneNotFoundException, no matter if GetSystemTimeZones() was called already or not.
Fix https://github.com/dotnet/corefx/issues/5469
Jan Vorlicek [Mon, 25 Jan 2016 20:31:48 +0000 (21:31 +0100)]
Merge pull request #2807 from kangaroo/seh-unwind-context-fix
Fix PAL_VirtualUnwindOutOfProc for the case where unw_context is not …
Steve Harter [Fri, 22 Jan 2016 22:57:00 +0000 (16:57 -0600)]
Clang sanitizer fixes to remove incorrect function type 'void *(*)()'
Jan Kotas [Mon, 25 Jan 2016 19:35:54 +0000 (11:35 -0800)]
Merge pull request #2832 from Priya91/includefiles
Add identity.cpp to build.
William Godbe [Mon, 25 Jan 2016 18:52:33 +0000 (10:52 -0800)]
Merge pull request #2811 from wtgodbe/groovy
Fixed build and test of rc2 branch in CI
Andy Ayers [Mon, 25 Jan 2016 18:39:15 +0000 (10:39 -0800)]
Disable running CscBench off windows
Disable this test when running off Windows for now, while we're getting to the root cause of #2728.
William Godbe [Fri, 22 Jan 2016 20:04:34 +0000 (12:04 -0800)]
Fixed build and test of rc2 branch in CI
Sejong Oh [Mon, 25 Jan 2016 17:15:15 +0000 (09:15 -0800)]
Merge pull request #2814 from sejongoh/add_jit_stress_modes
Add jit stress modes to netci.groovy
Jan Kotas [Mon, 25 Jan 2016 17:06:42 +0000 (09:06 -0800)]
Merge pull request #2843 from hughbe/bitconverter-comments
Remove irrelevant endianness comment, fix #834
Hugh Bellamy [Mon, 25 Jan 2016 16:27:13 +0000 (16:27 +0000)]
Remove irrelevant endianness comment, fix #834
Fixes #834 (see the issue for the rationale)
Rama krishnan Raghupathy [Mon, 25 Jan 2016 11:00:17 +0000 (03:00 -0800)]
Merge pull request #2828 from juergenhoetzel/python3_fixes
Fix Python 3 issue in LTTNG generating code script
Juergen Hoetzel [Sat, 23 Jan 2016 17:30:00 +0000 (18:30 +0100)]
Fix Python 3 issue in LTTNG generating code script
In Python 3 the print statement has become a function.
Enforce Python 3 style by by using __future__ module.
Lakshmi Priya Sekar [Sun, 24 Jan 2016 22:50:28 +0000 (14:50 -0800)]
Fix build breaks and ensure GetComputerNameW is included in mscorlib.
Jan Kotas [Mon, 25 Jan 2016 05:43:55 +0000 (21:43 -0800)]
Merge pull request #2838 from dotnet/revert-2817-CoreRTPInvoke
Revert "Generate P/Invoke transitions for CoreRT."
Jan Kotas [Mon, 25 Jan 2016 05:43:42 +0000 (21:43 -0800)]
Revert "Generate P/Invoke transitions for CoreRT."
Sejong Oh [Fri, 22 Jan 2016 21:09:00 +0000 (13:09 -0800)]
Add JIT stress modes to netci.groovy
Fixed the environment variable names for JIT stress modes
Kyungwoo Lee [Mon, 25 Jan 2016 03:19:55 +0000 (19:19 -0800)]
Merge pull request #2817 from pgavlin/CoreRTPInvoke
Jan Kotas [Sun, 24 Jan 2016 23:39:49 +0000 (15:39 -0800)]
Merge pull request #2837 from akarpov89/fix-typo
Fix typo
Andrew Karpov [Sun, 24 Jan 2016 22:55:33 +0000 (01:55 +0300)]
Fix typo
Replace "childre" with "children"
Jan Kotas [Sun, 24 Jan 2016 16:51:07 +0000 (08:51 -0800)]
Merge pull request #2833 from stephentoub/convertto
Improve inlining of Convert.To* methods
Lakshmi Priya Sekar [Sun, 24 Jan 2016 09:15:18 +0000 (01:15 -0800)]
Add identity.cpp to build.
Jan Kotas [Sun, 24 Jan 2016 02:50:48 +0000 (18:50 -0800)]
Merge pull request #2829 from krytarowski/netbsd-support-11
Add new IMAGE_FILE_MACHINE_NATIVE_OS_OVERRIDE type for NetBSD
Pat Gavlin [Sun, 24 Jan 2016 01:17:47 +0000 (17:17 -0800)]
Address code review feedback.
Matt Ellis [Sat, 23 Jan 2016 22:48:03 +0000 (14:48 -0800)]
Merge pull request #2745 from ellismg/disable-finalizer-test
Disable flaky test against 2744
Kamil Rytarowski [Sat, 23 Jan 2016 22:30:40 +0000 (23:30 +0100)]
Add new IMAGE_FILE_MACHINE_NATIVE_OS_OVERRIDE type for NetBSD
Random number selected for NetBSD is 0x1993.
1993 is the year of founding the project.
Closes #2805 "What's the Platform ID for NetBSD?" by myself.
Kamil Rytarowski [Sat, 23 Jan 2016 22:26:11 +0000 (23:26 +0100)]
Sort IMAGE_FILE_MACHINE_NATIVE_OS_OVERRIDE by OS
Andy Ayers [Sat, 23 Jan 2016 21:56:25 +0000 (13:56 -0800)]
Merge pull request #2614 from AndyAyersMS/Bytemark
Add the bytemark benchmarks
Matt Ellis [Wed, 20 Jan 2016 07:18:42 +0000 (23:18 -0800)]
Disable flaky test against #2744
stephentoub [Sat, 23 Jan 2016 14:55:01 +0000 (09:55 -0500)]
Improve perf of Convert.To* methods
Many of these methods are just casts with an up-front out-of-bounds check to throw an exception it an overflow occurs. Those checks, and specifically the throw statement that follows is causing many of these methods to be non-inlineable. A microbenchmark shows that factoring out these statements increases throughput by as much as 6x. Some of these were previously showing up as measurable contributions to CPU time in a real-world app being profiled.