Rahul Kumar [Tue, 16 Aug 2016 01:32:59 +0000 (18:32 -0700)]
update GC shadow heap as part of writebarrier jit helper
Commit migrated from https://github.com/dotnet/coreclr/commit/
607816f034c9a09effb4831959e767dc2d11baa6
Koundinya Veluri [Mon, 15 Aug 2016 18:52:40 +0000 (11:52 -0700)]
Merge pull request dotnet/coreclr#6516 from benaadams/WorkerThreadStart
WorkerThreadStart volatile read+cmpxchg loop
Commit migrated from https://github.com/dotnet/coreclr/commit/
a521502de086e0f3bb538e86971cd0098b9db828
Atsushi Kanamori [Mon, 15 Aug 2016 17:00:09 +0000 (10:00 -0700)]
Merge pull request dotnet/coreclr#6745 from AtsushiKan/rv
Fix issue https://github.com/dotnet/coreclr/issues/6600
Commit migrated from https://github.com/dotnet/coreclr/commit/
f03c2dc08c5d89b40fcb0643d6e0ee97f5f1fbcb
Atsushi Kanamori [Mon, 15 Aug 2016 13:52:29 +0000 (06:52 -0700)]
Fix issue https://github.com/dotnet/coreclr/issues/6600
Return parameters not accomodated in
Attribute.GetParentDefinition(ParameterInfo)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab1d3284192d24834f8bc1e1cae7ca396868fcd3
Jan Kotas [Sun, 14 Aug 2016 06:15:57 +0000 (23:15 -0700)]
Merge pull request dotnet/coreclr#6740 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
2578e13a323f09ffc17ad8021a1a8d1c7df6dabd
Jan Kotas [Sun, 14 Aug 2016 01:52:58 +0000 (18:52 -0700)]
Fixup a few contracts
[tfs-changeset: 1622296]
Commit migrated from https://github.com/dotnet/coreclr/commit/
c1d05a8456344bba910290214532c2387bbc985e
Wes Haggard [Sat, 13 Aug 2016 07:05:33 +0000 (00:05 -0700)]
Merge pull request dotnet/coreclr#6731 from weshaggard/FixSerializationPackageVersion
Update version of S.R.Serialization.Primitives to version 4.1.1
Commit migrated from https://github.com/dotnet/coreclr/commit/
fda4f89e370fbc3940c266f8f866f45c8787f183
Rahul Kumar [Sat, 13 Aug 2016 06:09:19 +0000 (23:09 -0700)]
Merge pull request dotnet/coreclr#6728 from rahku/typeloaderHang
Issue: If two threads try to load the same type it can cause clr to h…
Commit migrated from https://github.com/dotnet/coreclr/commit/
5ced949f2051c84d7a492a0081a3c517cef06906
Rahul Kumar [Sat, 13 Aug 2016 06:08:18 +0000 (23:08 -0700)]
Merge pull request dotnet/coreclr#6726 from rahku/fixes
In intGCShadow() first reserve memory before committing
Commit migrated from https://github.com/dotnet/coreclr/commit/
68c2b8f773767032c9525d105ff7ba90a7c23dad
Wes Haggard [Sat, 13 Aug 2016 04:51:07 +0000 (21:51 -0700)]
Update version of S.R.Serialization.Primitives to version 4.1.1
Commit migrated from https://github.com/dotnet/coreclr/commit/
429b0fd89c30e5f3f7bc1dd5d2954c0167f940a6
Pat Gavlin [Sat, 13 Aug 2016 02:11:09 +0000 (19:11 -0700)]
Merge pull request dotnet/coreclr#6729 from pgavlin/Reformat
Re-reformat the JIT sources.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f5de2db5639a5d055b836e1c814c6fbe5d394b07
Rahul Kumar [Sat, 13 Aug 2016 00:41:03 +0000 (17:41 -0700)]
review fixes
Commit migrated from https://github.com/dotnet/coreclr/commit/
69d0c32ef5500ad1f94bc04401acb3a07c7ae120
Rahul Kumar [Sat, 13 Aug 2016 00:29:02 +0000 (17:29 -0700)]
In intGCShadow() first reserve memory before committing. VirtualCommit does not accept NULL as input address
Commit migrated from https://github.com/dotnet/coreclr/commit/
13d46168b98198cbc1fe4e54b6a54e5f03ee35b7
Pat Gavlin [Fri, 12 Aug 2016 23:51:22 +0000 (16:51 -0700)]
Reformat the JIT sources.
The sources were formatted using jit-format on Windows with the
following command lines in the following order:
`jit-format.cmd -o Windows -b Checked -a x64 -f`
`jit-format.cmd -o Windows -b Debug -a x64 -f`
`jit-format.cmd -o Windows -b Release -a x64 -f`
The versions of clang-format and clang-tidy that were invoked by
jit-format were:
clang-format version 3.8.1 (branches/release_38)
LLVM (http://llvm.org/):
LLVM version 3.8.1
Optimized build with assertions.
Built Jun 22 2016 (12:19:56).
Default target: x86_64-pc-windows-msvc
Host CPU: sandybridge
Commit migrated from https://github.com/dotnet/coreclr/commit/
4e3108ce18ce4c436a9b2479ca9914556d51a107
Pat Gavlin [Fri, 12 Aug 2016 23:34:18 +0000 (16:34 -0700)]
Massage the code a bit for jit-format w/ Clang 3.8.
Manually insert a few braces that would otherwise have been inserted
in the wrong place.
Commit migrated from https://github.com/dotnet/coreclr/commit/
828c4a1c7099905e2449692ee32fc64b4a35b507
Pat Gavlin [Fri, 12 Aug 2016 22:10:30 +0000 (15:10 -0700)]
Revert dotnet/coreclr#6686.
The code was accidentally formatted with Clang 3.9. It will be reformatted
with Clang 3.8 and a new PR submitted.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f44d3011a49d443eb8198234a6e16cdc7772d97
Rahul Kumar [Fri, 12 Aug 2016 23:47:47 +0000 (16:47 -0700)]
Issue: If two threads try to load the same type it can cause clr to hang if the first thread to start the load happens to be a background thread. Background thread would create PendingTypeLoadEntry and insert it into unresolvedClassHash. Second thread (having normal priority) would block on PendingTypeLoadEntry->m_crst waiting for the background thread to unblock it. After doing partial load of type background thread periodically checks if there are other threads waiting for type to get loaded. In this case it does find a thread waiting so it unblocks thread. However, background thread has not removed PendingTypeLoadEntry from unresolvedClassHash. This causes the second thread to continue spinning and so not allowing background thread to get any processor cycles to remove PendingTypeLoadEntry from unresolvedClassHash. This cause app to be seem like it has hung. It is possible that this may not repro on multi-proc machine where the background thread can get scheduled on another processor when second thread continues to spin on another processor.
Fix: First remove the PendingTypeLoadEntry from unresolvedClassHash and then unblock the waiting threads.
Commit migrated from https://github.com/dotnet/coreclr/commit/
479485f3f44172e82e5c2f3eb1aba389072df325
Jarret Shook [Fri, 12 Aug 2016 22:00:47 +0000 (15:00 -0700)]
Merge pull request dotnet/coreclr#6721 from jashook/disable_jit32_tests
Disable tests to get jit32 jobs green
Commit migrated from https://github.com/dotnet/coreclr/commit/
99d29f3284cdc84df69e1c0a91cba72419751956
Russ Keldorph [Fri, 12 Aug 2016 21:58:10 +0000 (14:58 -0700)]
Merge pull request dotnet/coreclr#6685 from RussKeldorph/test-native-log
Re-enable creating Tests_Native* log files
Commit migrated from https://github.com/dotnet/coreclr/commit/
b623bd7bd8807e980b601174950d3c437b117793
Sasha Semennikov [Fri, 12 Aug 2016 21:34:57 +0000 (14:34 -0700)]
Fix exception filter getter for native frames (dotnet/coreclr#6723)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7a2851131b89a21f685b580718c1f1475328b758
Fadi Hanna [Fri, 12 Aug 2016 19:54:24 +0000 (12:54 -0700)]
Fixing priority on tests (making tests P1) (dotnet/coreclr#6706)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a3ea82e3fab05389587664604c170dfb011bf31b
Jan Kotas [Fri, 12 Aug 2016 19:50:37 +0000 (12:50 -0700)]
Merge pull request dotnet/coreclr#6722 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
bfda7b094df06c10215e0194413aa2ceba7d0787
Jan Kotas [Fri, 12 Aug 2016 17:51:58 +0000 (10:51 -0700)]
More fixes for unreachable code warnings with older compiler
[tfs-changeset: 1622213]
Commit migrated from https://github.com/dotnet/coreclr/commit/
98f0f90880be5e37e2d21d08fbb9cd03e99a769a
jashoo [Fri, 12 Aug 2016 17:25:09 +0000 (10:25 -0700)]
Disable tests to get jit32 jobs green
See issues dotnet/coreclr#6720, dotnet/coreclr#6718, dotnet/coreclr#6714 for more information
Commit migrated from https://github.com/dotnet/coreclr/commit/
85f2c3f0a27143580902eff2082d2586095f1379
Jan Kotas [Fri, 12 Aug 2016 15:02:48 +0000 (08:02 -0700)]
Merge pull request dotnet/coreclr#6712 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
3e6f64fc55703a3937704a52b583fb891969bd8f
Jonghyun Park [Fri, 12 Aug 2016 15:02:22 +0000 (00:02 +0900)]
Enable FEATURE_STUBS_AS_IL for ARM/Linux (dotnet/coreclr#6500)
This commit enables FEATURE_STUBS_AS_IL for ARM/Linux. This commit
tries to fix dotnet/coreclr#6452.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6abfacbb2da9b4ddbe59ac59de3fb98b3f90833a
Jan Kotas [Fri, 12 Aug 2016 06:36:12 +0000 (23:36 -0700)]
Fix unreachable code warnings with MSVC++ 18.10
[tfs-changeset: 1622176]
Commit migrated from https://github.com/dotnet/coreclr/commit/
6b42745af681305daff144cf6ade2785a665e508
William Godbe [Thu, 11 Aug 2016 21:48:38 +0000 (14:48 -0700)]
Merge pull request dotnet/coreclr#6690 from wtgodbe/regioninfo
Fix region info test on Debian
Commit migrated from https://github.com/dotnet/coreclr/commit/
79120130f96574de549de69fd06888cac444f878
wtgodbe [Wed, 10 Aug 2016 21:16:48 +0000 (14:16 -0700)]
Fix region info test on Debian
Commit migrated from https://github.com/dotnet/coreclr/commit/
3394c212371569e6c909da839823d1e069f23a0a
Michelle McDaniel [Thu, 11 Aug 2016 20:39:22 +0000 (13:39 -0700)]
Merge pull request dotnet/coreclr#6686 from adiaaida/formatted
Reformat jit source base using clang-format and clang-tidy
Commit migrated from https://github.com/dotnet/coreclr/commit/
aba1583d368ada3032d6b94ce2614c249b8ee6ff
Brian Sullivan [Thu, 11 Aug 2016 20:12:40 +0000 (13:12 -0700)]
Merge pull request dotnet/coreclr#6701 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
cf9b7a74376521dc256afd89e176d59f52a22861
William Godbe [Thu, 11 Aug 2016 19:13:32 +0000 (12:13 -0700)]
Merge pull request dotnet/coreclr#6704 from dotnet/wtgodbe-patch-1
Update unix test instructions
Commit migrated from https://github.com/dotnet/coreclr/commit/
555cf28517a6fb1c151b80cf3fa93d71d0aacc9f
William Godbe [Thu, 11 Aug 2016 19:13:19 +0000 (12:13 -0700)]
Update unix test instructions
Commit migrated from https://github.com/dotnet/coreclr/commit/
7b4438599fa0b995710d4778ba18743732825282
William Godbe [Thu, 11 Aug 2016 18:59:47 +0000 (11:59 -0700)]
Merge pull request dotnet/coreclr#6702 from dotnet/RunTestDocumentation
Fix linux test running documentation
Commit migrated from https://github.com/dotnet/coreclr/commit/
77a046a9bcd0889a0171a7682f802c4e668bb0e5
William Godbe [Thu, 11 Aug 2016 18:59:35 +0000 (11:59 -0700)]
Fix linux test running documentation
We should specify that corefx will be from a Debug build, not a Release build.
Commit migrated from https://github.com/dotnet/coreclr/commit/
596d42e2b443b0dfc842dee4c45c8d94a05edf3a
smile21prc [Thu, 11 Aug 2016 17:45:10 +0000 (10:45 -0700)]
Merge pull request dotnet/coreclr#6637 from smile21prc/coreclr-perf
Automate the perf data collection for JIT CodeQuality benchmarks on Windows.
Commit migrated from https://github.com/dotnet/coreclr/commit/
be7e48ff0ae3dfb4bf90b5bbe2faf9d359d2b37f
Jan Kotas [Thu, 11 Aug 2016 17:32:59 +0000 (10:32 -0700)]
Add missing security annotation
[tfs-changeset: 1622038]
Commit migrated from https://github.com/dotnet/coreclr/commit/
e8e9c46dce5d6c56ed3bf0840b5c633da0a5c1cd
Michelle McDaniel [Tue, 9 Aug 2016 20:15:05 +0000 (13:15 -0700)]
Reformat jit sources with clang-tidy and format
This change is the result of running clang-tidy and clang-format on jit
sources.
Commit migrated from https://github.com/dotnet/coreclr/commit/
36a2b906c008cd3693a9ab5aef7b4402addd6c74
Michelle McDaniel [Tue, 9 Aug 2016 16:59:01 +0000 (09:59 -0700)]
Prepare jit source for clang-tidy
In templates, clang-tidy will replace 0 with nullptr, but this is illegal
for primitive types. This change replaces 0 in two templated functions
with ZERO, which is defined to be 0 to avoid this issue.
Additioanlly, we need to conditionally define some macros for running
under __clang__ so they are found by clang-tidy.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab7d6a8df73d3d89210a778338feaa9fedf4146a
Gaurav Khanna [Thu, 11 Aug 2016 16:27:01 +0000 (09:27 -0700)]
Merge pull request dotnet/coreclr#6657 from gkhanna79/UpdateVer
Update package versions to 1.1.0
Commit migrated from https://github.com/dotnet/coreclr/commit/
75008919114e60aa9d9abd1e6ad5a1d058f48039
hqueue [Thu, 11 Aug 2016 16:21:41 +0000 (01:21 +0900)]
ARM: disable stack unwinding using DWARF (dotnet/coreclr#6700)
libunwind for ARM does not interpret ARM vfpv3/NEON
registers in DWARF format correctly.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
c52e05abd98c299e7f65979f65e541e9d76cd4d2
Gaurav Khanna [Thu, 11 Aug 2016 13:43:38 +0000 (06:43 -0700)]
Merge pull request dotnet/coreclr#6699 from dotnet-bot/UpdateDependencies20160811052348
Updating External dependencies to beta-24411-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
7a84ab0f876d25464d1493c2d02de45da6f9da7e
Rama krishnan Raghupathy [Thu, 11 Aug 2016 08:26:51 +0000 (01:26 -0700)]
Merge pull request dotnet/coreclr#6691 from ramarag/ResolveWorkerChainLookupAsmStubFix
Preserving ResolveCacheElem in X9
Commit migrated from https://github.com/dotnet/coreclr/commit/
08f8d02aa8e0aae07a748443841cbd5455e82240
dotnet-bot [Thu, 11 Aug 2016 05:23:48 +0000 (05:23 +0000)]
Updating External dependencies to beta-24411-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
401fdb1e3243f47ea34f6e5a48ff55a4761eb884
Joseph Tremoulet [Thu, 11 Aug 2016 00:16:31 +0000 (20:16 -0400)]
Merge pull request dotnet/coreclr#6285 from JosephTremoulet/LenProp
Propagate known array lengths to more places
Commit migrated from https://github.com/dotnet/coreclr/commit/
d95be0b7da94613e32617b6539b01042598c0054
Rama Krishnan Raghupathy [Wed, 10 Aug 2016 22:02:35 +0000 (15:02 -0700)]
Preserving ResolveCacheElem in X9
Commit migrated from https://github.com/dotnet/coreclr/commit/
f9e5306c1b5521b311d53fe362cf88bb05d00334
Gaurav Khanna [Wed, 10 Aug 2016 21:58:00 +0000 (14:58 -0700)]
Update Arm32 package version reference
Commit migrated from https://github.com/dotnet/coreclr/commit/
0d42fb71b4db418a0eb140d236826b29b17a24a8
Smile Wei [Wed, 3 Aug 2016 22:20:15 +0000 (15:20 -0700)]
Automate the perf data collection for JIT CodeQuality benchmarks on Windows.
Fix a quote.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cdc68196cc0adc3be2a755fa8b4116f3cf4c8af8
Joseph Tremoulet [Thu, 23 Jun 2016 20:21:13 +0000 (16:21 -0400)]
Propagate known array lengths to more places
Earlyprop limits its propagation of array lengths to blocks marked
BBF_HAS_INDX, for throughput reasons. The importer sets that flag on
blocks that store/load array elements, but not blocks that simply extract
an array's length. This change renames the flag to BBF_HAS_IDX_LEN, and
updates the importer to set it also on blocks with ldlen operations. This
change also updates fgOptWhileLoop to propagate the flag when it
copies such an expression as part of a zero-trip test.
Fixes dotnet/coreclr#2325.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4750bcb738b4c15b7b55650e3c225385163f9d96
Joseph Tremoulet [Wed, 10 Aug 2016 20:30:53 +0000 (16:30 -0400)]
Merge pull request dotnet/coreclr#6682 from JosephTremoulet/ConstantIndex
Update FieldSeq annotations in EarlyProp
Commit migrated from https://github.com/dotnet/coreclr/commit/
4511b187eb6ec6347d8f8b841dc53982fa1d5884
Gaurav Khanna [Wed, 10 Aug 2016 19:24:33 +0000 (12:24 -0700)]
Merge pull request dotnet/coreclr#6671 from gkhanna79/FixLFAN
Fix LoadFromAssemblyName to invoke fallback context
Commit migrated from https://github.com/dotnet/coreclr/commit/
d154b9394578aa4b7e39f8695dc1f773d1a6882b
Rahul Kumar [Wed, 10 Aug 2016 18:47:47 +0000 (11:47 -0700)]
Merge pull request dotnet/coreclr#6606 from rahku/arm64todo
ARM64: Fix for ARM64TODO
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d330b19c14affaa5c76f89df761ac0da6b62176
Rahul Kumar [Thu, 4 Aug 2016 18:43:21 +0000 (11:43 -0700)]
ARM64: Fix for ARM64TODO
Commit migrated from https://github.com/dotnet/coreclr/commit/
1fcecafd7adbc050a951b02d5fe429a70acd3214
Jarret Shook [Wed, 10 Aug 2016 17:48:49 +0000 (10:48 -0700)]
Merge pull request dotnet/coreclr#6683 from jashook/remove_unreachable_code
Fix unreachable code in flowgraph
Commit migrated from https://github.com/dotnet/coreclr/commit/
fb3caf6ca8e1d0826276b117fd1775f0f8f9113e
Russ Keldorph [Wed, 10 Aug 2016 17:22:19 +0000 (10:22 -0700)]
Re-enable creating Tests_Native* log files
Recently we seem to have lost the ability to generate Tests_Native logs.
Currently, there are many build warnings that don't appear in any of the
logs because the native test build output is going to the console only.
The lines I'm adding are already duplicated other times in the same file,
so they are a candidate for refactoring, but I'll leave that for others.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dec551ad4c739d211ea2bb62f4f9762865e571bd
Gaurav Khanna [Wed, 10 Aug 2016 16:26:04 +0000 (09:26 -0700)]
Add StackCrawl reference marker to each of the Assembly.Load implementations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0958f8bc5ecbacecf5d6e1f6c3de59b397f3e26f
jashoo [Wed, 10 Aug 2016 16:19:53 +0000 (09:19 -0700)]
Fix unreachable code in flowgraph
There is debugging information that is expected to be printed; however,
unreachable because the function returns before printing under debug.
Fixed by moved the return past the debug log.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a0f6ec41b156e585580d9cf6a829d2188420a08
Ben Adams [Wed, 10 Aug 2016 15:17:37 +0000 (16:17 +0100)]
Improve Enum.ToString performance (dotnet/coreclr#6645)
Reduces allocations by 66%; increases performance by 600% (x7)
With these changes ToString no longer boxes the value and doesn't create an empty array for `CustomAttributeRecords` when the enum is not flagged; also caches whether the enum is flagged.
It still boxes the enum to Enum to make the ToString virtual call however.
Using the @jkotas enummark :wink:
```csharp
enum MyEnum { One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten };
public static void Main(string[] args)
{
(MyEnum.Seven).ToString();
int start = Environment.TickCount;
for (int i = 0; i <
10000000; i++)
{
(MyEnum.Seven).ToString();
}
int end = Environment.TickCount;
Console.WriteLine((end - start).ToString());
}
```
Pre: 5828ms, 5828ms, 5829ms (1.7M/s)
Post: 828ms, 828ms, 828ms (12.1M/s)
Commit migrated from https://github.com/dotnet/coreclr/commit/
571b963cd4f7af8674d1031c4adefb3d8bc47618
Gaurav Khanna [Wed, 10 Aug 2016 14:32:05 +0000 (07:32 -0700)]
Merge pull request dotnet/coreclr#6678 from dotnet-bot/UpdateDependencies20160810052139
Updating External dependencies to beta-24410-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
3afa34a104960b5057b38e83724b79cacce41285
Peter Jas [Wed, 10 Aug 2016 06:12:51 +0000 (09:12 +0300)]
Fix for VCR
190024210 and Win SDK 10.0.14393.0 (dotnet/coreclr#6674)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ddc41e60c6f4382c350b9b5cbcc0fd2e903c1e7
dotnet-bot [Wed, 10 Aug 2016 05:21:39 +0000 (05:21 +0000)]
Updating External dependencies to beta-24410-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
e07c6e9b53de04a6033eee71ccd3330200b287b8
Ben Adams [Wed, 10 Aug 2016 00:10:43 +0000 (01:10 +0100)]
Fix MemoryBarrier
Commit migrated from https://github.com/dotnet/coreclr/commit/
a0597dae2368fecea16c21f2d9f255476c330818
Ben Adams [Tue, 9 Aug 2016 23:15:18 +0000 (00:15 +0100)]
Insert MemoryBarrier revert Comthreadpool
Commit migrated from https://github.com/dotnet/coreclr/commit/
519dcde5a6c4fe999e08219e7edd7c9f90e6c96e
Egor Chesakov [Tue, 9 Aug 2016 22:25:45 +0000 (15:25 -0700)]
Merge pull request dotnet/coreclr#6653 from echesakov/StackAllocation
Work towards objects stack allocation
Commit migrated from https://github.com/dotnet/coreclr/commit/
37798423fb035625192b4fac90a329e17b90d562
Ben Adams [Tue, 9 Aug 2016 20:40:09 +0000 (21:40 +0100)]
PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
2e0332af6a6889e350c229dac5293b9e3d9b60a3
Fadi Hanna [Tue, 9 Aug 2016 20:08:02 +0000 (13:08 -0700)]
TypeSystem generics test cases (dotnet/coreclr#6663)
TypeSystem generics test cases (TypeGenerator tests)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0093a35fcbc3c0e965915ee930f60a7a07931a13
Ben Adams [Sat, 30 Jul 2016 00:07:52 +0000 (01:07 +0100)]
Align to reduce false sharing
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd0d60049463b3eb1a598976b494dfe6af8e572b
Ben Adams [Fri, 29 Jul 2016 17:01:33 +0000 (18:01 +0100)]
Adjust fences and add padding
Commit migrated from https://github.com/dotnet/coreclr/commit/
b8220e45b14ea4174e323b1ca7b74ac2fd128e0e
Ben Adams [Fri, 29 Jul 2016 00:50:03 +0000 (01:50 +0100)]
Reduce false sharing in ManagedPerAppDomainTPCount
Commit migrated from https://github.com/dotnet/coreclr/commit/
a033207e0dbe403473c4c980d9b5646131d84776
Ben Adams [Fri, 29 Jul 2016 00:23:54 +0000 (01:23 +0100)]
GetCleanCounts to Volatile read on x64
Use GetCleanCounts where result is used directly and
DangerousGetDirtyCounts when used as part of compare exchange loop
Commit migrated from https://github.com/dotnet/coreclr/commit/
2de9a699402abc72b5cb998370838ecf6d84f00e
Ben Adams [Thu, 28 Jul 2016 22:36:12 +0000 (23:36 +0100)]
WorkerThreadStart volatile read+cmpxchg loop
Commit migrated from https://github.com/dotnet/coreclr/commit/
bfef88129d20c1b4fbf3a56269d1a4e9c50bcc29
Gaurav Khanna [Mon, 1 Aug 2016 19:03:26 +0000 (12:03 -0700)]
Fix LoadFromAssemblyName to invoke fallback context (analogous to static assembly loads within the context)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ed1a0cb90d85afb4a5c60be4e9f412048c5e187
Joseph Tremoulet [Fri, 5 Aug 2016 18:01:35 +0000 (14:01 -0400)]
Update FieldSeq annotations in EarlyProp
When morph expands `ldelem`s, it annotates local vars and int constants
that contribute linearly to the index. When value-numbering runs,
ParseArrayAddress must still be able to discover annotations. EarlyProp
runs between morph and value-numbering, and might replace a `ldlen` that
happens to be in an array index expression with a constant. This change
updates EarlyProp to call LabelIndex in such cases to annotate the
constants appropriately for their new context.
In order to ensure that EarlyProp can determine whether a replacement is
in an array index context or not, this change also adds a new flag
`GTF_ARRLEN_ARR_IDX`, which LabelIndex sets on GT_ARR_LENGTH nodes and
EarlyProp can subsequently check.
Fixes dotnet/coreclr#6649.
Commit migrated from https://github.com/dotnet/coreclr/commit/
37218abfe3c6b4c28d3edae488060cb89d54d786
vinnyrom [Tue, 9 Aug 2016 13:21:11 +0000 (06:21 -0700)]
The call to LOG expects a pointer argument, but the actual argument was of class type 'ComCallWrapperPtr'. (dotnet/coreclr#6665)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f645eb0fda0c4fcf3f2daa45e18d798335dcd4a
Gaurav Khanna [Tue, 9 Aug 2016 06:46:52 +0000 (23:46 -0700)]
Merge pull request dotnet/coreclr#6668 from dotnet-bot/UpdateDependencies20160809052353
Updating External dependencies to beta-24409-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
28f24f784f6433fb959687a3bff1073bdedd6f3e
dotnet-bot [Tue, 9 Aug 2016 05:23:53 +0000 (05:23 +0000)]
Updating External dependencies to beta-24409-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
3df77b210def5cd5d284a15b43824f49566de718
Egor Chesakov [Thu, 21 Jul 2016 22:37:41 +0000 (15:37 -0700)]
Work towards objects stack allocation: moved allocation part of newobj-lowering into separate phase
1. Introduced `GT_ALLOCOBJ` node to mark places where object allocation happens
2. In `importer.cpp` changed lowering of allocation part of newobj instruction from an allocation helper call to a `GT_ALLOCOBJ` node creation
3. Created new phase `ObjectAllocator` (`PHASE_ALLOCATE_OBJECTS`) and put it right after dominator computing (we will need the information for escape analysis)
4. Current implementation of ObjectAllocator walks over all basic blocks having flag `BBF_HAS_NEWOBJ` set and replaces `GT_ALLOCOBJ` with an allocation helper call
Commit migrated from https://github.com/dotnet/coreclr/commit/
3c30aa1642ac52844aa3078fd6bc79a06f5c586a
Rahul Kumar [Tue, 9 Aug 2016 00:50:14 +0000 (17:50 -0700)]
Merge pull request dotnet/coreclr#6662 from rahku/disabletransparencychecks
Disable few more transparency checks for .net core
Commit migrated from https://github.com/dotnet/coreclr/commit/
7a961d523efd84188f285a933c28dd7615ae8864
Rahul Kumar [Tue, 9 Aug 2016 00:01:30 +0000 (17:01 -0700)]
Merge pull request dotnet/coreclr#6660 from rahku/stackwalkerFix
Port CSdotnet/coreclr#1596330 from netfxdev1 (bugdotnet/coreclr#119959)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc26ef0b198a2dd9024eb138c6cf92c31be74434
Rahul Kumar [Mon, 8 Aug 2016 23:39:10 +0000 (16:39 -0700)]
Merge pull request dotnet/coreclr#6659 from rahku/warning
Fix compiler warnings
Commit migrated from https://github.com/dotnet/coreclr/commit/
28e61e769af1f077656f638d00eaff3e72ff87b3
Rahul Kumar [Mon, 8 Aug 2016 22:50:15 +0000 (15:50 -0700)]
Disable few more transparency checks for .net core
Commit migrated from https://github.com/dotnet/coreclr/commit/
3961c702b9b9cce2a2bab1792446f40b19ddb260
Jarret Shook [Mon, 8 Aug 2016 22:50:13 +0000 (15:50 -0700)]
Merge pull request dotnet/coreclr#6656 from jashook/arm_link_fix
Fix for missing symbol OnHijackTripThread
Commit migrated from https://github.com/dotnet/coreclr/commit/
e13714fbc7ca2add256c82d8cb380cf9ec1bcc16
John Chen [Mon, 8 Aug 2016 22:37:35 +0000 (15:37 -0700)]
Merge pull request dotnet/coreclr#6652 from JohnChen0/crossgen-createpdb
Modify "crossgen -createpdb" to skip loading clrjit.dll (dotnet/coreclr#6607)
Commit migrated from https://github.com/dotnet/coreclr/commit/
be449e2672887c6863b94dcbe9b67985ba5a240d
Rahul Kumar [Mon, 8 Aug 2016 21:35:40 +0000 (14:35 -0700)]
Fix compiler warnings
Commit migrated from https://github.com/dotnet/coreclr/commit/
10075dd562da63d51bf6908df3b2b1c584c08fea
Rahul Kumar [Mon, 8 Aug 2016 22:06:30 +0000 (15:06 -0700)]
Port CSdotnet/coreclr#1596330 from netfxdev1 (bugdotnet/coreclr#119959)
Commit migrated from https://github.com/dotnet/coreclr/commit/
86057250324ea3585383c39392a95471132112a0
Wes Haggard [Mon, 8 Aug 2016 21:40:41 +0000 (14:40 -0700)]
Refresh mscorlib reference assembly based on what is in S.P.C (dotnet/coreclr#6655)
Split mscorlib.cs into mscorlib.manual.cs for the internal
members we needed to expose. Used the genapi tool from
https://github.com/dotnet/buildtools/tree/master/src/GenAPI.Desktop
to generate mscorlib.cs. It doesn't exactly match due to some
much easier just by running genapi against S.P.CoreLib.
Commit migrated from https://github.com/dotnet/coreclr/commit/
275aa1a847dfbbb69731251037cd0fa018f2cf62
Gaurav Khanna [Thu, 4 Aug 2016 19:27:34 +0000 (12:27 -0700)]
Update package versions to 1.1.0
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f650201bac6fc986257b9ea548c747d1ba0fd13
John Chen (CLR) [Fri, 5 Aug 2016 23:08:18 +0000 (16:08 -0700)]
Modify "crossgen -createpdb" to skip loading clrjit.dll (dotnet/coreclr#6607)
The -JITPath option doesn't work properly when CrossGen is used to
create a PDB file (issue dotnet/coreclr#6607). Since clrjit.dll isn't really
needed for creating PDB files, the issue is fixed by modifying
CrossGen to skip loading clrjit.dll when -createpdb option is given.
Also following suggestion from issue dotnet/coreclr#6607, added a new switch
-diasymreaderPath to CrossGen, to allow loading diasymreader.dll
from an alternative path.
Commit migrated from https://github.com/dotnet/coreclr/commit/
21df26e038c4039150a7978188ecd0b6a5f23d2b
jashoo [Mon, 8 Aug 2016 17:07:15 +0000 (10:07 -0700)]
Fix for missing symbol OnHijackTripThread
PR dotnet/coreclr#6522 changed from OnHijackScalarTripThread to OnHijackTripThread; however,
missed changing this definition for arm windows.
Commit migrated from https://github.com/dotnet/coreclr/commit/
49b8766597feb23da7d68a7744b5efd41b29cb93
Vance Morrison [Mon, 8 Aug 2016 20:18:12 +0000 (13:18 -0700)]
Add Title (so that web searches work better) (dotnet/coreclr#6654)
Also added a very short description
Commit migrated from https://github.com/dotnet/coreclr/commit/
17ced7fea35cb89ce6fe6c0a614c9fe15171bdea
Sasha Semennikov [Mon, 8 Aug 2016 19:08:00 +0000 (12:08 -0700)]
Merge pull request dotnet/coreclr#6582 from alsemenn/fixrefreg
For helper method frame DAC doesn't read register pointers. So set them to NULL to not use "wrong" data.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a5e41cabd47cde8bbb457fdad6c64f05a130167
Jonghyun Park [Mon, 8 Aug 2016 01:35:54 +0000 (10:35 +0900)]
Check PAL_VirtualUnwind failure during GC (dotnet/coreclr#6598)
As discussed in dotnet/coreclr#6525, PAL_VirtualUnwind sometimes fails during GC.
This GC failure leads to very unpredicatble behavior (which is very hard to
analyze).
This commit tries to stop the execution at the point where error
happens.
Commit migrated from https://github.com/dotnet/coreclr/commit/
deb00ad58acf627763b6c0a7833fa789e3bb1cd0
James Ko [Sun, 7 Aug 2016 15:21:30 +0000 (11:21 -0400)]
Don't overwrite crossgen log in build.cmd script (dotnet/coreclr#6639)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5976ffa9a624bd05bbb0d67a742e89bc9f16d1dc
Guo Xiao [Sun, 7 Aug 2016 15:20:52 +0000 (10:20 -0500)]
Fix compile error (dotnet/coreclr#6641)
error: cannot initialize return object of type 'void *' with an lvalue
of type 'void ()'
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab6bc52f502498d6f6380b8b58d3495a7bd84f35
Bruce Forstall [Sat, 6 Aug 2016 17:39:06 +0000 (10:39 -0700)]
Merge pull request dotnet/coreclr#6619 from BruceForstall/Fix6517
Fix dotnet/coreclr#6517
Commit migrated from https://github.com/dotnet/coreclr/commit/
5002de7f988c28602d90df2967cb056b1b16852f
Gaurav Khanna [Sat, 6 Aug 2016 02:33:50 +0000 (19:33 -0700)]
Merge pull request dotnet/coreclr#6630 from dotnet-bot/UpdateDependencies20160805073043
Updating External dependencies to beta-24405-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
8596efa80c68bdc90f577aa80252406dec6bedb0
Eugene Rozenfeld [Sat, 6 Aug 2016 02:09:04 +0000 (19:09 -0700)]
Merge pull request dotnet/coreclr#6631 from erozenfeld/NullCheckFolding
Null check folding.
Commit migrated from https://github.com/dotnet/coreclr/commit/
14481976d4fc90e5bde78b0476eddcf0e6462ee0
James Ko [Sat, 6 Aug 2016 02:06:59 +0000 (22:06 -0400)]
Decrease writes to local variables in Buffer.MemoryCopy (dotnet/coreclr#6627)
In `Buffer.MemoryCopy` currently we are making 4 writes every time we copy some data; 1 to update `*dest`, 1 to update `dest`, 1 to update `src` and 1 to update `len`. I've decreased it to 2; one to update a new local variable `i`, which keeps track of how many bytes we are into the buffer. All writes are now made using
```cs
*(dest + i + x) = *(src + i + x)
```
which has no additional overhead since they're converted to using memory addressing operands by the jit.
Another change I made was to add a few extra cases for the switch-case at the beginning that does copying for small sizes without any branches. It now covers sizes 0-22. This is beneficial to the main codepath, since we can convert the unrolled loop to a `do..while` loop and save an extra branch at the beginning. (max 7 bytes for alignment, 16 for 1 iteration of the loop, so the min bytes we can copy without checking whether we should stop is 23.) This adds
This PR increases the performance of `MemoryCopy` by 10-20% for most buffer sizes on x86; you can see the performance test/results (and the generated assembly for each version) [here](https://gist.github.com/jamesqo/
337852c8ce09205a8289ce1f1b9b5382). (Note that this codepath is also used by `wstrcpy` at the moment, so this directly affects many common String operations.)
Commit migrated from https://github.com/dotnet/coreclr/commit/
32fe06348631c9e146832e5afac2ce97bb2df43e
Andy Ayers [Sat, 6 Aug 2016 02:03:53 +0000 (19:03 -0700)]
Merge pull request dotnet/coreclr#6636 from AndyAyersMS/MoreObservations
Inliner: add a few more observations
Commit migrated from https://github.com/dotnet/coreclr/commit/
f0997c5309f7a20c78d739c09e9c107291be814f
Bruce Forstall [Fri, 5 Aug 2016 06:52:25 +0000 (23:52 -0700)]
Fix dotnet/coreclr#6517
My previous change dotnet/coreclr#6342 to implement tailcall-via-helper for RyuJIT/x86
also changed non-x86 for Delegate Invoke calls, to avoid creating a
temp where we already had a local. However, this temp is needed if the
local is a field (with an offset). Even if it is not a field, I saw it
needed in a JitStressRegs case. So I'm returning it to the previous logic
for non-x86, non-tailcall cases. It is still required for tailcall cases
to preserve some delicate ordering constraints on the special tailcall
argument values.
Commit migrated from https://github.com/dotnet/coreclr/commit/
021a224809af2104a1c488da1d717d9d80f35cc8