Jan Vorlicek [Thu, 8 Jun 2017 10:54:18 +0000 (12:54 +0200)]
Fix linker GUARD option (#11492)
I have found that the /GUARD:CF option set in the root CMakeFiles.txt
was not being propagated to the Visual C++ project files generated
by cmake because of a wrong casing. The CMakeFiles.txt used /guard:cf
but it works correctly only if it is all upper case.
Matt Ellis [Thu, 8 Jun 2017 06:53:49 +0000 (23:53 -0700)]
Merge pull request #12102 from tmds/any-linux
build.sh: fall back to portable Linux when Linux host has unknown rid
dotnet bot [Thu, 8 Jun 2017 05:09:52 +0000 (22:09 -0700)]
Update CoreClr, CoreFx to preview1-25408-01, preview1-25408-01, respectively (#12157)
Pat Gavlin [Thu, 8 Jun 2017 04:48:42 +0000 (21:48 -0700)]
Merge pull request #12155 from pgavlin/LclVarChecks
Add lclVar semantic checks to CheckLIR.
Pat Gavlin [Thu, 8 Jun 2017 04:27:41 +0000 (21:27 -0700)]
Format code.
Pat Gavlin [Thu, 8 Jun 2017 02:22:51 +0000 (19:22 -0700)]
Address PR feedback.
Bruce Forstall [Thu, 8 Jun 2017 00:43:22 +0000 (17:43 -0700)]
Merge pull request #12142 from BruceForstall/ReduceNoway
Convert some very common noway_assert to simple assert
Carol Eidt [Thu, 8 Jun 2017 00:20:38 +0000 (17:20 -0700)]
Merge pull request #12087 from sdmaclea/PR-JIT-AcquireRelease-SimpleCases
[Arm64] Pr jit acquire release simple cases
Pat Gavlin [Wed, 7 Jun 2017 22:09:29 +0000 (15:09 -0700)]
Add lclVar semantic checks to CheckLIR.
Specifically, ensure that an unaliasable lclVar is not redefined between the
point at which a use appears in linear order and the point at which that
use is consumed by its user. This ensures that it is always safe to treat
a lclVar use as happening at the user (rather than at the lclVar node).
Sergey Andreenko [Wed, 7 Jun 2017 22:28:26 +0000 (15:28 -0700)]
delete BLOCKSET_INIT_NOCOPY and BLOCKSET_INIT. (#12144)
BLOCKSET_INIT was unused.
BLOCKSET_INIT_NOCOPY was replaced by the implicit constructor.
Sergey Andreenko [Wed, 7 Jun 2017 22:28:02 +0000 (15:28 -0700)]
rename temp variables with meaningful names. (#12023)
It was hard to follow the logic.
Daniel Podder [Wed, 7 Jun 2017 21:41:31 +0000 (16:41 -0500)]
Only restore optdata for release builds (#12136)
Avoid restoring optdata during a non-release build to minimize work done
by build.sh/cmd. Fix #12126
Bruce Forstall [Wed, 7 Jun 2017 21:39:24 +0000 (14:39 -0700)]
Simplify genRegArgNext() (#12124)
* Simplify genRegArgNext()
There is no need to check the register type before calling REG_NEXT.
* Rewrite using `switch`
* Fix genRegArgNext for Linux x64
Pat Gavlin [Wed, 7 Jun 2017 20:30:01 +0000 (13:30 -0700)]
Merge pull request #12138 from pgavlin/CheckLIRCodegen
Run the LIR checker before codegen.
Pat Gavlin [Wed, 7 Jun 2017 20:09:01 +0000 (13:09 -0700)]
Merge pull request #12139 from pgavlin/coredistoolsfix
Define `__cdecl` if necessary in coredistools.h.
Bruce Forstall [Wed, 7 Jun 2017 19:20:08 +0000 (12:20 -0700)]
Convert some very common noway_assert to simple assert
With these few changes, I measured a JIT instruction count reduction
of 0.37% of SuperPMI over the tests, and 0.17% for MinOpts.
Related to #10421
Brian Sullivan [Wed, 7 Jun 2017 18:20:50 +0000 (11:20 -0700)]
Merge pull request #12109 from briansull/ibc-tuning
Fixed the loading of ReadyToRun tuning native image
Pat Gavlin [Wed, 7 Jun 2017 17:28:44 +0000 (10:28 -0700)]
Define `__cdecl` if necessary in coredistools.h.
This fixes a build break for CoreDisTools on Linux.
Pat Gavlin [Wed, 7 Jun 2017 17:26:43 +0000 (10:26 -0700)]
Run the LIR checker before codegen.
Just what it says on the tin.
Bruce Forstall [Wed, 7 Jun 2017 17:06:31 +0000 (10:06 -0700)]
Merge pull request #12122 from BruceForstall/CleanupEffectiveVal
Remove use of gtEffectiveVal in RyuJIT codegen
Carol Eidt [Wed, 7 Jun 2017 16:43:44 +0000 (09:43 -0700)]
Merge pull request #11994 from CarolEidt/Throughput
Streamline LSRA for non-enregistered lclVars
dotnet bot [Wed, 7 Jun 2017 15:47:22 +0000 (08:47 -0700)]
Update CoreClr, CoreFx to preview1-25407-02, preview1-25407-02, respectively (#12133)
Tom Deseyn [Wed, 7 Jun 2017 08:55:08 +0000 (10:55 +0200)]
Fix FreeBSD build
Mike McLaughlin [Wed, 7 Jun 2017 06:53:15 +0000 (23:53 -0700)]
Fix portable build sos plugin problems (#12125)
* Fix portable build sos plugin problems.
Removing the explicit reference to liblldb. Since the lldb program has
already loaded this lib, our will now load regardless of the distro
and version of lldb.
Issue #12098.
* Fix OSX build.
Tom Deseyn [Wed, 7 Jun 2017 06:39:25 +0000 (08:39 +0200)]
build{,-test}.sh: revert and add list of unsupported rids
dotnet bot [Wed, 7 Jun 2017 04:21:29 +0000 (21:21 -0700)]
Update CoreClr, CoreFx to preview1-25406-05, preview1-25406-02, respectively (#11951)
Omair Majid [Wed, 7 Jun 2017 04:19:48 +0000 (00:19 -0400)]
Fix build breakage on high-processsor machines (#12114)
The build calls `make -j $NumProc`. This breaks on machines with a high
number of procesors (such as 25).
To reproduce this on any machine, edit build.sh and change
buildTool install -j $NumProc
to
buildTool install -j 100
The error trace looks like this:
In file included from coreclr/bin/obj/Linux.x64.Debug/Generated/eventpipe/dotnetruntime.cpp:12:
In file included from coreclr/src/vm/common.h:306:
In file included from coreclr/src/vm/eepolicy.h:15:
In file included from coreclr/src/vm/vars.hpp:70:
In file included from coreclr/src/vm/eeprofinterfaces.h:19:
In file included from coreclr/src/inc/profilepriv.h:128:
In file included from coreclr/src/inc/profilepriv.inl:18:
In file included from coreclr/src/vm/eetoprofinterfaceimpl.h:23:
coreclr/src/inc/eventtracebase.h:306:10: fatal error: 'clretwallmain.h' file not found
It turns out that the eventpipe code has a dependency on
clretwallmain.h. src/CMakeLists.txt points out that clretwallmain.h is a
generated file. But there's no actual dependency between the eventpipe
target and the header file(s).
Fix that by fixing the generator script to insert an explicit dependency
between 'eventpipe' module and 'GeneratedEventingFiles' module.
Jan Kotas [Wed, 7 Jun 2017 03:25:45 +0000 (20:25 -0700)]
Restore logic for when to use satellite resource lookup under AppX (#12117)
Remove unused cache of Assembly flags while I was on it
Carol Eidt [Wed, 7 Jun 2017 01:39:13 +0000 (18:39 -0700)]
More formatting
Carol Eidt [Wed, 7 Jun 2017 00:57:39 +0000 (17:57 -0700)]
Formatting
Carol Eidt [Tue, 16 May 2017 23:56:05 +0000 (16:56 -0700)]
Streamline LSRA for non-enregistered lclVars
- Don't create any lclVar intervals if no lclVars are ever enregistered.
- Don't create intervals for tracked lclVars that are not register candidates.
- Don't create any `RegToVarMap`s when no lclVars are ever enregistered.
- Don't do edge resolution if no lclVars are enregistered.
- Eliminate non-candidate lclVars from the sets used by LSRA.
Also:
- Change VarToRegMap to use regNumberSmall.
- Enhance `COMPLus_JitLsraStats` and `COMPlus_JitTimeLogCsv` dumping.
Bruce Forstall [Tue, 6 Jun 2017 23:37:40 +0000 (16:37 -0700)]
Remove use of gtEffectiveVal in RyuJIT codegen
This is not required in RyuJIT at the codegen phase: COMMA and
value-producing NOPs are no longer in place.
Joseph Tremoulet [Tue, 6 Jun 2017 22:46:55 +0000 (18:46 -0400)]
Merge pull request #12113 from JosephTremoulet/NoTailStress
Stop extraneously setting tail call stress
William Godbe [Tue, 6 Jun 2017 22:03:23 +0000 (15:03 -0700)]
Merge pull request #12119 from wtgodbe/StableVersion
Fix error with Stable Version
wtgodbe [Tue, 6 Jun 2017 21:59:31 +0000 (14:59 -0700)]
Fix error with Stable Version
Bruce Forstall [Tue, 6 Jun 2017 21:14:03 +0000 (14:14 -0700)]
Merge pull request #12079 from hseok-oh/ryujit/fix_11850
[RyuJIT/ARM32] Fix assertion when struct argument passing less than 4 byte
William Godbe [Tue, 6 Jun 2017 21:07:04 +0000 (14:07 -0700)]
Merge pull request #11897 from wtgodbe/TestCorrectVersion
Test packages from current build in pipeline
sergey ignatov [Tue, 6 Jun 2017 20:11:38 +0000 (23:11 +0300)]
Fix for CoreRT issue https://github.com/dotnet/corert/issues/3672 (armel tizen) (#12104)
Joseph Tremoulet [Tue, 6 Jun 2017 20:11:17 +0000 (16:11 -0400)]
Stop extraneously setting tail call stress
Tests GitHub_10780 and GitHub_11689 are repro cases for issues that don't
have anything to do with tail calls; the bit of code in their csproj's
that sets COMPlus_TailCallStress was an accidental copy-paste inclusion
from GitHub_11408. Remove that extra code.
wtgodbe [Wed, 24 May 2017 21:34:46 +0000 (14:34 -0700)]
Test packages from current build in pipeline
Carol Eidt [Tue, 6 Jun 2017 18:47:33 +0000 (11:47 -0700)]
Merge pull request #12069 from CarolEidt/CrossGenMinOpts
Support COMPlus_JITMinOpts for crossgen
Brian Sullivan [Tue, 6 Jun 2017 18:06:20 +0000 (11:06 -0700)]
Fixed the loading of ReadyToRun tuning native image
Corrected the new ifdef that prevented the loading of tuning/profiling ReadyToRun native images
Commented out a costly precondition check, it is always true at all callsites.
Omair Majid [Tue, 6 Jun 2017 17:28:09 +0000 (13:28 -0400)]
Rename CMAKE_ENABLE_CODE_COVERAGE to CLR_CMAKE_ENABLE_CODE_COVERAGE (#12106)
Sergey Andreenko [Tue, 6 Jun 2017 17:19:11 +0000 (10:19 -0700)]
new JitEE interface method: expandRawHandleIntrinsic (#12071)
Create a new JitEE method expandRawHandleIntrinsic. Delete old isDelegateCreationAllowed and getAddrModuleDomainID.
Support CORINFO_INTRINSIC_GetRawHandle.
Change JITEEVersionIdentifier.
fix MEASURE_CLRAPI_CALLS: add resolveVirtualMethod and expandRawHandleIntrinsic there.
Sean Gillespie [Tue, 6 Jun 2017 17:05:50 +0000 (10:05 -0700)]
Fix a bad merge for Windows standalone GC build (#12097)
Petr Bred [Tue, 6 Jun 2017 15:59:40 +0000 (18:59 +0300)]
Fix crash due to lack of PSPSym in the CoreRT ABI (#12082)
Signed-off-by: Petr Bred <bredpetr@gmail.com>
Tom Deseyn [Tue, 6 Jun 2017 08:42:28 +0000 (10:42 +0200)]
build.sh: fall back to portable linux when Linux host has unknown rid
Sean Gillespie [Tue, 6 Jun 2017 05:23:46 +0000 (22:23 -0700)]
[Local GC] Add TrapReturningThreads to the GC/EE interface (#12067)
Viktor Hofer [Mon, 5 Jun 2017 23:17:54 +0000 (01:17 +0200)]
TypeForwardedFrom attributes on coretypes for NetFX serialization (#12059)
* TypeForwardedFrom attributes on coretypes for NetFX serialization
* ValueTuple added
* Removed StubEnvironment typeforwards
* Modified FQAN for some special type forwards
* Support desktop to core serialization with InternalsVisibleTo for mscorlib
* Remove typeforwards from nested types
* Removed unused file
Jan Kotas [Mon, 5 Jun 2017 19:38:24 +0000 (12:38 -0700)]
Merge pull request dotnet/corert#3793 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Sean Gillespie [Mon, 5 Jun 2017 22:42:03 +0000 (15:42 -0700)]
Disable AppDomainLeaks configuration option for now until it is removed (#12095)
Brian Sullivan [Mon, 5 Jun 2017 22:28:48 +0000 (15:28 -0700)]
Merge pull request #11205 from mskvortsov/FixFloatingLdSt
[RyuJIT/ARM32] Workaround vstr/vldr addressing modes limitations
Pat Gavlin [Mon, 5 Jun 2017 21:33:58 +0000 (14:33 -0700)]
Merge pull request #12091 from pgavlin/TailCallStress11689
Disable tail call stress in GH_11689 if ZapDisable is enabled.
Pat Gavlin [Mon, 5 Jun 2017 21:06:45 +0000 (14:06 -0700)]
Merge pull request #11884 from mikedn/arm-cmp-setcc
[WIP] Lower long compares that are materialized into a register for ARM32
Matt Ellis [Mon, 5 Jun 2017 20:44:29 +0000 (13:44 -0700)]
Merge pull request #12072 from ellismg/update-buildtools
Update BuildTools
Do not set GTF_IND_UNALIGNED on byte sized types
[Arm64] Respond to review comments
Matt Galbraith [Mon, 5 Jun 2017 20:05:43 +0000 (13:05 -0700)]
Merge pull request #12085 from dotnet/Clean_up_properties_sent_for_Publish_builds
Make all publish legs of CoreCLR uniform and match existing ones.
Pat Gavlin [Mon, 5 Jun 2017 19:49:24 +0000 (12:49 -0700)]
Disable tail call stress in GH_11689 if ZapDisable is enabled.
Tail call stress does not mix well with ZapDisable due to the issues
described in #11408.
[Arm64] Handle exclusive decode group in insEncodeDatasizeLS()
[Arm64] Use Store Release when practical for genCodeForStoreInd
Steve MacLean [Fri, 12 May 2017 19:38:56 +0000 (15:38 -0400)]
[Arm64] Use Load Acquire when practical for genCodeForIndir
Matt Galbraith [Mon, 5 Jun 2017 17:34:46 +0000 (10:34 -0700)]
Make all publish legs of CoreCLR uniform and match existing ones. Previously Release - Publish symbols was in the CoreFX-style format and the other three were not. This unifies them.
Xiangyang (Mark) Guo [Mon, 5 Jun 2017 17:16:27 +0000 (10:16 -0700)]
Inline YieldProcessor on Linux (#12058)
More ldar/stlr support
[Arm64] Add emitInsTargetRegSize support for ldar/stlr
Carol Eidt [Mon, 5 Jun 2017 15:34:55 +0000 (08:34 -0700)]
Merge pull request #12025 from hseok-oh/ryujit/remorph_filedlist
Skip argTable assignment for split struct when remorphing
Hyeongseok Oh [Mon, 5 Jun 2017 13:55:49 +0000 (22:55 +0900)]
Update morph.cpp
Mikhail Skvortcov [Wed, 24 May 2017 12:42:41 +0000 (15:42 +0300)]
Fix an excess allocation of internal registers
Mikhail Skvortcov [Tue, 23 May 2017 15:45:02 +0000 (18:45 +0300)]
Forbid making lea contained for vstr/vldr
Mikhail Skvortcov [Tue, 23 May 2017 13:44:58 +0000 (16:44 +0300)]
Modify genCreateAddrMode to make it behave the same way as on arm64
Mikhail Skvortcov [Tue, 23 May 2017 13:25:07 +0000 (16:25 +0300)]
Adapt shared genLeaInstruction for arm32
Mikhail Skvortcov [Tue, 23 May 2017 12:25:44 +0000 (15:25 +0300)]
Remove arm32's genLeaInstruction
Mikhail Skvortcov [Tue, 23 May 2017 12:19:45 +0000 (15:19 +0300)]
Move arm64's genLeaInstruction into codegenarmarch.cpp
Mikhail Skvortcov [Tue, 23 May 2017 12:12:22 +0000 (15:12 +0300)]
Hyeongseok Oh [Mon, 5 Jun 2017 07:04:26 +0000 (16:04 +0900)]
[RyuJIT/ARM32] Struct argument passing less than 4 byte
Fix assertion when struct argument is less than 4 byte and promoted
Hyeongseok Oh [Mon, 5 Jun 2017 03:28:14 +0000 (12:28 +0900)]
Revert and remove isReMorph argument
- Revert commit that is removing nextSlotNum update in remorphing phase
- Remove isReMorph argument in SplitArg by using argsComplete
Vance Morrison [Sat, 3 Jun 2017 15:30:36 +0000 (08:30 -0700)]
Additional fix for ETW failure in 32 process on 64 bit machines. (#12022)
* Addtional fix for ETW failure in 32 process on 64 bit machines.
The commit associated with Pull Request
Fix failures in ETW logging on 4GB aware 32 bit processes #11941
Was incorrect. Some long were changed to ulong, but the critical casting an IntPtr to ulong still does
sign extention and not zero extension. Need to cast to a void* first. This fixes this.
Matt Ellis [Sat, 3 Jun 2017 05:47:15 +0000 (22:47 -0700)]
Merge pull request #12068 from omajid/master
Fix typo in CRL_CMAKE_WARNINGS_ARE_ERRORS
gbalykov [Sat, 3 Jun 2017 03:31:28 +0000 (06:31 +0300)]
Remove relocations from SECTION_MethodDesc for ngened images for fields accessed from jit code for Linux ARM (#11963)
Koundinya Veluri [Sat, 3 Jun 2017 00:04:17 +0000 (17:04 -0700)]
Call sched_yield directly for Sleep(0) (#12063)
Related to PR #12057
Carol Eidt [Fri, 2 Jun 2017 23:40:07 +0000 (16:40 -0700)]
Support COMPlus_JITMinOpts for crossgen
In order to better enable throughput measurement and analysis,
we would like to be able to specify COMPlus_JITMinOpts with crossgen.
Omair Majid [Fri, 2 Jun 2017 23:00:26 +0000 (19:00 -0400)]
Fix typo in CRL_CMAKE_WARNINGS_ARE_ERRORS
Matt Ellis [Fri, 2 Jun 2017 22:59:40 +0000 (15:59 -0700)]
Update BuildTools
This picks up some changes to how the tool runtime is published (we
now publish it as a portable app so we have less random .so's lying
around).
Roman Artemev [Fri, 2 Jun 2017 22:42:54 +0000 (15:42 -0700)]
Merge pull request #12064 from rartemev/fix_bash_script_issues
Fix path in bash script that runs test
Xiangyang (Mark) Guo [Fri, 2 Jun 2017 21:24:47 +0000 (14:24 -0700)]
fix procCount assertion (#12065)
Bar Arnon [Fri, 2 Jun 2017 21:24:29 +0000 (00:24 +0300)]
Tiny typo in TaskCompletionSource xml comment (#12066)
Omair Majid [Fri, 2 Jun 2017 20:55:14 +0000 (16:55 -0400)]
Add support for not breaking *nix build on warnings (#12039)
Add a build flag to make -Werror optional and let the build continue
even in the presence of warnings.
This option is very useful for anyone compiling with a different
(version of the) compiler. A different (version of the) compiler may
produce a different set of warnings and a piece of code that compiles
without warnings may emit warnings with a different (version of the)
compiler.
Resolves https://github.com/dotnet/coreclr/issues/8586
Jan Kotas [Wed, 31 May 2017 06:22:43 +0000 (23:22 -0700)]
Merge pull request dotnet/corert#3745 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Sean Gillespie [Fri, 2 Jun 2017 19:08:18 +0000 (12:08 -0700)]
Merge pull request #11699 from swgillespie/local-gc-branch-merge
Integration from dev/local-gc into master
Roman Artemev [Fri, 2 Jun 2017 18:47:04 +0000 (11:47 -0700)]
attempt to fix r2r test failures
Bruce Forstall [Fri, 2 Jun 2017 18:41:22 +0000 (11:41 -0700)]
Merge pull request #11803 from BruceForstall/FixRuntest
Update runtest.cmd help to reflect reality
Xiangyang (Mark) Guo [Fri, 2 Jun 2017 18:28:36 +0000 (11:28 -0700)]
fix SleepEx(0,false) on Linux (#12057)
Sean Gillespie [Fri, 2 Jun 2017 17:17:53 +0000 (10:17 -0700)]
Return 0 on success from GC Reliability Framework scripts (#11990)
* Return 0 on success from GC Reliability Framework scripts
* Don't save standard out, Jenkins already does this
Carol Eidt [Fri, 2 Jun 2017 16:51:37 +0000 (09:51 -0700)]
Merge pull request #11957 from sjsinju/spill_temp_size
[RyuJit/ARM32] Adjust alignment for TYP_DOUBLE in tmpPreAllocateTemps
Carol Eidt [Fri, 2 Jun 2017 16:50:31 +0000 (09:50 -0700)]
Merge pull request #12003 from sjsinju/reg1_reg2_planB
[RyuJit/ARM32] Fix wrong behavior of UINT->CHAR casting
Michal Strehovský [Fri, 2 Jun 2017 16:25:48 +0000 (09:25 -0700)]
Add support for flat vtables in RyuJIT (#12041)
CoreRT needs one less indirection to get to the virtual method.
On CoreCLR a virtual method call resolution goes like:
```
this -> MethodTable -> chunk(?) -> slot
```
On CoreRT, it's more flat:
```
this -> EEType -> slot
```
Yi Zhang (CLR) [Fri, 2 Jun 2017 16:10:34 +0000 (09:10 -0700)]
Fix a bug in LoadNativeStringResource to honor the contract properly when the buffer is not big enough (#12051)
* Return last error properly
* adjust pcwchUsed if ERROR_INSUFFICIENT_BUFFER
* return hr
* ERROR_INSUFFICIENT_BUFFER is a win32 error....
Jonghyun Park [Fri, 2 Jun 2017 13:12:19 +0000 (22:12 +0900)]
Invoke jitShutdown during ProcessShutdownWork (#12054)
Mike Danes [Wed, 24 May 2017 16:58:28 +0000 (19:58 +0300)]
Delete long compare support from ARM32 codegen