summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-09-14Fix crossgen memory mappings (#13972)Jan Vorlicek3-2/+16
This change removes executable memory mappings from crossgen. Now it can be run on systems with PAX set to prevent executable mappings without any marking using the paxctl.
2017-09-14Merge pull request #13954 from jashook/disable_arm_testsJarret Shook1-2/+2
Disable tests based on 13952
2017-09-14[ARM64/Windows] Corrected the address used to push fp,lr in JIT_Stelem_RefPankaj Gode1-2/+2
2017-09-14The !heapstat sos command emits difficult to read output as the "Percentage" ↵tvass831-8/+8
column is not aligned properly (#13856)
2017-09-14Update PgoData to master-20170914-0028dotnet-maestro-bot1-2/+2
2017-09-13JIT: mark part of runtime lookup tree as nonfaulting and invariant (#13953)Andy Ayers1-1/+3
An indir in the runtime lookup sequence wasn't marked as nonfaulting so dead context trees could not be entirely cleaned up. Also added invariant since this particular lookup sequence will always return the same result.
2017-09-13Merge pull request #13934 from dotnet-maestro-bot/master-UpdateDependenciesStephen Toub2-6/+6
Update BuildTools, CoreClr, PgoData to prerelease-02014-02, preview1-25714-01, master-20170913-0045, respectively (master)
2017-09-13Delete JitHelpers.UnsafeCastJan Kotas3-37/+2
2017-09-13Replace JitHelpers.UnsafeCast with Unsafe.AsJan Kotas23-114/+114
Both methods to the same, but the latter one is the offficial public name for the functionality
2017-09-13Undo more JIT layout workarounds (#13961)Joseph Tremoulet1-25/+19
Remove some `goto`s that were added to work around undesirable jit layout (#9692, fixed in #13314) and epilog factoring (improved in #13792 and #13903), which are no longer needed. Resolves #13466.
2017-09-13Merge pull request #13957 from JosephTremoulet/LoopNestFixJoseph Tremoulet4-6/+122
Renumber blocks before computing loop nest
2017-09-13Call the fast generic impl from the non-generic one where possibleJan Kotas1-10/+3
2017-09-13Make Array.Reverse fasterJan Kotas1-3/+4
Array.Reverse showed up as hot method in profiles of real workloads (e.g. it is called from Json.NET frequently via List.Reverse)
2017-09-13Enable end to end Alpine build (#13966)Jan Vorlicek3-5/+18
This change enables full end to end build of coreclr including managed code on Alpine Linux.
2017-09-13Merge pull request #13967 from dotnet-bot/from-tfsBrian Sullivan0-0/+0
Merge changes from TFS
2017-09-13Update BuildTools, CoreClr, PgoData to prerelease-02014-02, ↵dotnet-maestro-bot2-6/+6
preview1-25714-01, master-20170913-0045, respectively
2017-09-13Merge pull request #13626 from mikedn/test-btCarol Eidt9-1/+258
Lower TEST(x, LSH(1, y)) to BT(x, y)
2017-09-13Fix potentially unused variable in lb armBrian Sullivan1-1/+1
[tfs-changeset: 1674030]
2017-09-13Allow a RET_EXPR as a BYREF operand for SIMD intrinsics.Carol Eidt3-1/+195
Fix #13568
2017-09-13Eliminate double delete in EventPipeProvider cleanup (#13833)Victor "Nate" Graf1-8/+3
* Eliminate double delete in EventProvider cleanup * Fix access after deletion error * Simplify control flow
2017-09-13Renumber blocks before computing loop nestJoseph Tremoulet4-6/+122
The loop nest computation expects to be able to test block numbers for lexical inclusion, so do a renumbering pass first if blocks have been moved. Fixes #13919.
2017-09-13Fix setting PAX options for crossgen (#13950)Jan Vorlicek2-28/+2
In my previous PR that added marking executables with paxctl, I've made a mistake in the order of calling _add_library and add_dependencies. But that was hidden due to the fact that we have yet another copy of the add_library_clr and add_executable_clr functions in src/CMakeLists.txt. I have no idea how that happened. This one has overriden the other, which has hidden the problem, but also caused the crossgen to not to be modified by the paxctl. So I am fixing the order and removing the extra definitions of those functions.
2017-09-13Disable tests based on 13952jashook1-2/+2
2017-09-13Merge pull request #13943 from jashook/fix_lb_build_breakJarret Shook1-1/+1
Fix potentially unused variable in lb arm
2017-09-13Fix ARM build break (#13932)Jan Kotas1-1/+1
2017-09-13[ARM] Fix SetDebuggerREGDISPLAYFromREGDISPLAY() functionIgor Kulaychuk1-1/+8
Use the same logic as in AMD64 code: when setting DebuggerREGDISPLAY from the context, the context flags might not be initialized. Since it is only called from stackwalker, we can copy valid integer, control, and floating point sections from the context.
2017-09-13Fix potentially unused variable in lb armjashook1-1/+1
2017-09-13Disable PAX mprotect for native executables (#13940)Jan Vorlicek2-18/+26
This change adds marking native executables that coreclr build produces (corerun, coreconsole, crossgen, ilasm, ildasm, crashdump) to using the paxctl tool to allow them running on systems with PAX configured so that creating executable memory mappings by applications is prohibited.
2017-09-13Fix AV in corerun on invalid filenameJan Kotas1-1/+1
Before this fix, corerun would AV on certain invalid paths e.g.: corerun test.exe\
2017-09-13Mark Span.Length as non-versionableJan Kotas3-9/+42
This allows inlining Span.Length accross versioning boundaries in R2R images. We are leaking the Span implementation details already because the Span indexer is treated as intrinsic. Marking a few more trivial methods as non-versionable should not do any future harm.
2017-09-13Merge pull request #13806 from hqueue/arm/ryujit/issue_13739_jitstress_NYI_addrCarol Eidt2-35/+11
[RyuJIT/ARM32] Add ADDR and fixup return type correctly
2017-09-13Fix Hebrew date parsing (#13929)Tarek Mahmoud Sayed1-0/+17
This fix when parsing Hevrew dat e string formatted as dd/MM/yy. we didn't encounter the same on Windows before because default short date pattern on Windows is dd MMM yyyy which we can parse it successfully.
2017-09-13Lower TEST(x, LSH(1, y)) to BT(x, y)Mike Danes3-0/+193
2017-09-13Add GT_BTMike Danes4-1/+34
2017-09-13Add INS_btMike Danes2-0/+31
2017-09-13Merge pull request #13903 from JosephTremoulet/PlaceReturnsJoseph Tremoulet2-4/+158
Improve const return block placement
2017-09-13Merge pull request #13835 from sdmaclea/PR-ARM64-GT_MULHIJoseph Tremoulet2-40/+31
[Arm64] Add GT_MULHI
2017-09-13Merge pull request #13799 from sdmaclea/PR-ARM64-Transform-AND-CMPJoseph Tremoulet7-6/+35
[Arm64] Transform AND-CMP to TST
2017-09-13Introduce FEATURE_GDBJIT_SYMTAB (#13567)Konstantin Baladurin3-12/+115
* Introduce FEATURE_GDBJIT_SYMTAB This commit adds new feature FEATURE_GDBJIT_SYMTAB. When it's set ELF file with symtab section will be generated for all JITed methods. It helps lldb and gdb correctly unwind frames of JITed methods as they can use assembly language inspection to determine location of saved registers on stack. * gdbjit symtab feature: use different symbols for each function in JITed code
2017-09-13Change how numProc is derived on Linux (#13909)Jarret Shook2-2/+6
Before the decision for numProcs to run in parallel for runtests.sh was based on _NPROCESSORS_ONLN which harware which attempts to save power (eg arm(64)) this number may be < numProcs.
2017-09-12Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02012-02, ↵dotnet-maestro-bot2-9/+9
preview1-25713-01, preview1-25712-02, master-20170912-0038, respectively (#13928)
2017-09-12Re-implemented the ecvt function. (#12894)Jim Ma14-346/+1088
* Re-implemented the ecvt function. Instead of leveraging snprintf, re-implement the ecvt function according to the paper: https://www.cs.indiana.edu/~dyb/pubs/FP-Printing-PLDI96.pdf Note: 1. This commit won't fix any existing bug. 2. This is a raw implementation of the paper. The performance on Linux only gain 10%. We could tune the performance further. Fix #10651 * Resolve a cross platform header file issue. Fix #10651 * Fixed a minor bug. Improved the performance. Fix #10651 * Modified code according to code review feedback. This commit fixed most of the issue found in code review. However, some of the feedback may not be involved due to either little performance improvement or need a POC. Fix #10651 * Try to fix constexpr compile error on Windows. Fix #10651 * Fixed a potential overflow bug in BigNum::Compare. Fix #10651 * Improved multiply 10 operation. Use shift and add operation to replace actual multiply operation. Fix #10651 * Remove old _ecvt function. Fix #10651 * Documented the reason why we do not need m+ and m-. Fix #10651 * Changed exp > 0 to exp != 0 to remove any confusion. exp should fall in 1 ~ 2046 for normalized value. Denormalized value has exp = 0. Fix #10651 * Disable the _ecvt tests. Fix #10651 * Removed _ecvt tests. Fix #10651 * Re-implemented LogBase2. Fix #10651 * Use DWORD and DWORD64 for _BitScanReverse and _BitScanReverse64 Fix #10651 * Fixed x86 compile issue for _BitScanReverse64 x86 does not support _BitScanReverse64 so we have to add additional shift operations to handle it. Fix #10651 * Implemented BitScanReverse64 and BitScanReverse in pal.h Fix #10651 * Remove the confusion comment which is unrelated to BitScanReverse. Fix #10651 * Introduced wmemset to enhance the perf for 0.0 Fix #10651 * Improved the performance of converting 0.0. Fix #10651 * Renamed ecvt to DoubleToNumberWorker. Fix #10651 * Updated code according to the code review feedback. Fix #10651
2017-09-12Update the third party notices file to reference the floating point number ↵Alex Ghiondea1-1/+26
algorithm (#13920)
2017-09-12[RyuJIT/ARM32] Implement CreateDictionaryLookupHelper only via helper (#13733)Sujin Kim3-8/+32
* [RyuJIT/ARM32] Implement CreateDictionaryLookupHelper only via run-time helper Implement CreateDictionaryLookupHelper only via run-time helper * Add assertion for checking CORINFO_USEHELPER
2017-09-12Fix ARM32 secure delegate bug (#13922)Jan Vorlicek1-1/+16
This change fixes a bug that causes crashes when secure delegate is invoked on ARM32 with legacy codegen. Register R4 was loaded with indirection slot address and immediatelly marked as trashed, so the JIT compiler reused it before the call that was supposed to have that value in R4. The fix was to move the reg trashing after the call. There was also an incorrect marking of that address as EA_PTRSIZE while it should be EA_BYREF, so I've fixed that too.
2017-09-12Make dangerous Span APIs less discoverable. (#13927)Ahson Ahmed Khan2-0/+5
2017-09-12Remove redundant zero-initialization of struct temps with GC fields. (#13868)Eugene Rozenfeld7-37/+208
Remove redundant zero-initialization of struct temps with GC fields. Structs with GC pointer fields are fully zero-initialized in the prolog if compInitMem is true. Therefore, we don't need to insert zero-initialization for the result of newobj or for inlinee locals when they are structs with GC pointer fields and the basic bock is not in a loop.
2017-09-12[Arm64] Enable Lowering GT_ARR_BOUNDS_CHECKSteve MacLean2-2/+11
2017-09-12JIT: optimize case where box feeds GetType (#13710)Andy Ayers4-22/+97
If the only use of a box is in a call to Type:GetType, remove the box and obtain the type directly. Get the handle needed for obtaining the type from the newobj call in the original box, via a new box removal option. Also add some logging to the type optimizations done in morph. Closes #13187.
2017-09-12Merge pull request #13819 from sdmaclea/PR-ARM64-MOD-AND-TRANSFORMJarret Shook1-8/+31
[Arm64] Allow a%b to a&(b-1) transform