Stephen Toub [Wed, 12 Apr 2017 22:23:26 +0000 (18:23 -0400)]
Merge pull request #10917 from stephentoub/fix_badges
Fix build badges in OfficialAndDailyBuilds.md
Jonghyun Park [Wed, 12 Apr 2017 22:09:33 +0000 (07:09 +0900)]
[x86/Linux] Fix ResumeEsp before resume (#10749)
* [x86/Linux] Correctly unwind FCALL frames
* Fix Up ResumeEsp inside ProcessCLRException
* Fix Context Before PC Update
Jonghyun Park [Wed, 12 Apr 2017 22:07:56 +0000 (07:07 +0900)]
[x86/Linux] 16-byte aligned BackPatchWorkerAsmStub (#10759)
* [x86/Linux] 16-byte aligned BackPatchWorkerAsmStub
* Use fixed alignment padding
* Do NOT push ebx (no longer required)
Pat Gavlin [Wed, 12 Apr 2017 21:57:32 +0000 (14:57 -0700)]
Merge pull request #10905 from pgavlin/VSO406158
Fix a number of reordering issues in shift decomposition.
Jonghyun Park [Wed, 12 Apr 2017 21:44:20 +0000 (06:44 +0900)]
[x86/Linux] 16-byte aligned DelayLoad_MethodCall (#10760)
Jarret Shook [Wed, 12 Apr 2017 21:37:04 +0000 (14:37 -0700)]
Merge pull request #10706 from sdmaclea/PR-ARM64-GC-EmitInsLdStOp
[Arm64] Fix GC Holes in emitInsLoadStoreOp
William Godbe [Wed, 12 Apr 2017 20:27:52 +0000 (13:27 -0700)]
Merge pull request #10923 from wtgodbe/ImproveReporting
Improve reporting parameters for pipebuild
Aditya Mandaleeka [Wed, 12 Apr 2017 19:05:11 +0000 (12:05 -0700)]
Merge pull request #10911 from adityamandaleeka/handle_table_local_gc_hide_internals
[Local GC] Hide handle table internals from VM side
wtgodbe [Wed, 12 Apr 2017 18:35:42 +0000 (11:35 -0700)]
Improve reporting parameters for pipebuild
Koundinya Veluri [Wed, 12 Apr 2017 17:33:52 +0000 (10:33 -0700)]
Fix closed delegate deserialization to account for extension methods (#10901)
Functional fix for #9597:
- The code was incorrectly assuming that the serialized target type info refers to the target object's type; it actually refers to the method's reflected type, which may not be the same type when it's an extension method
Bruce Forstall [Wed, 12 Apr 2017 17:12:18 +0000 (10:12 -0700)]
Merge pull request #10243 from sdmaclea/PR-CALLI-LOWERING-ALLOWED
Allow target of calli to be lowered to ldc.i4
Atsushi Kanamori [Wed, 12 Apr 2017 16:50:26 +0000 (09:50 -0700)]
NS2.0 AssemblyName.ReferenceMatchesDefinition() (#10919)
This api was broken from its debut in 2.0 (and yet somehow
scored a 2.9% on .NET api catalog)
https://connect.microsoft.com/VisualStudio/feedback/details/752902/assemblyname-referencematchesdefinition-returns-true-even-though-the-parameters-dont-match
In 2012, the MSDN docs were changed to match its broken behavior:
Return Value
Type: System.Boolean
true if the simple assembly names are the same; otherwise, false.
Remarks
The comparison depends only on the simple assembly name. It ignores version, culture, and public key token.
A more accurate description would be:
This api takes the simple names of the ref and def.
Then it parses the simple names *as if they were*
full-blown assembly names with optional Version, Culture
and PKT (!)
Then it applies a RefToDef test to that name using a test
that's quite separate from the one used by the actual
CoreCLR loader (so any similarities between
it and the actual binding rules is purely coincidental.)
Oh, and that code assumes the Def name came from trusted
sources so if it's has a null Culture property, it NULL-AV's.
We could replicate this behavior on CoreRT (relying on
its own AssemblyBinder) but the more I progressed, the
more the venture failed to pass the laugh test (though
at least we got a nice AssemblyBinder cleanup
as a side effect.)
So what we'll do is make the api behavior match the
MSDN description (and likely come close enough to the compat bar)
but in a more straightforward fashion.
(The RefMatchesDef routine is used on one case - to
match assembly refs against a list of friend-access
assembly defs. So it's not quite dead code though
it probably should be.)
Bruce Forstall [Wed, 12 Apr 2017 16:17:17 +0000 (09:17 -0700)]
Merge pull request #10904 from BruceForstall/ArmMergeCodegenFuncs
Merge similar arm32/arm64 codegen functions
Jonghyun Park [Wed, 12 Apr 2017 16:02:35 +0000 (01:02 +0900)]
[x86/Linux] Funclet-based synchronization (#10791)
* [x86/Linux] Funclet-based synchronization
* Fix x86/Windows build error
* Revise per feedback
* Fix format error
Bruce Forstall [Wed, 12 Apr 2017 16:00:34 +0000 (09:00 -0700)]
Merge pull request #10852 from mskvortsov/ryujit-arm32-ldst-offset
[RyuJIT/ARM32] Encodable offsets for ld/st
Pat Gavlin [Wed, 12 Apr 2017 15:53:00 +0000 (08:53 -0700)]
Format code.
dotnet bot [Wed, 12 Apr 2017 15:05:37 +0000 (08:05 -0700)]
Update CoreClr to preview1-25212-04 (#10879)
Jan Kotas [Wed, 12 Apr 2017 02:33:08 +0000 (19:33 -0700)]
Fix resource string name
Jan Kotas [Wed, 12 Apr 2017 01:18:07 +0000 (18:18 -0700)]
Delete moved files
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Jiyoung Giuliana Yun [Wed, 12 Apr 2017 12:11:03 +0000 (21:11 +0900)]
Change default clang version to clang3.9 in cross build (#10889)
If we use clang3.9 version, we will use O3 option for optimization.
Otherwise, use O1 option as before.
Stephen Toub [Wed, 12 Apr 2017 11:39:56 +0000 (07:39 -0400)]
Fix build badges in OfficialAndDailyBuilds.md
- None of the badge links were correct, resulting in every badge always showing
as "Building" regardless of actual status
- The OSX badge links would 404.
- We were still using shields.io badges, which have been unreliable.
I've fixed all of these.
Mikhail Skvortcov [Wed, 12 Apr 2017 06:18:08 +0000 (09:18 +0300)]
RyuJIT/ARM32: encodable offsets for ld/st
Aditya Mandaleeka [Wed, 12 Apr 2017 01:49:44 +0000 (18:49 -0700)]
Rename overloaded "table" to "store" for VM side concept.
Hyeongseok Oh [Wed, 12 Apr 2017 01:54:52 +0000 (10:54 +0900)]
Fix CI tizen build error (#10909)
Fix CI tizen build error caused by chmod
Aditya Mandaleeka [Wed, 12 Apr 2017 01:28:03 +0000 (18:28 -0700)]
Hide knowledge of handle table buckets and home heaps from VM side.
Aditya Mandaleeka [Wed, 12 Apr 2017 01:08:08 +0000 (18:08 -0700)]
Delete Ref_ContainHandle and ContainsOBJECTHANDLE.
Aditya Mandaleeka [Wed, 12 Apr 2017 01:05:05 +0000 (18:05 -0700)]
Add GetNewHandleTable and GetGlobalHandleTable to interface.
Aditya Mandaleeka [Wed, 12 Apr 2017 00:58:14 +0000 (17:58 -0700)]
Remove GetHandleTableForHandle and add CreateDuplicateHandle.
Aditya Mandaleeka [Wed, 12 Apr 2017 00:50:13 +0000 (17:50 -0700)]
Replace GetHandleTableContext with GetHandleContext.
Aditya Mandaleeka [Wed, 12 Apr 2017 01:27:23 +0000 (18:27 -0700)]
Merge pull request #10882 from adityamandaleeka/double_init_appdomain_creation
Remove double initialization of variables in app domain creation
Aditya Mandaleeka [Wed, 12 Apr 2017 00:53:56 +0000 (17:53 -0700)]
Merge pull request #10877 from adityamandaleeka/handle_table_local_gc_nullchecks
[Local GC] Move handle null checking code to VM side
Jan Kotas [Wed, 12 Apr 2017 00:44:40 +0000 (17:44 -0700)]
Move files to shared CoreLib partition (#10885)
Aditya Mandaleeka [Wed, 12 Apr 2017 00:36:38 +0000 (17:36 -0700)]
Merge pull request #10816 from adityamandaleeka/handle_table_local_gc_init
[Local GC] Move handle destruction code to IGCHandleTable
William Godbe [Wed, 12 Apr 2017 00:03:05 +0000 (17:03 -0700)]
Merge pull request #10907 from wtgodbe/BuildTypeReporting2
Pass null instead of empty for PB_BuildType
wtgodbe [Wed, 12 Apr 2017 00:02:47 +0000 (17:02 -0700)]
Pass null instead of empty for PB_BuildType
William Godbe [Tue, 11 Apr 2017 23:56:15 +0000 (16:56 -0700)]
Merge pull request #10906 from wtgodbe/BuildTypeReporting
Pass PB_BuildType as a Pipeline ReportingParameter
wtgodbe [Tue, 11 Apr 2017 23:55:34 +0000 (16:55 -0700)]
Pass PB_BuildType as a Pipeline ReportingParameter
Pat Gavlin [Tue, 11 Apr 2017 23:46:48 +0000 (16:46 -0700)]
Fix a number of reordering issues in shift decomposition.
Shift decompostition contained a fair number of IR rewrites that were
unintentionally reordering nodes. This change fixes these instances s.t.
they no longer reorder code.
William Godbe [Tue, 11 Apr 2017 23:37:34 +0000 (16:37 -0700)]
Merge pull request #10899 from wtgodbe/PipelineReporting
Add last set of reportingParameters to pipelines.json
Bruce Forstall [Tue, 11 Apr 2017 23:36:18 +0000 (16:36 -0700)]
Merge similar arm32/arm64 codegen functions
wtgodbe [Tue, 11 Apr 2017 20:03:45 +0000 (13:03 -0700)]
Add last set of reportingParameters to pipelines.json
Andy Ayers [Tue, 11 Apr 2017 21:31:11 +0000 (14:31 -0700)]
Merge pull request #10867 from AndyAyersMS/FixSingleDefBug
Jit: fix issue with single-def type propagation
Mandar Sahasrabuddhe [Tue, 11 Apr 2017 20:43:22 +0000 (02:13 +0530)]
CoreFx #15622 Dictionary<TKey, TValue>.Remove(TKey, out TValue) (#10203)
Bruce Forstall [Tue, 11 Apr 2017 20:38:37 +0000 (13:38 -0700)]
Merge pull request #10880 from BruceForstall/ArmCommon
Create common files for ARM32 and ARM64 common code
Pat Gavlin [Tue, 11 Apr 2017 20:29:23 +0000 (13:29 -0700)]
Merge pull request #10876 from pgavlin/VSO406156
Fix a few errors in cast decomposition.
Jan Kotas [Tue, 11 Apr 2017 20:22:50 +0000 (13:22 -0700)]
Move a few more types from CoreFX to CoreLib (#10893)
Reducing shards between CoreCLR and CoreRT shards
Matt Galbraith [Tue, 11 Apr 2017 18:39:27 +0000 (11:39 -0700)]
Merge pull request #10894 from dotnet/Add_Build_Type
Add some BuildType and Subtype info to CoreCLR build pipeline definition
Jan Kotas [Tue, 11 Apr 2017 16:00:23 +0000 (09:00 -0700)]
Merge pull request dotnet/corert#3288 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Bruce Forstall [Tue, 11 Apr 2017 02:01:34 +0000 (19:01 -0700)]
Create common files for ARM32 and ARM64 common code
Create codegenarmarch.cpp, lowerarmarch.cpp, lsraarmarch.cpp.
For codegenarmarch.cpp, I copied over a bunch of functions that
are almost identical between arm and arm64. I left the functions
intact (didn't change anything), so created one for ARM32 and
one for ARM64, unless they were truly identical. A follow-up
will be to actually merge the functions.
For lowerarmarch.cpp and lsraarmarch.cpp, I did the function
merge for nearly (or completely) identical functions, since
there were so many that were so similar.
Matt Galbraith [Tue, 11 Apr 2017 17:25:51 +0000 (10:25 -0700)]
Add some BuildType and Subtype info to CoreCLR build pipeline definition
Pat Gavlin [Tue, 11 Apr 2017 17:18:57 +0000 (10:18 -0700)]
Merge pull request #10886 from hseok-oh/ci/fix_ci_error
Fix CI test error: permission error
Jan Kotas [Tue, 11 Apr 2017 02:37:42 +0000 (19:37 -0700)]
Merge pull request dotnet/corert#3285 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Hyeongseok Oh [Tue, 11 Apr 2017 08:08:43 +0000 (17:08 +0900)]
Remove sudo in netci.groovy
Hyeongseok Oh [Tue, 11 Apr 2017 07:49:34 +0000 (16:49 +0900)]
Overwrite permission in coreoverlay generation
fix runtest.sh to overwrite corerun's permission in coreoverlay generation
Hyeongseok Oh [Tue, 11 Apr 2017 07:47:27 +0000 (16:47 +0900)]
Fix netci.groovy
Fix netci.groovy instead of test script to avoid rebase
Hyeongseok Oh [Tue, 11 Apr 2017 07:12:10 +0000 (16:12 +0900)]
Fix CI test error: permission error
Fix CoreCLR/CoreFX copy order: permission problem
Sergey Andreenko [Tue, 11 Apr 2017 03:53:38 +0000 (20:53 -0700)]
Do not spill eeStack after ldtoken opcode. (#10215)
Do not spill eeStack if the last opcode was ldtoken.
Aditya Mandaleeka [Tue, 11 Apr 2017 03:21:07 +0000 (20:21 -0700)]
Remove double initialization of variables in app domain creation.
Koundinya Veluri [Tue, 11 Apr 2017 02:48:54 +0000 (19:48 -0700)]
Fix some static methods on ThreadPool to wait for initialization (#10869)
Fix for part of #10521
Bruce Forstall [Tue, 11 Apr 2017 01:50:10 +0000 (18:50 -0700)]
Merge pull request #10782 from parjong/fix/x86_funclet_unwinding
[x86/Linux] Use GCInfo for funclet unwinding
Aditya Mandaleeka [Fri, 7 Apr 2017 00:57:25 +0000 (17:57 -0700)]
Move handle null checks to VM side.
dotnet bot [Tue, 11 Apr 2017 01:02:57 +0000 (18:02 -0700)]
Update CoreClr to preview1-25210-04 (#10862)
Pat Gavlin [Tue, 11 Apr 2017 00:12:40 +0000 (17:12 -0700)]
Merge pull request #10871 from pgavlin/PipelineCompatJit
Package compatjit.dll in pipeline builds.
Pat Gavlin [Mon, 10 Apr 2017 23:58:46 +0000 (16:58 -0700)]
Merge pull request #10866 from pgavlin/VSO405852
Fix VSO bug 405852.
Pat Gavlin [Mon, 10 Apr 2017 23:26:17 +0000 (16:26 -0700)]
Fix a few errors in cast decomposition.
The cursor was not guaranteed to be in the correct location after cast
decomposition due to the location in which the high result was typically
placed. This mispositioning can cause re-decomposition, which can lead
to asserts e.g. when encountering a GT_LONG node that was left behind by
a previously-decomposed node. This change ensures that the high result
immediately follows the cast node so that the cursor will be in the
correct location following decomposition of the cast.
Dan Moseley [Mon, 10 Apr 2017 23:20:05 +0000 (16:20 -0700)]
empty array (#10841)
Make EmptyArray private in favor of Array.Empty<T>
Roman Artemev [Mon, 10 Apr 2017 22:55:54 +0000 (15:55 -0700)]
Merge pull request #10814 from rartemev/ilasm_reference_resolver_fix
Added 'netstandard' corelib name into ilasm reference resolver
Bruce Forstall [Mon, 10 Apr 2017 22:55:14 +0000 (15:55 -0700)]
Merge pull request #10808 from sdmaclea/PR-ARM64-enable-initblk-unroll
[Arm64] enable initblk loop unrolling
Jonghyun Park [Mon, 10 Apr 2017 22:50:56 +0000 (07:50 +0900)]
Extract genInterruptible setting as a separate region
Jonghyun Park [Mon, 10 Apr 2017 22:49:08 +0000 (07:49 +0900)]
Use hasPartialArgInfo instead of isPartialArgInfo
Sergey Andreenko [Mon, 10 Apr 2017 22:41:54 +0000 (15:41 -0700)]
add test with deep execution tree without stores. (#10835)
Add a test that should fail with stack overflow if the compiler doesn't spill trees from time to time.
Pat Gavlin [Mon, 10 Apr 2017 22:27:07 +0000 (15:27 -0700)]
Package compatjit.dll in pipeline builds.
Just what it says on the tin.
Pat Gavlin [Mon, 10 Apr 2017 22:13:58 +0000 (15:13 -0700)]
Format code.
Aditya Mandaleeka [Fri, 7 Apr 2017 22:58:29 +0000 (15:58 -0700)]
Move handle destruction code to IGCHandleTable.
Conflicts:
src/vm/gchandletableutilities.h
Pat Gavlin [Mon, 10 Apr 2017 21:17:08 +0000 (14:17 -0700)]
Fix VSO bug 405852.
This bug was due to a mismatch between the semantics of the FP modulus
operator as specified by ECMA-335 and as implemented by value numbering.
ECMA-335 requires the following behavior for FP modulus:
- If the divisor is 0 or the dividend is not finite, the result is NaN
- If the divisor is not finite and is not NaN, the result is the
dividend.
Value numbering, however, simply used `fmod`, which does not have these
semantics. This change implements the required semantics in VN.
Jan Kotas [Mon, 10 Apr 2017 20:57:03 +0000 (13:57 -0700)]
Add back UnmanagedType.LPUTF8Str (#10859)
Rew [Mon, 10 Apr 2017 20:06:49 +0000 (16:06 -0400)]
CoreLib Build System portability updates (#10839)
Updates to corelib project file for target specific includes. Intended
to ease maintainability of existing targets and clarify necessary work
for new targets.
Koundinya Veluri [Mon, 10 Apr 2017 20:00:48 +0000 (13:00 -0700)]
Fix contract to allow call into GarbageCollect() to throw (#10856)
I did not intend to mark this function as NOTHROW, and there is no reason to expect NOTHROW here. Other functions that call into GarbageCollect() allow THROWS.
Aditya Mandaleeka [Mon, 10 Apr 2017 19:53:41 +0000 (12:53 -0700)]
Merge pull request #10823 from adityamandaleeka/move_variable_handle_creation
Refactor variable strength handle creation
Omar Tawfik [Mon, 10 Apr 2017 19:52:22 +0000 (12:52 -0700)]
Add empty System.Runtime.CompilerServices.RuntimeFeature.IsSupported() API (#10779)
Roman Artemev [Fri, 7 Apr 2017 23:07:14 +0000 (16:07 -0700)]
Added netstandard corelib into ilasm reference resolver
Atsushi Kanamori [Mon, 10 Apr 2017 19:43:24 +0000 (12:43 -0700)]
Fix perf penalty for creating dictionaries the easy way. (#10855)
We went to the trouble of mitigating the perf hit
introduced by using randomized string hashing.
I assume that said perf benefit wasn't meant to be denied
to the 90% case where people use the nullary
constructor to create the Dictionary...
Andy Ayers [Mon, 10 Apr 2017 19:05:49 +0000 (12:05 -0700)]
Jit: fix issue with single-def type propagation
To avoid overly aggressive type propagation when there are multiple
reaching definitions, only propagate types to single-IL-def locals
when the definiting value comes from the same basic block as the store.
We check this conservatively by insisting that the block's entry stack
be empty.
Added a test case where the jit will improperly devirtualize without
such a check.
Closes #10858.
[Arm64] Cleanup/fix InitBlkUnroll
dotnet bot [Mon, 10 Apr 2017 18:18:31 +0000 (11:18 -0700)]
Update CoreFx to preview1-25210-01 (#10850)
James Ko [Mon, 10 Apr 2017 17:26:12 +0000 (13:26 -0400)]
Implement slicing APIs for ArraySegment<T> (#9926)
Ilya [Mon, 10 Apr 2017 17:21:41 +0000 (20:21 +0300)]
Incorrect parameter order found by PVS-Studio (#10497)
* Incorrect parameter order found by PVS-Studio
I used PVS-Studio static analyzer to check this project. I would like to suggest a variant of the way to fix the error, detected with the help of V3066 diagnostic https://www.viva64.com/en/w/V3066/
Atsushi Kanamori [Mon, 10 Apr 2017 17:14:09 +0000 (10:14 -0700)]
Get rid of "#if FEATURE_RANDOMIZED_STRING_HASHING" in shared partition. (#10851)
Since CoreCLR defines it (for now) and CoreRT doesn't, let's not have
"#if's" on this in shared code. It just creates confusion.
The only ones are in StringComparer.cs and fortunately, they are quite
expendable as...
1. It's only purpose is serialize Hashtables and Dictionaries in
a way that CLR 1.1 can deserialize them. We don't care about that in
.NET Core.
2. In CoreCLR as of today, this infrastructure is not changing the serialization
blob one iota since all the GetEqualityComparerForSerialization() methods
return "this."
So this removes the appearance of downgrading the comparers to non-randomized
versions for serialization purposes (and yes, we could go on and remove
all the other "let's do it for Everett and RTM" stuff in Hashtable.cs, but
I want to keep this PR on topic. Hashtable.cs is not going to be imported
into CoreRT so it's low priority for me.)
Cyd Haselton [Mon, 10 Apr 2017 17:03:53 +0000 (12:03 -0500)]
Updating CODE_OWNERS.TXT (#10834)
Added Nuget package implementation owners
Sergey Andreenko [Mon, 10 Apr 2017 16:41:49 +0000 (09:41 -0700)]
Forbid lea without index and base. (#10771)
Jan Kotas [Mon, 10 Apr 2017 16:28:38 +0000 (09:28 -0700)]
Delete FEATURE_READYTORUN define for CoreLib build (#10840)
This define does not have much value for the CoreLib build, and it was missing on arm64.
Also deleted dead props and targets files left over from the legacy build
Jonghyun Park [Mon, 10 Apr 2017 13:21:11 +0000 (22:21 +0900)]
[x86/Linux] Set ResumeEsp as Caller Sp when unwond to native frame (#10838)
Jonghyun Park [Mon, 10 Apr 2017 12:51:10 +0000 (21:51 +0900)]
[x86/Linux] 16-byte aligned ResolveWorkerChainLookupAsmStub (#10754)
Buyduck [Mon, 10 Apr 2017 12:48:57 +0000 (16:48 +0400)]
* Fixed issue, when structures with many fields had wrong size in dwarf (#10797)
Jan Kotas [Mon, 10 Apr 2017 05:53:50 +0000 (22:53 -0700)]
Move files to shared CoreLib partition (#10837)
Aditya Mandaleeka [Sat, 8 Apr 2017 01:44:23 +0000 (18:44 -0700)]
Move variable handle creation.
Sean Gillespie [Sun, 9 Apr 2017 20:58:29 +0000 (13:58 -0700)]
[Local GC] Move knowledge of the free object method table outside of the GC (#10755)
* [Local GC] Move knowledge of the free object method table outside of the GC
* Revert "[Local GC] Move knowledge of the free object method table outside of the GC"
This reverts commit
02979e5eb12dd44edb2603e16411dd7d7ffc377d.
* Address code review feedback: leave ArrayBase alone, as it should be part of the binary contract between the EE and the GC
* Correct a bad merge
Jan Kotas [Sun, 9 Apr 2017 13:55:23 +0000 (06:55 -0700)]
Move files to shared CoreLib partition (#10830)
Joseph Tremoulet [Sun, 9 Apr 2017 06:50:02 +0000 (02:50 -0400)]
Update VS2017 'Individual Components' install info (#10695)
A few small changes to make it easier to compare selections in the
installer UI against the list in the doc:
- Re-order the list to match the order presented in the installer UI
- Place the individual items under groupings matching the installer
- Change casing to match installer UI
Jan Kotas [Sun, 9 Apr 2017 05:12:22 +0000 (22:12 -0700)]
Delete reference to model.xml since it no longer exists (#10827)