summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2016-01-24Revert "Generate P/Invoke transitions for CoreRT."Jan Kotas16-272/+159
2016-01-24Merge pull request #2817 from pgavlin/CoreRTPInvokeKyungwoo Lee16-159/+272
2016-01-25Fix typoAndrew Karpov1-1/+1
Replace "childre" with "children"
2016-01-24Merge pull request #2833 from stephentoub/converttoJan Kotas1-51/+78
Improve inlining of Convert.To* methods
2016-01-23Address code review feedback.Pat Gavlin14-110/+84
2016-01-23Add new IMAGE_FILE_MACHINE_NATIVE_OS_OVERRIDE type for NetBSDKamil Rytarowski1-0/+2
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.
2016-01-23Sort IMAGE_FILE_MACHINE_NATIVE_OS_OVERRIDE by OSKamil Rytarowski1-3/+3
2016-01-23Improve perf of Convert.To* methodsstephentoub1-51/+78
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.
2016-01-23Merge pull request #2797 from krytarowski/netbsd-support-6Jan Kotas1-11/+27
NetBSD: Define PAL_CS_NATIVE_DATA_SIZE for few NetBSD platforms
2016-01-23Merge pull request #2800 from krytarowski/netbsd-support-8Jan Kotas1-1/+1
NetBSD: CHAR_BIT as defined by POSIX in limits.h
2016-01-23Merge pull request #2795 from Dmitry-Me/fixInterlockedDecrementRaceJan Kotas1-3/+3
Non-interlocked read of variable after InterlockedDecrement() causes a race
2016-01-23Merge pull request #2802 from krytarowski/netbsd-support-9Jan Kotas4-12/+12
NetBSD: Don't link with -ldl for dlopen(3) on NetBSD
2016-01-22Merge pull request #2799 from krytarowski/netbsd-support-7Jan Kotas1-0/+2
NetBSD: Detect copysign(3) properly on NetBSD inside the math library
2016-01-22Merge pull request #2804 from krytarowski/netbsd-support-10Jan Kotas1-2/+2
NetBSD: Add a kludge to disable unimplemented SEHEnable()/Disable()
2016-01-22Merge pull request #2808 from erozenfeld/ValueNumberingFixEugene Rozenfeld2-10/+104
Fix a bug in JIT value numbering.
2016-01-22Merge pull request #2779 from swgillespie/event_tracingSean Gillespie2-25/+69
Untangle FEATURE_EVENT_TRACE and GC_PROFILING for coreclr
2016-01-22Generate P/Invoke transitions for CoreRT.Pat Gavlin10-113/+252
This change adds support for CoreRT-style P/Invoke transitions to RyuJIT. Instead of the usual inlined transition code, these transitions are made up of calls to two new JIT helpers: PInvokeTransitionFrame frame; // opaque local CORINFO_HELP_INIT_PINVOKE_FRAME(&frame); ... CORINFO_HELP_JIT_PINVOKE_BEGIN(&frame); target(...); CORINFO_HELP_JIT_PINVOKE_END(&frame); ... The preemptive mode constraints apply between calls to JIT_PINVOKE_BEGIN and JIT_PINVOKE_END: no managed references may be live only in registers and managed references may not be manipulated.
2016-01-22Use coreclr buildtools nuget package instead of compiling the tools used ↵Rahul Kumar6-37/+40
during build. This only applies to windows build.
2016-01-23Merge pull request #2806 from janvorli/fix-stack-limit-checkJan Vorlicek1-0/+2
Fix missing setting of ScanContext::stack_limit
2016-01-22Fix a bug in JIT value numbering.Eugene Rozenfeld2-10/+104
This is a fix for a silent bad codegen bug in value numbering. The value numbering algorithm tries to check whether heap PHI arguments evaluate to the same value for the given query. In doing so, it may encounter PHIs that recursively depend on each other (this corresponds to cycles in control flow graph). A special value RecursiveVN is returned in such cases. The algorithm uses the following rule: if some PHI arguments evaluate to RecursiveVN but all others evaluate to the same value that's not RecursiveVN, then that value can be used as the result. Furthermore, in order to avoid exponential searches in case of many PHI's the results of all PHI evaluations are memoized. The bug was that if RecursiveVN was used to get the result, it can't always be memoized. In particular, if the loop causing recursive PHIs is a multi-entry loop, intermediate PHI results shouldn't be memoized. The fix is conservative in that it always disables memoization if RecursiveVN was involved. Note that we also have another mechanism (budget) to mitigate expensive PHI evaluations. There were no diffs in SuperPMI and no measurable throughput impact. I added a test with a simplified repro. The original bug had code with yield return. I also fixed some formatting and added several function headers.
2016-01-22NetBSD: Add a kludge to disable unimplemented SEHEnable()/Disable()Kamil Rytarowski1-2/+2
2016-01-22Fix missing setting of ScanContext::stack_limitJan Vorlicek1-0/+2
There is a code path executed when the GCStress is on and that was missing setting the stack_limit value that the PromoteCarefully uses to detect objects on the stack.
2016-01-22NetBSD: Don't link with -ldl for dlopen(3) on NetBSDKamil Rytarowski4-12/+12
NAME dlopen, dlclose, dlsym, dlvsym, dladdr, dlctl, dlerror - dynamic link interface LIBRARY (These functions are not in a library. They are included in every dynamically linked program automatically.) SYNOPSIS #include <dlfcn.h> void * dlopen(const char *path, int mode);
2016-01-22NetBSD: CHAR_BIT as defined by POSIX in limits.hKamil Rytarowski1-1/+1
Reference: limits.h - implementation-defined constants Numerical Limits {CHAR_BIT} Number of bits in a type char. --- http://pubs.opengroup.org/onlinepubs/009695399/basedefs/limits.h.html There is no such file as sys/limits.h in NetBSD.
2016-01-22NetBSD: Detect copysign(3) properly on NetBSD inside the math libraryKamil Rytarowski1-0/+2
The copysing(3) function is a part of the libm library on NetBSD. This is also true for other POSIX platforms. NAME copysign, copysignf, copysignl - functions to manipulate signs LIBRARY Math Library (libm, -lm) SYNOPSIS #include <math.h> double copysign(double x, double y); float copysignf(float x, float y); long double copysignl(long double x, long double y); STANDARDS The described functions conform to ISO/IEC 9899:1999 (``ISO C99'').
2016-01-22Add a comment from where comes the PAL_CS_NATIVE_DATA_SIZE valueKamil Rytarowski1-0/+2
2016-01-22NetBSD: Define PAL_CS_NATIVE_DATA_SIZE for few NetBSD platformsKamil Rytarowski1-0/+14
Set PAL_CS_NATIVE_DATA_SIZE for: - amd64 (x86_64), - earm, - hppa, - i386, - mips, - sparc (32bit), - sparc64.
2016-01-22Sort the definitions of PAL_CS_NATIVE_DATA_SIZE by platforms and archsKamil Rytarowski1-11/+11
2016-01-22Non-interlocked read of variable after InterlockedDecrement() causes a raceDmitry-Me1-3/+3
2016-01-22Merge pull request #2794 from dotnet-bot/from-tfsJan Kotas5-13/+17
Merge changes from TFS
2016-01-21Merge pull request #2772 from ramarag/fixincrementabuildJan Kotas79-242/+287
Fix incremental build
2016-01-21Untangle FEATURE_EVENT_TRACE and GC_PROFILING to enable one to be enabledSean Gillespie2-25/+69
without the other Fix the Ubuntu build by ensuring that HeapWalkHelper is defined when the rest of the heap walking mechanisms are defined +feedback from jkotas and address missing symbols on Ubuntu
2016-01-21Fix x86chk coresys buildAditya Mandaleeka1-1/+1
[tfs-changeset: 1567626]
2016-01-21Fix ProjectK build breaks related to GC Stress change.Aditya Mandaleeka5-12/+16
[tfs-changeset: 1567550]
2016-01-21Merge pull request #2784 from krytarowski/netbsd-support-5Jan Kotas2-18/+18
NetBSD: Add new target in src/pal/src/configure.cmake for NetBSD
2016-01-21Merge pull request #2696 from gkhanna79/AssemblyResolveGaurav Khanna9-21/+85
AssemblyResolve support
2016-01-22Retire unused Asian LOCALE_NAMEKamil Rytarowski2-19/+0
Removed variants: - JA_JP_LOCALE_NAME, - KO_KR_LOCALE_NAME, - ZH_TW_LOCALE_NAME.
2016-01-21Merge pull request #2782 from krytarowski/netbsd-support-4Jan Kotas1-0/+2
NetBSD: Set proper shortAsciiName for NetBSD's libc
2016-01-21Merge pull request #2732 from steveharter/FixSanitizerClrStartupSteve Harter4-15/+24
Reduce clr startup noise when using Clang sanitizers
2016-01-21Generating Event Logging Headers From CMake for LinuxDDCloud7-161/+186
Conflicts: build.sh
2016-01-21FIx the incremental build for WindowsJan Vorlicek74-97/+117
Conflicts: build.cmd src/dlls/clretwrc/CMakeLists.txt Cleanup
2016-01-21Merge pull request #2777 from dotnet-bot/from-tfsMatt Ellis1-0/+0
Merge changes from TFS
2016-01-21Reduce clr startup noise when using Clang sanitizersSteve Harter4-15/+24
2016-01-21NetBSD: Add new target in src/pal/src/configure.cmake for NetBSDKamil Rytarowski1-2/+21
This code is based on FreeBSD, with the following differences: - At the moment there is no libunwind for NetBSD. - The is no need for libc.so magic like in GNU, neither on FreeBSD someone wrongly assumed it there. - ptrace(2) uses (void*) instead of (caddr_t)
2016-01-21NetBSD: Set proper shortAsciiName for NetBSD's libcKamil Rytarowski1-0/+2
There is no need for the LIBC_SO-like solution on NetBSD.
2016-01-21Use output redirection in BuildRyuJitPackage.Pat Gavlin1-1/+3
Command capture was producing unexpected results on the build machines.
2016-01-21Merge pull request #2776 from janvorli/fix-projectk-buildJan Vorlicek2-0/+2
Fix missing disassembler.cpp in .targets files
2016-01-21Update Unicode data to 8.0Tarek Mahmoud Sayed1-0/+0
This a change porting that is done on the desktop. in addition updating some tests The change is to update the Unicode characters data from v6.3 to v8 (support 2 releases after 6.3). the change is purely a data change and there is no product code changes. [tfs-changeset: 1567358]
2016-01-21Fix missing disassembler.cpp in .targets filesJan Vorlicek2-0/+2
This change adds missing disassembler.cpp to wks.targets and dacwks.targets files.
2016-01-21Add support for AssemblyResolution when an assembly is not found in a given ↵Gaurav Khanna (CLR)9-21/+85
Load Context. 1) Expose AssemblyResolve event off AssemblyLoadContext 2) Invoke the event if the abstract Load implementation does not return an assembly.