summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-10-10Fix case of environment varsVance Morrison1-2/+2
The case of the COMPlus_ environment variables matters on Linux. Fix instructions to be consistent.
2017-10-10Fixing a Typo in README.md (#14405)Tom1-1/+1
Just deleted one of the two "for"s in the Setting up your GIT Clone of the CoreCLR Repository.
2017-10-09JIT: improve type equality opts for generic and prejitted code (#14381)Andy Ayers5-121/+397
Handle cases where a `GetType()` call on a generically typed object feeds into a type equality comparison. These calls have constraint prefixes. For value classes the constraint tells us the type and so we can avoid the box and call and just construct that type directly. For ref classes the type test can usually reduce to a method table comparison. Also, handle cases that arise in prejiited code better, by generalizing how the jit looks for class handles from type construction trees. Added test cases. Closes #14304.
2017-10-09Merge pull request #14394 from stephentoub/undo_strcompStephen Toub1-3/+11
Undo unnecessary change from DateTime.Parse commit
2017-10-09Fixing JitBench (#14364)José Rivero2-15/+19
- In the lab, the path where the JitBench sources are downloaded is already too long, which eventially causes `dotnet-install.ps1` to fail. Part of the changes are to reduce the PATH where the tests are placed. - Updated the JitBench version/commit being used. This one is already on 2.1 - Fixing typo on `perf.groovy` - Increasing the timeout value as JitBench keeps failing on the lab.
2017-10-09Merge pull request #14382 from mikedn/dead-opersBruce Forstall4-31/+1
Removed unused opers and code
2017-10-09Fix zap and ready to run disabling (#14389)Jan Vorlicek2-9/+9
* Fix zap and ready to run disabling While the COMPlus_ZapDisable and COMPlus_ReadyToRun config settings can be used to disable using crossgened / ready to run images, loading IL from such images fails. This change foxes that. * Reflect PR feedback Remove ReadyToRunInfo::IsReadyToRunEnabled from Module::Initialize again and move the same check in the ReadyToRunInfo::Initialize before we start checking the PE file properties.
2017-10-09Merge pull request #14386 from adityamandaleeka/ryujit_doc_fixAditya Mandaleeka1-1/+1
Fix incorrect name of class in RyuJIT overview
2017-10-09Undo unnecessary change from DateTime.Parse commitStephen Toub1-3/+11
This change shouldn't have been included in my DateTime.Parse span change. It was left-over from some local experimentation. The change doesn't hurt anything functionally, but it does undo a small optimization; I've not measured whether it's impactful or not, so I'm putting it back the way it was.
2017-10-09[GDBJIT] Make gdbjit thread-safe & bug fix (#14390)Konstantin Baladurin5-145/+221
* [GDBJIT] Fix DW_AT_comp_dir setting We should use cuPath to set dirPath in NotifyGdb::EmitDebugInfo instead of DebugString[1]. * [GDBJIT] Make gdbjit thread-safe NotifyGdb::MethodPrepared method can be called from multiple threads simultaneously in this case gdbjit will work incorrectly as it uses global variable without synchronization.
2017-10-08Parent class of Interval and RegRecord is Referenceable.Aditya Mandaleeka1-1/+1
2017-10-07Removed unused opers and codeMike Danes4-31/+1
* GT_DIV_HI and GT_MOD_HI are not used anywhere * genCodeForBinary doesn't handle GT_MUL_LONG * OperIsHigh is not used anywhere
2017-10-07Update CoreFx, PgoData to preview1-25807-01, master-20171007-0052, ↵dotnet-maestro-bot1-5/+5
respectively (#14378)
2017-10-07Fix numa build break (#14370)Jan Vorlicek1-0/+2
This change fixes a break in build of coreclr on machines with libnuma installed. The problem was that the numa header contains a couple of inlined functions and we were using one of them. That made it to have a hard reference to a function from the numa library that we need to be soft so that coreclr can work even on machines without the libnuma installed.
2017-10-06Merge pull request #14353 from BruceForstall/ArmAssertFixesBruce Forstall9-69/+85
Fix RyuJIT/arm32 asserts
2017-10-06Delete dead code (#14365)Jan Kotas9-377/+30
Delete some dead code related to Windows Phone and code access security
2017-10-06Merge pull request #14369 from stephentoub/fix_cont_handlingStephen Toub1-6/+6
Fix handling of continuations for captured context
2017-10-06Fix handling of continuations for captured contextStephen Toub1-6/+6
My recent delegate optimization for async methods introduced a race condition that breaks posting back to a captured context. If the awaited task completes between the time we check IsCompleted and when we try to store the continuation into the Task, we need to queue the continuation for execution, but my change incorrectly queued it to the thread pool rather than to the captured context.
2017-10-06Merge pull request #14352 from stephentoub/datetime_spanStephen Toub12-284/+573
Add Span-based methods to DateTime{Offset}
2017-10-06Fix RyuJIT/arm32 assertsBruce Forstall9-69/+85
Fix #14199: propagate `GTF_EXCEPT` bits from the end of `GT_FIELD_LIST` lists to the beginning, to avoid "Missing flags on tree" asserts. Fix #14198: for RyuJIT/arm32, `GT_BITCAST` needs to be a MultiRegOp. This is required when a varargs function, which includes the tailcall helper, needs to pass a double in integer registers. We can end up with `GT_PUTARG_REG/long(GT_BITCAST/long(double tree))`. Fixed various GenTree node flags dumping issues.
2017-10-06Merge pull request #14333 from dotnet-maestro-bot/master-UpdateDependenciesStephen Toub2-9/+9
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02106-01, preview1-25806-01, preview1-25806-02, master-20171006-0051, respectively (master)
2017-10-06undef NULL to fix compilation problems on FreeBSD after 08d39dd. (#14341)Tomas Weinfurt1-4/+0
* undef NULL to fix compilation problems on FreeBSD after 08d39dd. * remove unneccesary #ifndef NULL
2017-10-06Fix asserts in Unix buildStephen Toub1-4/+0
2017-10-06impImportCall: make the failed imports obvious. (#14343)Sergey Andreenko1-70/+33
* impImportCall: make the failed imports obvious. Delete unnecessary and confusing dependency on callRetType. * delete unreached code that calls impImportCall
2017-10-06Reorder checks in CEEInfo::getClassLayout (#14356)Jan Kotas1-8/+8
Check for native value type has to be first to handle byref-like native value types correctly.
2017-10-06Merge pull request #14329 from sdmaclea/PR-ARM64-ATOMIC-OPSBrian Sullivan7-52/+243
[Arm64] Implement GT_XADD, GT_XCHG, GT_CMPXCHG ...
2017-10-06Merge pull request #14358 from stephentoub/convertspanStephen Toub1-22/+103
Add Span-based Convert Base64 methods
2017-10-06Fix comments per reviewSteve MacLean2-4/+9
2017-10-06Remove explicit dependency on libnuma (#14359)Jan Vorlicek1-6/+0
Currently, when coreclr is built on machine that has libnuma installed, it adds libnuma to its dependencies and so it cannot be used on machines that don't have libnuma installed. But that is not necessary, the dependency was changed to soft dependency - PAL loads it only if it is present and falls back to the non-numa behavior if it is not found. This change removes the hard libnuma dependency.
2017-10-06Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02106-01, ↵dotnet-maestro-bot2-9/+9
preview1-25806-01, preview1-25806-02, master-20171006-0051, respectively
2017-10-06Add DateTime{Offset}.TryFormat methodsStephen Toub3-8/+41
The existing implementations just format to a StringBuilder and then get the string from that StringBuilder. For now at least, these TryFormats share the same code, and just copy the StringBuilder to the span instead of using ToString.
2017-10-06Add DateTime{Offset} span-based {Try}Parse{Exact} overloadsStephen Toub3-29/+101
2017-10-06Address perf issuesStephen Toub5-110/+165
Workaround regressions from the span switch and also fix a few other issues that popped while profiling. - Specialize Compare{String} methods to take one span and one string - Ensure frequently called methods get inlined - Avoid unnecessary writes to a ref - Avoid unnecessary Math.Pow calls
2017-10-06Remove StringBuilder allocations from roundtrip format DateTime parsingStephen Toub2-3/+7
2017-10-06Add IsValidYear/Day overrides to GregorianCalendarStephen Toub1-0/+16
The base implementation makes several virtual calls that the derived implementation can avoid.
2017-10-06Avoid slicing/extra method call while tokenizing in common caseStephen Toub1-12/+4
2017-10-06Move DateTimeParse to use spans internallyStephen Toub10-149/+270
So that we can reuse the same implementation for the public span-based APIs.
2017-10-06Add Span-based Convert Base64 methodsStephen Toub1-22/+103
2017-10-06Disable PGO optimization on linux (#14290)Michelle McDaniel1-1/+6
With the update to llvm 3.9, the pgo data is incompatible since it was generated with llvm 3.6. Currently, both the pgo data generation builds and the automatic updates of counts are currently down, so pgo data is not being updated. Until these problems are fixed, disable pgo optimization for release builds on linux.
2017-10-06 enable lttng for FreeBSD. (#14342)Tomas Weinfurt1-2/+2
* enable lttng for FreeBSD. it is supported for user space * unify Linux and FreeBSD branches for lttng. At lest for now, they are identical
2017-10-05Merge pull request #14253 from wateret/fix-14251Bruce Forstall5-13/+40
[RyuJIT/armel] Fix regression
2017-10-05Update Microsoft.NETCore.Native package (dotnet/corert#4646)Jan Kotas3-1/+1
Partial port of https://github.com/dotnet/coreclr/pull/10264 Fixes #4640 Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2017-10-06Update CentOS 6 and 7 docker images (#14349)Jan Vorlicek2-3/+3
The images now contains clang 3.9 with PGO support
2017-10-05[Arm64] Respond to feedbackSteve MacLean2-21/+37
2017-10-05Fix new deadlock possibility in ReaderWriterLockSlim from a recent change ↵Koundinya Veluri1-25/+48
(#14337) Fix new deadlock possibility in ReaderWriterLockSlim from a recent change Fixed the following scenario that would lead to deadlock (rare, but frequently reproducible if code is changed): - Thread T0 signals the write waiter event or the upgradeable read waiter event to wake a waiter - There are no threads waiting on the event, but T1 is in WaitOnEvent() after exiting the spin lock and before actually waiting on the event (that is, it's recorded that there is one waiter for the event). It remains in this region for a while, in the repro case it typically gets context-switched out. - T2 acquires the RW lock in some fashion that blocks T0 or T3 from acquiring the RW lock - T0 or T3 fails to acquire the RW lock enough times for it to enter WaitOnEvent for the same event as T1 - T0 or T3 resets the event - T2 releases the RW lock and does not wake a waiter because the reset at the previous step lost a signal but _waiterStates was not updated to reflect that - T1 and other threads begin waiting on the event, but there's no longer any thread that would wake them
2017-10-05JIT: More type equality opts (#14317)Andy Ayers21-21/+482
* JIT: Wrap some runtime lookups in new node type Work based on the plan outlined in #14305. Introduce a new unary node type GT_RUNTIMELOOKUP that wraps existing runtime lookup trees created in `impLookupToTree` and holds onto the handle that inspired the lookup. Note there are other importer paths that create lookups directly that we might also want to wrap, though wrapping is not a requirement for correctness. Keep this node type around through morph, then unwrap and just use the wrapped node after that. * JIT: More enhancements to type equality testing The jit is now able to optimize some type equality checks in shared method instances where one or both of the types require runtime lookup, for instance comparing `T` to a value type, or comparing two different value types `V1<T>` and `V2<T>`. Add two new jit interface methods, one for testing for type equality and the other for type casting. These return Must/MustNot/Maybe results depending on whether or not the equality or cast can be resolved at jit time. Implement the equality check. Use this to enhance the type equality opts in the jit for both direct comparison and the checking done by unbox.any.
2017-10-05fix gtDispTree (#14326)Sergey Andreenko1-1/+5
* fix gtDispTree It is legal situation when we pass ILNone (for example for local stores: gtDispChild(tree->gtOp.gtOp1, indentStack, IINone);). In this code we poped value and didn't push anything back, it ended with the stack underflow.
2017-10-05[RyuJIT/armel] Fix regressionHanjoung Lee5-13/+40
Fix calling a function passing double-type stack arguments. Fix #14251
2017-10-05[SOS] Fix address types inconsistency (#14188)Konstantin Baladurin1-21/+21
GetObjFieldOffset function expects that cdaObj and cdaMT arguments have CLRDATA_ADDRESS type (sign-extended) but in some cases we use TADDR instead of CLRDATA_ADDRESS that isn't sign-extended. Due to it some SOS commands (for example DumpRuntimeTypes) don't work on x86 and ARM32.
2017-10-05[x86/Linux][SOS] Fix clrstack command of lldb sosplugin on x86 (#13973)Konstantin Baladurin7-6/+91
* [x86/Linux][SOS] Add support for x86 in GetContextFromFrame It's need for 'clrstack -f' command of SOS plugin on x86. * [x86/Linux] Fix RtlpGetFunctionEndAddress function We should use PTR_UNWIND_INFO instead of PUNWIND_INFO for pointer to UNWIND_INFO structure because it's pointer from other process and we need to use DAC to read data using it. * [x86/Linux][SOS] Define DEBUG_STACK_CONTEXT for x86 It's needed for 'clrstack -f' command in libsosplugin. * [x86/Linux] Fix undefined references in libmscordbi.so on x86 Asm block like following: __asm fnsave currentFPUState where currentFPUState is structure works with MSVC but leads to undefined reference currentFPUState in the binary with other compilers. So rewrite such asm blocks for them. This patch fixes error "Unable to load 'libmscordbi.so'" during execution of 'clrstack -f' command of SOS plugin on x86. * [x86/Linux] Fix calling convention inconsistency WINAPI and STDAPI are defined as __cdecl but in some cases functions with these attributes are called using stdcall calling convention. It leads to crashes during execution of 'clrstack -i' command of SOS plugin on x86.