Jan Kotas [Fri, 13 Oct 2017 20:25:47 +0000 (13:25 -0700)]
Merge pull request dotnet/corert#4719 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Andy Ayers [Fri, 13 Oct 2017 23:05:44 +0000 (16:05 -0700)]
Updates to the jit bench harness (#14467)
Updates to the jit bench harness
Introduce a number of new options:
* use-existing-setup to reuse a previously set up environment
* iterations to control number of iterations
* tiering to enable tiered jit
* disable-r2r to disable loading of R2R images
* disable-ngen to disable loading of NGEN images
* minopts to force jit to generate minopts code
Also start tracking average response time. This is not yet "uploaded"
since the underlying data reported by the app needs some updates.
Andy Ayers [Fri, 13 Oct 2017 22:55:06 +0000 (15:55 -0700)]
Optimize type casts (#14420)
JIT: optimize type casts
Implement the jit interface compareTypesForEquality method
to handle casts from known types to known types, and from
shared types to certain interface types.
Call this method in the jit for castclass and isinst, using
`gtGetClassHandle` to obtain the from type. Optimize sucessful
casts and unsuccessful isinsts when the from type is known
exactly.
Undo part of the type-equality based optimization/workaround
in the AsyncMethodBuilder code that was introduced in #14178
in favor of interface checks. There is more here that can
be done here before this issue is entirely closed and I will
look at this subsequently.
This optimization allows the jit to remove boxes that are
used solely to feed type casts, and so closes #12877.
William Godbe [Fri, 13 Oct 2017 19:55:42 +0000 (12:55 -0700)]
Merge pull request #14498 from wtgodbe/CloudDropAccountName
Unify CloudDropAccountName
wtgodbe [Fri, 13 Oct 2017 19:55:22 +0000 (12:55 -0700)]
Unify CloudDropAccountName
William Godbe [Fri, 13 Oct 2017 18:45:45 +0000 (11:45 -0700)]
Merge pull request #14496 from wtgodbe/WorkingDir
Correctly set working folder in publish
wtgodbe [Fri, 13 Oct 2017 18:45:10 +0000 (11:45 -0700)]
Correctly set working folder in publish
Hanjoung Lee [Fri, 13 Oct 2017 14:18:14 +0000 (23:18 +0900)]
Fix compile error with crossgen CreatePDB on Unix (#14488)
- Fix wchar string literals
- Fix init order of class fields
Jonghyun Park [Fri, 13 Oct 2017 02:45:20 +0000 (11:45 +0900)]
Allow not to build SOS.NETCore.dll (#14404)
* Allow not to build SOS.NETCore.dll
* Automatically enable SkipSOS when a mscorlib option is given
Carol Eidt [Fri, 13 Oct 2017 00:18:30 +0000 (17:18 -0700)]
Merge pull request #14466 from sdmaclea/PR-Fix-14464
Fix JIT/HardwareIntrinsics/IsSupported.cs
Jan Kotas [Fri, 13 Oct 2017 00:09:24 +0000 (17:09 -0700)]
Merge pull request #14380 from dotnet-maestro-bot/master-UpdateDependencies
Update BuildTools, CoreFx, PgoData to prerelease-02111-02, preview1-25812-01, master-
20171009-0050, respectively (master)
Brian Sullivan [Thu, 12 Oct 2017 23:34:39 +0000 (16:34 -0700)]
Merge pull request #14440 from briansull/needs-reloc
Refactor some code using opts.compReloc
William Godbe [Thu, 12 Oct 2017 22:41:10 +0000 (15:41 -0700)]
Merge pull request #14457 from wtgodbe/FixTestAndPublish
Fix native binary syncing & myget publish
Jan Kotas [Thu, 12 Oct 2017 22:04:52 +0000 (15:04 -0700)]
Fix Linux x86 break (#14461)
Noah Falk [Thu, 12 Oct 2017 21:54:31 +0000 (14:54 -0700)]
Fix #14418 (#14419)
Adds the appropriate handling of the default ILCodeVersion in DacDbiInterfaceImpl::GetILCodeVersionNode
Steve MacLean [Thu, 12 Oct 2017 21:31:40 +0000 (17:31 -0400)]
Fix JIT/HardwareIntrinsics/IsSupported.cs
Noah Falk [Thu, 12 Oct 2017 21:43:20 +0000 (14:43 -0700)]
Add more debug logging to tiered compilation manager (#14425)
* Add more debug logging to tiered compilation manager
* Fixed format specifiers for pointer sized arguments
* A few additional tieredcompilation logging improvements
Noah Falk [Thu, 12 Oct 2017 21:41:49 +0000 (14:41 -0700)]
Fix #14427 (#14429)
Enumerate all of the jitted instances of a method using the tiered compilation manager
Brian Sullivan [Thu, 12 Oct 2017 18:50:14 +0000 (11:50 -0700)]
Merge branch 'master' into needs-reloc
wtgodbe [Thu, 12 Oct 2017 18:49:48 +0000 (11:49 -0700)]
Fix native binary syncing & myget publish
Brian Sullivan [Thu, 12 Oct 2017 18:49:30 +0000 (11:49 -0700)]
Adjust whitespace for clang format
Wolfgang Ziegler [Thu, 12 Oct 2017 17:13:07 +0000 (19:13 +0200)]
Fixed references to images. (#14443)
Wolfgang Ziegler [Thu, 12 Oct 2017 17:11:38 +0000 (19:11 +0200)]
Fixed formatting typo (#14452)
Wolfgang Ziegler [Thu, 12 Oct 2017 17:09:05 +0000 (19:09 +0200)]
Fixed Typo / C++ Syntax Highlighting (#14450)
Fixed incorrect (escaping?) characters '_' in code blocks.
Enabled C++ Syntax Highlighting.
Wolfgang Ziegler [Thu, 12 Oct 2017 17:08:13 +0000 (19:08 +0200)]
Fixed typo (#14449)
Wolfgang Ziegler [Thu, 12 Oct 2017 17:07:34 +0000 (19:07 +0200)]
Fixed formatting typo. (#14448)
mikedn [Thu, 12 Oct 2017 05:18:06 +0000 (08:18 +0300)]
Generate xorps instead of xorpd (#14385)
xorps is one byte shorter when AVX is not used. Also saves a call to genGetInsForOper.
Jan Kotas [Thu, 12 Oct 2017 05:10:33 +0000 (22:10 -0700)]
Delete System.Runtime.Intrinsics.X86 package reference
Jan Kotas [Thu, 12 Oct 2017 05:06:25 +0000 (22:06 -0700)]
Simplify SSE2 check for RyuJIT/x86 (#14432)
dotnet-maestro-bot [Thu, 12 Oct 2017 02:11:34 +0000 (19:11 -0700)]
Update BuildTools, CoreFx, PgoData to prerelease-02111-02, preview1-25812-01, master-
20171009-0050, respectively
Brian Sullivan [Thu, 12 Oct 2017 00:36:23 +0000 (17:36 -0700)]
Refactor code for constant handles that reference opts.compReloc to use ImmedValNeedsReloc()
William Godbe [Thu, 12 Oct 2017 00:07:32 +0000 (17:07 -0700)]
Merge pull request #14439 from wtgodbe/CrossbuildFlat
Specify PublishFlat in Crossbuilds
wtgodbe [Thu, 12 Oct 2017 00:06:01 +0000 (17:06 -0700)]
Specify PublishFlat in Crossbuilds
William Godbe [Wed, 11 Oct 2017 23:40:37 +0000 (16:40 -0700)]
Merge pull request #14438 from wtgodbe/PublishFixes
Fix final issues with publish in pipeline
wtgodbe [Wed, 11 Oct 2017 23:23:42 +0000 (16:23 -0700)]
Fix final issues with publish in pipeline
William Godbe [Wed, 11 Oct 2017 22:22:59 +0000 (15:22 -0700)]
Merge pull request #14437 from wtgodbe/IdentityPackages
Only produce identity packages on Windows
Jan Vorlicek [Wed, 11 Oct 2017 22:02:50 +0000 (00:02 +0200)]
Update CentOS 6 docker image (#14433)
This update fixes problem with git not supporting https protocol
wtgodbe [Wed, 11 Oct 2017 21:51:32 +0000 (14:51 -0700)]
Only produce identity packages on Windows
Santiago Fernandez Madero [Wed, 11 Oct 2017 21:45:47 +0000 (14:45 -0700)]
Add instructions on how to install lldb 3.9 for core dumps
Noah Falk [Wed, 11 Oct 2017 21:11:56 +0000 (14:11 -0700)]
Merge pull request #14422 from noahfalk/fix_14421
Fix 14421
Noah Falk [Wed, 11 Oct 2017 21:11:11 +0000 (14:11 -0700)]
Merge pull request #14430 from noahfalk/fix_14428
Fix #14428
Noah Falk [Wed, 11 Oct 2017 21:06:31 +0000 (14:06 -0700)]
Merge pull request #14424 from noahfalk/fix_14423
Fix #14423
Jan Kotas [Wed, 11 Oct 2017 20:04:43 +0000 (13:04 -0700)]
Delete !FEATURE_IMPLICIT_TLS (#14398)
Linux and Windows arm64 are using the regular C/C++ thread local statics. This change unifies the remaining Windows architectures to be on the same plan.
William Godbe [Wed, 11 Oct 2017 19:58:03 +0000 (12:58 -0700)]
Merge pull request #14436 from wtgodbe/fixSlashes
Remove double slashes from publish blobs
wtgodbe [Wed, 11 Oct 2017 18:54:01 +0000 (11:54 -0700)]
Remove double slashes from publish blobs
noahfalk [Wed, 11 Oct 2017 09:23:51 +0000 (02:23 -0700)]
Fix #14428
Now using an offset calculation that is correct for all of a method's jitted code versions.
noahfalk [Wed, 11 Oct 2017 07:22:53 +0000 (00:22 -0700)]
Fix #14423
The JIT now invokes the debugger's JITComplete callback on every jitting of a method
noahfalk [Wed, 11 Oct 2017 06:48:04 +0000 (23:48 -0700)]
Fix 14421
Disable tiered jitting in debuggable methods.
I also removed the policy comment because I'm not aware of any more planned changes we'll need to make to the policy here.
William Godbe [Wed, 11 Oct 2017 02:28:53 +0000 (19:28 -0700)]
Merge pull request #13795 from wtgodbe/PublishPlayground
Use new publish mechanism in CoreCLR
wtgodbe [Mon, 28 Aug 2017 20:14:52 +0000 (13:14 -0700)]
Proof-of-concept of using new Publish infra in coreclr
Jan Kotas [Tue, 10 Oct 2017 20:36:08 +0000 (13:36 -0700)]
Add CompareInfo.Invariant.cs to shared corelib partition
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Tom Deseyn [Tue, 10 Oct 2017 22:13:05 +0000 (00:13 +0200)]
Fix AllocationTick_V3 depending on _V2 to be enabled (#14338)
Jose Perez Rodriguez [Tue, 10 Oct 2017 21:54:18 +0000 (14:54 -0700)]
Update to 2.0 RTM CLI (#14396)
* Update to 2.0 RTM CLI
* PR feedback
Chris P [Tue, 10 Oct 2017 21:08:00 +0000 (17:08 -0400)]
Fixed typo in Optimization Phases Notes Section (#14408)
hosted -> hoisted
Sergey Andreenko [Tue, 10 Oct 2017 20:37:41 +0000 (13:37 -0700)]
do not spill stack after CEE_NEWARR and CEE_NEWOBJ. (#14401)
Fixes coreRT issue with "InitializeArray intrinsic must always be
expanded".
Jan Kotas [Tue, 10 Oct 2017 19:57:03 +0000 (12:57 -0700)]
Move CompareInfo.cs to shared corelib partition (#14407)
Vance Morrison [Tue, 10 Oct 2017 18:59:29 +0000 (11:59 -0700)]
Turn on source link support (#14399)
* Use Portable PDBs and turn on SourceLink
This makes us uniform. Allows VSCode (which does not suport MSPdbs) use on Windows.
* Allow DebugType to be overridden (on the command line)
* Turn off portable PDB support for now
Vance Morrison [Tue, 10 Oct 2017 17:32:18 +0000 (10:32 -0700)]
Fix case of environment vars
The case of the COMPlus_ environment variables matters on Linux. Fix instructions to be consistent.
Tom [Tue, 10 Oct 2017 16:21:14 +0000 (18:21 +0200)]
Fixing a Typo in README.md (#14405)
Just deleted one of the two "for"s in the Setting up your GIT Clone of the CoreCLR Repository.
Andy Ayers [Tue, 10 Oct 2017 02:27:28 +0000 (19:27 -0700)]
JIT: improve type equality opts for generic and prejitted code (#14381)
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.
Stephen Toub [Tue, 10 Oct 2017 01:45:48 +0000 (21:45 -0400)]
Merge pull request #14394 from stephentoub/undo_strcomp
Undo unnecessary change from DateTime.Parse commit
José Rivero [Tue, 10 Oct 2017 00:03:16 +0000 (17:03 -0700)]
Fixing JitBench (#14364)
- 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.
Bruce Forstall [Mon, 9 Oct 2017 20:20:11 +0000 (13:20 -0700)]
Merge pull request #14382 from mikedn/dead-opers
Removed unused opers and code
Jan Vorlicek [Mon, 9 Oct 2017 20:07:54 +0000 (22:07 +0200)]
Fix zap and ready to run disabling (#14389)
* 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.
Aditya Mandaleeka [Mon, 9 Oct 2017 18:56:57 +0000 (11:56 -0700)]
Merge pull request #14386 from adityamandaleeka/ryujit_doc_fix
Fix incorrect name of class in RyuJIT overview
Stephen Toub [Mon, 9 Oct 2017 18:30:30 +0000 (14:30 -0400)]
Undo unnecessary change from DateTime.Parse commit
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.
Konstantin Baladurin [Mon, 9 Oct 2017 17:21:22 +0000 (20:21 +0300)]
[GDBJIT] Make gdbjit thread-safe & bug fix (#14390)
* [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.
Aditya Mandaleeka [Sun, 8 Oct 2017 23:20:13 +0000 (16:20 -0700)]
Parent class of Interval and RegRecord is Referenceable.
Mike Danes [Sat, 7 Oct 2017 17:17:19 +0000 (20:17 +0300)]
Removed unused opers and code
* GT_DIV_HI and GT_MOD_HI are not used anywhere
* genCodeForBinary doesn't handle GT_MUL_LONG
* OperIsHigh is not used anywhere
dotnet-maestro-bot [Sat, 7 Oct 2017 15:52:05 +0000 (10:52 -0500)]
Update CoreFx, PgoData to preview1-25807-01, master-
20171007-0052, respectively (#14378)
Jan Vorlicek [Sat, 7 Oct 2017 09:56:24 +0000 (11:56 +0200)]
Fix numa build break (#14370)
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.
Bruce Forstall [Sat, 7 Oct 2017 01:42:37 +0000 (18:42 -0700)]
Merge pull request #14353 from BruceForstall/ArmAssertFixes
Fix RyuJIT/arm32 asserts
Jan Kotas [Sat, 7 Oct 2017 00:51:29 +0000 (17:51 -0700)]
Delete dead code (#14365)
Delete some dead code related to Windows Phone and code access security
Stephen Toub [Sat, 7 Oct 2017 00:25:43 +0000 (20:25 -0400)]
Merge pull request #14369 from stephentoub/fix_cont_handling
Fix handling of continuations for captured context
Stephen Toub [Fri, 6 Oct 2017 22:38:00 +0000 (18:38 -0400)]
Fix handling of continuations for captured context
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.
Stephen Toub [Fri, 6 Oct 2017 22:12:27 +0000 (18:12 -0400)]
Merge pull request #14352 from stephentoub/datetime_span
Add Span-based methods to DateTime{Offset}
Bruce Forstall [Fri, 6 Oct 2017 05:14:08 +0000 (22:14 -0700)]
Fix RyuJIT/arm32 asserts
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.
Stephen Toub [Fri, 6 Oct 2017 21:34:04 +0000 (17:34 -0400)]
Merge pull request #14333 from dotnet-maestro-bot/master-UpdateDependencies
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02106-01, preview1-25806-01, preview1-25806-02, master-
20171006-0051, respectively (master)
Tomas Weinfurt [Fri, 6 Oct 2017 20:30:24 +0000 (13:30 -0700)]
undef NULL to fix compilation problems on FreeBSD after 08d39dd. (#14341)
* undef NULL to fix compilation problems on FreeBSD after 08d39dd.
* remove unneccesary #ifndef NULL
Stephen Toub [Fri, 6 Oct 2017 20:19:00 +0000 (16:19 -0400)]
Fix asserts in Unix build
Sergey Andreenko [Fri, 6 Oct 2017 19:37:20 +0000 (12:37 -0700)]
impImportCall: make the failed imports obvious. (#14343)
* impImportCall: make the failed imports obvious.
Delete unnecessary and confusing dependency on callRetType.
* delete unreached code that calls impImportCall
Jan Kotas [Fri, 6 Oct 2017 18:11:35 +0000 (11:11 -0700)]
Reorder checks in CEEInfo::getClassLayout (#14356)
Check for native value type has to be first to handle byref-like native value types correctly.
Brian Sullivan [Fri, 6 Oct 2017 17:59:39 +0000 (10:59 -0700)]
Merge pull request #14329 from sdmaclea/PR-ARM64-ATOMIC-OPS
[Arm64] Implement GT_XADD, GT_XCHG, GT_CMPXCHG ...
Stephen Toub [Fri, 6 Oct 2017 16:34:08 +0000 (12:34 -0400)]
Merge pull request #14358 from stephentoub/convertspan
Add Span-based Convert Base64 methods
Steve MacLean [Fri, 6 Oct 2017 15:25:14 +0000 (11:25 -0400)]
Fix comments per review
Jan Vorlicek [Fri, 6 Oct 2017 14:35:26 +0000 (16:35 +0200)]
Remove explicit dependency on libnuma (#14359)
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.
dotnet-maestro-bot [Fri, 6 Oct 2017 14:20:56 +0000 (07:20 -0700)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02106-01, preview1-25806-01, preview1-25806-02, master-
20171006-0051, respectively
Stephen Toub [Thu, 5 Oct 2017 23:30:07 +0000 (19:30 -0400)]
Add DateTime{Offset}.TryFormat methods
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.
Stephen Toub [Thu, 5 Oct 2017 21:47:49 +0000 (17:47 -0400)]
Add DateTime{Offset} span-based {Try}Parse{Exact} overloads
Stephen Toub [Thu, 5 Oct 2017 21:23:41 +0000 (17:23 -0400)]
Address perf issues
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
Stephen Toub [Fri, 8 Sep 2017 14:25:01 +0000 (10:25 -0400)]
Remove StringBuilder allocations from roundtrip format DateTime parsing
Stephen Toub [Fri, 8 Sep 2017 13:57:55 +0000 (09:57 -0400)]
Add IsValidYear/Day overrides to GregorianCalendar
The base implementation makes several virtual calls that the derived implementation can avoid.
Stephen Toub [Fri, 8 Sep 2017 14:05:22 +0000 (10:05 -0400)]
Avoid slicing/extra method call while tokenizing in common case
Stephen Toub [Fri, 8 Sep 2017 13:52:05 +0000 (09:52 -0400)]
Move DateTimeParse to use spans internally
So that we can reuse the same implementation for the public span-based APIs.
Stephen Toub [Fri, 6 Oct 2017 12:21:47 +0000 (08:21 -0400)]
Add Span-based Convert Base64 methods
Michelle McDaniel [Fri, 6 Oct 2017 12:15:16 +0000 (05:15 -0700)]
Disable PGO optimization on linux (#14290)
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.
Tomas Weinfurt [Fri, 6 Oct 2017 08:43:54 +0000 (01:43 -0700)]
enable lttng for FreeBSD. (#14342)
* enable lttng for FreeBSD. it is supported for user space
* unify Linux and FreeBSD branches for lttng. At lest for now, they are identical
Bruce Forstall [Fri, 6 Oct 2017 05:31:17 +0000 (22:31 -0700)]
Merge pull request #14253 from wateret/fix-14251
[RyuJIT/armel] Fix regression
Jan Kotas [Tue, 3 Oct 2017 04:28:12 +0000 (21:28 -0700)]
Update Microsoft.NETCore.Native package (dotnet/corert#4646)
Partial port of https://github.com/dotnet/coreclr/pull/10264
Fixes #4640
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Jan Vorlicek [Fri, 6 Oct 2017 01:12:04 +0000 (03:12 +0200)]
Update CentOS 6 and 7 docker images (#14349)
The images now contains clang 3.9 with PGO support