Mukul Sabharwal [Tue, 1 Nov 2016 13:28:58 +0000 (14:28 +0100)]
Use resolver to get IL header and size (dotnet/coreclr#7924)
Commit migrated from https://github.com/dotnet/coreclr/commit/
18915473b567619700bd44dd64d4bb22184889e1
Andy Ayers [Tue, 1 Nov 2016 05:57:25 +0000 (22:57 -0700)]
Use normal verbosity logging when building tests (dotnet/coreclr#7921)
Test build log file is ~4GB with diag verbosity. With normal it's about 20MB.
This seems to speed up the test build for me considerably.
See dotnet/coreclr#7916.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d3e9e0013c551ec6741af0a45eb6b234089afe74
Jeremy Kuhne [Tue, 1 Nov 2016 05:57:11 +0000 (22:57 -0700)]
Move SR adapter into root (dotnet/coreclr#7925)
CoreFX creates SR in the System namespace. While putting the CoreCLR SR
adapter in the root may be unconventional, it allows us to keep the
shared code identical.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d347f4dfd1be33ac2745e3eaca4dfec964b5db99
Jan Kotas [Tue, 1 Nov 2016 05:56:58 +0000 (22:56 -0700)]
Merge pull request dotnet/coreclr#7915 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
3210f68d86002ae54ae8edc773a29bb1a1316f47
Joseph Tremoulet [Tue, 1 Nov 2016 05:31:02 +0000 (01:31 -0400)]
Merge pull request dotnet/coreclr#7912 from JosephTremoulet/FlagVectorCounts
Flag vector counts
Commit migrated from https://github.com/dotnet/coreclr/commit/
2db6cc80eb35e56c57f7108ab04f7648ae3d0471
Joseph Tremoulet [Tue, 1 Nov 2016 05:29:57 +0000 (01:29 -0400)]
Merge pull request dotnet/coreclr#7910 from JosephTremoulet/FixInitTest
Fix check for initial induction variable value
Commit migrated from https://github.com/dotnet/coreclr/commit/
cebc34d9dfb081922e26e8defd2cc160e9a1fec8
Joseph Tremoulet [Thu, 27 Oct 2016 19:04:40 +0000 (15:04 -0400)]
Fix check for initial induction variable value
Checking that `head` dominates `entry` is insufficient, becuase there may
be a codepath from `head` through other nodes that modify the induction
variable to `entry`. Check instead that all preds of `entry` are either
`head` or in the loop.
Resolves dotnet/coreclr#7906.
Commit migrated from https://github.com/dotnet/coreclr/commit/
87531155e8eb0591e9c37f14536e7c98d3409276
Joseph Tremoulet [Tue, 1 Nov 2016 05:24:10 +0000 (01:24 -0400)]
Merge pull request dotnet/coreclr#7909 from JosephTremoulet/FixLoopEntryCheck
Skip removed loops in `optBlockIsLoopEntry`
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f8ca8da2bf90eac03dc831d2201103ada71dfe5
Gaurav Khanna [Tue, 1 Nov 2016 00:03:50 +0000 (17:03 -0700)]
Merge pull request dotnet/coreclr#7854 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-24631-02, beta-24631-01, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
89f083007641857171a9512dbd96bd1732840621
Russ Keldorph [Mon, 31 Oct 2016 23:52:44 +0000 (16:52 -0700)]
Merge pull request dotnet/coreclr#7918 from RussKeldorph/repoint-corefx-1.1.0
Make dotnet/coreclr reference corresponding dotnet/corefx branch
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3c19d782ae9d2575cedd9f1a8c2e2bdc081200e
Jan Kotas [Mon, 31 Oct 2016 23:46:32 +0000 (16:46 -0700)]
Merge pull request dotnet/coreclr#7867 from Clockwork-Muse/ArgumentException
Replace hardcoded parameter names to ArgumentException with nameof
Commit migrated from https://github.com/dotnet/coreclr/commit/
f8b8b6ab80f1c5b30cc04676ca2e084ce200161e
Russ Keldorph [Mon, 31 Oct 2016 23:18:11 +0000 (16:18 -0700)]
Make dotnet/coreclr reference corresponding dotnet/corefx branch
We run CoreFx tests under JitStress modes in CoreCLR. Previously, we were
always pulling down CoreFx master, which is bad for CoreCLR release
branches when things are out of synch.
Commit migrated from https://github.com/dotnet/coreclr/commit/
19647a3e4855063298c1b5056944b18c9dd96267
Pat Gavlin [Mon, 31 Oct 2016 22:33:53 +0000 (15:33 -0700)]
Merge pull request dotnet/coreclr#7885 from pgavlin/VSO278376.2
Fix VSO 278376.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ebf165edad0b59d86e4e70bfcf21ae876cc13b95
Pat Gavlin [Mon, 31 Oct 2016 22:33:29 +0000 (15:33 -0700)]
Merge pull request dotnet/coreclr#7905 from pgavlin/VSO279380
Fix VSO 279380.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9153cc2b686cda4b4daf4dddf24aad0ec964e6ec
Joseph Tremoulet [Fri, 14 Oct 2016 18:11:29 +0000 (14:11 -0400)]
Add LPFLG_SIMD_LIMIT flag
This flag identifies loops whose limit was a Vector<T>.Count expression.
This can be used in heuristics to target more aggressive optimizations at
SIMD code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d2e74ab5dd97c0a93306083c95a9a72d6a105d27
Andy Ayers [Mon, 31 Oct 2016 21:47:16 +0000 (14:47 -0700)]
Merge pull request dotnet/coreclr#7852 from AndyAyersMS/InlinerSmallFixes
Inliner: Fix LegacyPolicyAssert; Dump prejit noinline reasons
Commit migrated from https://github.com/dotnet/coreclr/commit/
d8b20289ae438d0e864272221c07a6b9b799061f
Alex Ghiondea [Mon, 31 Oct 2016 21:37:00 +0000 (14:37 -0700)]
A couple of changes included:
- Make sure we have a way to disable building with the Roslyn compiler. That should only happen in the internal build.
- Update the FeatureSpanOfT to also condition on using the latest compiler
- Introduce an if/def in string.cs for code that uses the ref locals / ref return.
- Make sure we only include the CryptographicException when building CoreCLR
- Update the PInvokeMap.txt file to include the right set of APIs.
- Remove duplicated APIs from PInvokeMap.txt
[tfs-changeset: 1636041]
Commit migrated from https://github.com/dotnet/coreclr/commit/
a5b89cbe429ccbc3a3ef9751ba9587f7ad540f6d
AlexGhiondea [Mon, 31 Oct 2016 20:06:26 +0000 (13:06 -0700)]
Merge pull request dotnet/coreclr#7884 from AlexGhiondea/Port_SecureString
Bring to CoreCLR the SecureString implementation from CoreFx.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c641772e31e902541ade4a2d0ac6259aa7a2f03
Joseph Tremoulet [Fri, 14 Oct 2016 18:10:10 +0000 (14:10 -0400)]
Add GTF_ICON_SIMD_COUNT flag
This flag is used to indicate that an integer constant in the IR is the
result of replacing the Vector<T>.Count intrinsic. This can be used to
drive heuristics focusing more aggressive optimizations on SIMD code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
197e6619adf3d5b9f7a0c2c1320a0b4bc3363776
Joseph Tremoulet [Fri, 14 Oct 2016 18:08:48 +0000 (14:08 -0400)]
Skip removed loops in `optBlockIsLoopEntry`
This allows running this utility downstream of loop unrolling.
Commit migrated from https://github.com/dotnet/coreclr/commit/
77398bcc4f1a54222f7fb71a48bdc4ad32618e37
Jan Kotas [Mon, 31 Oct 2016 18:47:57 +0000 (11:47 -0700)]
Merge pull request dotnet/coreclr#7886 from jkotas/SpanOfT
Merge SpanOfT branch into master
Commit migrated from https://github.com/dotnet/coreclr/commit/
f42984160f5f9407f70ebc2e86edfcf226fccd81
Pat Gavlin [Mon, 31 Oct 2016 18:11:18 +0000 (11:11 -0700)]
Fix VSO 279380.
The liveness pass attempts to remove dead stores that it encounters
during its liveness computation. Successfully removing a dead store,
however, may invalidate the results of the computation. Therefore, the
pass operates as a fixed-point algorithm: it recomputes liveness until
either the contents of the function do not change or the removed code
does not change the results.
When running liveness on LIR, the correct flag--`fgStmtRemoved`--was not
being set if a dead store was succesfully removed. This caused the
liveness pass to terminate early and produce invalid results in certain
cases. This fix sets `fgStmtRemoved` when a dead store is successfully
removed in an LIR block.
Commit migrated from https://github.com/dotnet/coreclr/commit/
318945fdff3670103f97d05c317123c7ab2ef0d6
Pat Gavlin [Mon, 31 Oct 2016 18:07:46 +0000 (11:07 -0700)]
Merge pull request dotnet/coreclr#7758 from pgavlin/VSO267565
Fix P/Invoke cookie passing on x86.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a1b899b9e67426a7cdbb69ca2be708745c126b59
Pat Gavlin [Fri, 28 Oct 2016 18:44:18 +0000 (11:44 -0700)]
Fix VSO 278376.
genFloatToFloatCast was not checking whether or not its source operand
was an in-memory, register-optional node before comparing its source
register against its target register. This caused an assert in checked
builds (and SBCG in release builds) because the source temp was never
released.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c6527c960b52148dd467fa34a3f24fc4305cc352
Alex Ghiondea [Mon, 31 Oct 2016 17:13:52 +0000 (10:13 -0700)]
SecureStringMarshal was not correctly being build for Unix.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4c465e097719de065f3c663f5c5ac04773b661db
AlexGhiondea [Mon, 31 Oct 2016 17:05:18 +0000 (10:05 -0700)]
Merge pull request dotnet/coreclr#7901 from AlexGhiondea/FixBinCompat
Get latest behavior when missing TFM for BinaryCompatibility class
Commit migrated from https://github.com/dotnet/coreclr/commit/
ec5868c2d7b316cc810cc6cec4c845e3a7e9936d
Jan Kotas [Sun, 30 Oct 2016 21:21:16 +0000 (14:21 -0700)]
Add workaround for JIT crash
Commit migrated from https://github.com/dotnet/coreclr/commit/
4c5e9791dcc5b082ae01abc437dcb7456ae3e806
Jan Kotas [Sun, 30 Oct 2016 19:30:18 +0000 (12:30 -0700)]
Change Span fields to private readonly + other review feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9a481181ea74d3a642d27df1f22404ed73da140
dotnet-bot [Mon, 31 Oct 2016 16:19:13 +0000 (16:19 +0000)]
Update CoreClr, CoreFx to beta-24631-02, beta-24631-01, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
75ebdda045df2cf0931e1cecf5b25f4778c0beb2
Alex Ghiondea [Mon, 31 Oct 2016 14:26:59 +0000 (07:26 -0700)]
When reading the TFM for the BinaryCompatibility class on CoreCLR, set the TFM to be the latest version we have in our code.
This ensures that we are going to get the latest behavior (4.5.2+) for all the quirks that were using that class.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c271173aef317bcddc1d6283c82f2c7b2ad52e30
Alex Ghiondea [Mon, 31 Oct 2016 14:21:28 +0000 (07:21 -0700)]
Add the SecureStringMarshal and CryptographicException to model.xml
Commit migrated from https://github.com/dotnet/coreclr/commit/
31c93f8b888b4eeb2ea9fa5039e6d3fa239b5b0c
Stephen Toub [Mon, 31 Oct 2016 13:03:30 +0000 (09:03 -0400)]
Merge pull request dotnet/coreclr#7897 from stephentoub/stream_copyto
Use ArrayPool in Stream.CopyTo{Async}
Commit migrated from https://github.com/dotnet/coreclr/commit/
b0273bc608988926afe8263b2a375e906f13e653
Stephen Toub [Mon, 31 Oct 2016 11:05:13 +0000 (07:05 -0400)]
Remove StreamHelpers.ArrayPoolCopy.cs
It's no longer necessary now that Stream.CopyToAsync itself uses ArrayPool.
Commit migrated from https://github.com/dotnet/coreclr/commit/
669ce2cff1bc0b19d6ac8e94ea1c5add5e4b797a
Peter Marcu [Mon, 31 Oct 2016 10:55:44 +0000 (03:55 -0700)]
Fixing Typo in variable name in DateTime (dotnet/coreclr#7898)
Commit migrated from https://github.com/dotnet/coreclr/commit/
33176e660082aadf338ac6823f91e38f0345af70
Michal Strehovský [Mon, 31 Oct 2016 05:45:58 +0000 (22:45 -0700)]
Avoid boxing in calls to enum's GetHashCode (dotnet/coreclr#7895)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f4ba6ee6aeb8e809142b7feab16115166529fc6d
Peter Marcu [Mon, 31 Oct 2016 05:28:45 +0000 (22:28 -0700)]
DateTime.ToString() Fast Track for RFC1123 (dotnet/coreclr#7891)
* DateTime.ToString() Fast Track for RFC1123
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c0d01c19842049b2389ec9bee2885be918b9597
Pat Gavlin [Fri, 21 Oct 2016 21:08:11 +0000 (14:08 -0700)]
Fix P/Invoke cookie passing on x86.
On x86, the P/Invoke cookie (when required) is passed on the stack
after all other stack arguments (if any).
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe480e99ef007cb8e2948a5646fcb8c62f37e9ff
Stephen Toub [Mon, 31 Oct 2016 02:08:26 +0000 (22:08 -0400)]
Use ArrayPool in Stream.CopyTo{Async}
Commit migrated from https://github.com/dotnet/coreclr/commit/
7dea66e10861b82f3f90d68194f55cea58462b9d
Jan Kotas [Sun, 30 Oct 2016 09:28:14 +0000 (02:28 -0700)]
Add boilerplate doc comments to trivial methods
Commit migrated from https://github.com/dotnet/coreclr/commit/
b1ffa422742435069322fc34195a815b6f8f5d2d
Jan Kotas [Sun, 30 Oct 2016 08:50:27 +0000 (01:50 -0700)]
Streamline implementation of ToArray to call CopyTo<T> directly
Fix missing pinning in CopyTo<T>
Move and rename some JitHelpers to S.R.CS.Unsafe to make different implementations more similar
Commit migrated from https://github.com/dotnet/coreclr/commit/
c718ac41faceec2a69ddcc4eadd3ff1d45eb9141
Jan Kotas [Sat, 29 Oct 2016 06:04:36 +0000 (23:04 -0700)]
Fix build break on 32-bit platforms
Commit migrated from https://github.com/dotnet/coreclr/commit/
30af1dc05c46c7404423a87c465c9aecd9936719
Jan Kotas [Sat, 29 Oct 2016 05:28:49 +0000 (22:28 -0700)]
Disable Span<T> GC reporting under TODO to workaround JIT issue
Commit migrated from https://github.com/dotnet/coreclr/commit/
94362accb62557ef74a244216f042b1d843e9c79
Adam Sitnik [Wed, 21 Sep 2016 21:24:02 +0000 (23:24 +0200)]
added implicit cast operator from ArraySegment to Spans (dotnet/coreclr#7297)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ca90acbcf6d31179bcf00cb2652d2ca1d0883019
Adam Sitnik [Wed, 21 Sep 2016 00:12:47 +0000 (02:12 +0200)]
create ReadOnlySpan<char> from string (dotnet/coreclr#7276)
Commit migrated from https://github.com/dotnet/coreclr/commit/
59f652e65f8fd67ca32e19f07f505f079030f02c
Adam Sitnik [Fri, 16 Sep 2016 20:25:08 +0000 (22:25 +0200)]
added AsBytes() and NonPortableCast() to Span and ReadOnlySpan API (dotnet/coreclr#7220)
* added AsBytes() and NonPortableCast() to Span and ReadOnlySpan API, fixes dotnet/coreclr#7211
* throw when casted types contain pointers
Commit migrated from https://github.com/dotnet/coreclr/commit/
93ee105691085f4edef14ff108708b765a9a9d18
Adam Sitnik [Mon, 12 Sep 2016 16:21:53 +0000 (18:21 +0200)]
Add TryCopyTo and Set methods to Spans API dotnet/coreclr#5857 (dotnet/coreclr#6648)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3ba437ef4cd6beb1597742051b1c16310f074794
Jan Kotas [Mon, 29 Aug 2016 06:18:11 +0000 (23:18 -0700)]
Fix reference types (dotnet/coreclr#6954)
- Generic ArrayPinningHelper resulted into incorrect array data offset for reference types. Use non-generic one instead.
- Add array covariance checks to guarantee type safety.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7dfda575898129eb77a3a8541990c43c4e29149
Jan Kotas [Fri, 17 Jun 2016 00:44:57 +0000 (17:44 -0700)]
Add basic Span<T> test
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c7c1b741b132cd78bfc9db2654227bc2aec2e45
Jan Kotas [Fri, 17 Jun 2016 00:40:18 +0000 (17:40 -0700)]
Add implementation for hand-written JIT helpers
Commit migrated from https://github.com/dotnet/coreclr/commit/
24a8d61949640fe73c4046b1cf710fb3137ef367
Jan Kotas [Thu, 16 Jun 2016 16:28:37 +0000 (09:28 -0700)]
Span<T> managed implementation
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5d5f8c8a7b5626c9b61c0549f130f0551b509dc
Jan Kotas [Thu, 16 Jun 2016 16:39:28 +0000 (09:39 -0700)]
Span support in VM
Commit migrated from https://github.com/dotnet/coreclr/commit/
cb17e332f2dc3fc4af31d017f9d09d223c4a57ed
Jan Kotas [Thu, 16 Jun 2016 16:28:02 +0000 (09:28 -0700)]
Use Roslyn with ref returns and locals
Commit migrated from https://github.com/dotnet/coreclr/commit/
096020e58105ce5a6fbfc64ebe49c98f8beda609
Jan Kotas [Sun, 12 Jun 2016 17:53:58 +0000 (10:53 -0700)]
Add FEATURE_SPAN_OF_T
Commit migrated from https://github.com/dotnet/coreclr/commit/
d28b09f2cbd36a42b14e82cfccf02414843191df
Bruce Forstall [Sun, 30 Oct 2016 09:34:49 +0000 (02:34 -0700)]
Work around a Visual C++ silent bad code generation bug (dotnet/coreclr#7890)
Fixes dotnet/coreclr#7837
The full description of the problem is in that issue.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3fc65f37cd4bf5989647f6e1a48da6821ea5adbd
Jim Ma [Sat, 29 Oct 2016 17:47:15 +0000 (01:47 +0800)]
Remove unnecessary assert. (dotnet/coreclr#7889)
Remvoe the unneccessary assert that might cause a bug.
fix dotnet/coreclr#6856
Commit migrated from https://github.com/dotnet/coreclr/commit/
d64c7d60fcc8132c8a57c5c3c9d6e296232520dd
Marek Linka [Sat, 29 Oct 2016 14:41:18 +0000 (16:41 +0200)]
Cleanup: Remove BitArray from mscorlib (dotnet/coreclr#7888)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e507c2856a175696b3f4f9bf952681b0f4e23286
Sean Gillespie [Sat, 29 Oct 2016 01:19:35 +0000 (18:19 -0700)]
Fix a race condition in the test build (dotnet/coreclr#7810)
* Fix a race condition in the test build
* Move dir.targets to the Tests directory
Commit migrated from https://github.com/dotnet/coreclr/commit/
1d49a9b30a5f74827f0372a19aa4537248965f4e
Jeremy Kuhne [Sat, 29 Oct 2016 00:13:41 +0000 (17:13 -0700)]
Merge pull request dotnet/coreclr#7882 from JeremyKuhne/fixarraypool
Align ArrayPool to shared code pattern
Commit migrated from https://github.com/dotnet/coreclr/commit/
45a489c9c58c53d51e917046abcb1aa98565ee20
Peter Marcu [Sat, 29 Oct 2016 00:08:43 +0000 (17:08 -0700)]
DateTime.ToString(“o”) allocates 32 objects, (dotnet/coreclr#7836)
* Enabling a lower allocating DateTime.ToString('o')
Commit migrated from https://github.com/dotnet/coreclr/commit/
026beb938949ac4390f67f6c79248fd7be7311c1
Alex Ghiondea [Fri, 28 Oct 2016 22:47:45 +0000 (15:47 -0700)]
Replace BCLDebug with Debug
Commit migrated from https://github.com/dotnet/coreclr/commit/
b38525767f7affc5609d13337ee139d8c8738fa8
Alex Ghiondea [Fri, 28 Oct 2016 22:19:07 +0000 (15:19 -0700)]
Bring to CoreCLR the SecureString implementation from CoreFx.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff7437d5352cba8cda36a51c1ef59419917305ec
Jeremy Kuhne [Fri, 28 Oct 2016 21:56:24 +0000 (14:56 -0700)]
Align ArrayPool to shared code pattern
Move the ArrayPool code to the shared location. Also use wraps to make
code identical to CoreFX. (Fixing an exception message issue.)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a7f5ead07e244e89df5602a4d5d477aa1f14b4b
Jeremy Kuhne [Fri, 28 Oct 2016 21:38:25 +0000 (14:38 -0700)]
Merge pull request dotnet/coreclr#7817 from JeremyKuhne/movefs
Copy CoreFX FileStream to CoreLib
Commit migrated from https://github.com/dotnet/coreclr/commit/
81c42cecca5e1b0b802d4df980280750d2e1419e
Jan Vorlicek [Fri, 28 Oct 2016 21:32:45 +0000 (23:32 +0200)]
Remove some unused PAL functions (dotnet/coreclr#7873)
This change removes some unused PAL functions and the corresponding PAL tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac0a1464d00edf9f90a6737271197c30fdd32d6e
Pat Gavlin [Fri, 28 Oct 2016 20:44:02 +0000 (13:44 -0700)]
Merge pull request dotnet/coreclr#7832 from pgavlin/VSO279868
Correct indirect P/Invoke call prlogs on x86.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0aa67ff0f125d922effc4ef3526b6d1bf671a692
Sivarv [Fri, 28 Oct 2016 20:30:33 +0000 (13:30 -0700)]
Merge pull request dotnet/coreclr#3941 from sivarv/MultiRegCallNodes
Design to support Multi-reg GT_CALL/GT_RETURN nodes (for x64/unix, arm64, x86, arm32)
Commit migrated from https://github.com/dotnet/coreclr/commit/
06e76c2c258963f4a9af32ae0b9640d9f8949ae2
Pat Gavlin [Fri, 28 Oct 2016 20:30:30 +0000 (13:30 -0700)]
Fix formatting.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0bb48f39e74e9565f8894f480c57174c0cd279e2
sivarv [Sat, 22 Oct 2016 03:03:43 +0000 (20:03 -0700)]
Multi-reg call node design doc.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce86c8acd82d6669b370b374fd6668b266703ae4
Bruce Forstall [Fri, 28 Oct 2016 18:56:56 +0000 (11:56 -0700)]
Merge pull request dotnet/coreclr#7864 from BruceForstall/simd
Initial RyuJIT x86 SIMD support
Commit migrated from https://github.com/dotnet/coreclr/commit/
e03b224c208d77f585e409fffedf28b396be538d
Jeremy Kuhne [Wed, 26 Oct 2016 04:52:41 +0000 (21:52 -0700)]
Copy CoreFX FileStream to CoreLib
This copies FileStream to CoreLib and uses it in place of the legacy
FileStream. Code is mostly a direct copy with the addition of a few
internal constructor overloads.
Adds a simple Debug wrapper for BCLDebug to allow keeping the code
the same. Also follows the same pattern for SR wrapping.
Needed to bring down PreAllocatedOverlapped.
- Expose FileStream in model.xml
- Remove native usage of FileStreamAsyncResult
- #ifdef SafeFileHandle creation in existing code (to avoid mismatched
PAL/CoreFX usage)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5a7fb90eb479450cd5671e4531336dea7c072492
John Chen [Fri, 28 Oct 2016 18:48:58 +0000 (11:48 -0700)]
Ensure the module slot in R2R image can be located (dotnet/coreclr#7875)
Each Ready-to-Run image has a slot for storing a pointer to the Module
object associated with this image. However, if the image contains no
code (e.g., facade assemblies), the import table needed to locate
this slot wasn't written out, so the runtime couldn't find this slot.
This casued "crossgen /createpdb" command to fail on facade assemblies
after PR dotnet/coreclr#7809, and required a workaround (commit c4d8994).
This commit ensures writing the import table needed to locate the
slot for module. It also removes the workaround in commit c4d8994,
which is no longer necessary.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d945336a9307eaaf59f985e4ec2c1b5b8c052b4
Drew Scoggins [Fri, 28 Oct 2016 18:32:14 +0000 (11:32 -0700)]
Merge pull request dotnet/coreclr#7835 from DrewScoggins/coreclr-perf
Adding CoreCLR Perf support for Jenkins
Commit migrated from https://github.com/dotnet/coreclr/commit/
dfcc8d72d9e11af945c7dff80f923ba0575f158c
Jan Kotas [Fri, 28 Oct 2016 14:42:28 +0000 (07:42 -0700)]
Merge pull request dotnet/coreclr#7872 from jkotas/revert-tuple-hash
Revert changes in tuple hashing algorithm
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a3ac1852eafd1556e986cb8343bdedf5a9c61ac
Jan Kotas [Fri, 28 Oct 2016 11:25:48 +0000 (04:25 -0700)]
Add comment about F# dependency on hashing algorithm
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea5de57d774bc8558064d3111028d6a94068f115
Jan Kotas [Fri, 28 Oct 2016 11:20:21 +0000 (04:20 -0700)]
Revert "Better Tuple hashing, avoid boxing in Equals/GetHashCode (dotnet/coreclr#6767)"
This reverts commit dotnet/coreclr@
361e6eb85c74b57691955d97dda801d725cd2a59.
Conflicts:
src/mscorlib/mscorlib.shared.sources.props
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ebb94e3fe54fab92bbf1b45d36b2b469e68be39
Phil Christensen [Fri, 28 Oct 2016 09:09:35 +0000 (02:09 -0700)]
C++ conformance. (building with /permissive-) (dotnet/coreclr#7855)
These issues were found when building with the /permissive- flag in the
latest version of MSVC. No tests were added/modified because this does not
change any behavior.
There are a few types of language conformance issues fixed in this:
1) Strict string conversion (this is also covered by the /Zc:strictStrings
flag)
The 'const' is not implicitly dropped by string literals, which means the
following is not allowed:
char str = "const string literal"; //error: cannot convert a 'const char'
to a 'char*'
This fix to to make str 'const char*'. (This can have a domino effect
depending on where str is used)
2) Fully qualified inline declarations members inside class
struct A {
void A::f() { } // Error: illegal qualified name in member declaration,
remove redundant 'A::' to fix
};
3) MSVC by default will allows name lookup in a dependent base. This is
disabled by /permissive-
template <class T> struct B {
void f();
};
template <class T> struct D
: public B<T> //B is a dependent base because its type depends on the type of T in D<T>.
{
//One possible fix is to uncomment the following line. If this
//were a type we should have 'using typename'...
//using B<T>::f;
void g() {
f(); //Error: identifier not found, one possible fix is change it to 'this->f();'
}
};
void h()
{
D<int> d;
d.g();
}
4) Warning 4800 has been removed in version 19.1 (1910) of the compiler.
For backwards compatability, surround the usage of 4800.
This is not related to C++ conformance.
#if _MSC_VER <= 1900
// 'BOOL' forcing value to bool 'true' or 'false'
#pragma warning(disable: 4800)
#endif
Commit migrated from https://github.com/dotnet/coreclr/commit/
8877516062414f770f6c97272c4fad43296202f6
Stephen A. Imhoff [Thu, 27 Oct 2016 21:48:42 +0000 (14:48 -0700)]
Use nameof where possible for CultureNotFoundException.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8e1e8806b983ae4d328b0732270fe85fa04e61ec
Stephen A. Imhoff [Wed, 26 Oct 2016 18:06:34 +0000 (11:06 -0700)]
Remove commented-out code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ba64b570850152cba78a8f9966c220ae9c0da88
Stephen A. Imhoff [Wed, 26 Oct 2016 20:45:44 +0000 (13:45 -0700)]
Correct parameter names.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a212082aa4cea8529b4c78844e2a7408ff6f7969
Stephen A. Imhoff [Wed, 26 Oct 2016 07:53:34 +0000 (00:53 -0700)]
Use nameof where possible for ArgumentOutOfRangeException
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a47d11a6a721a9bed1009d2930de4614b9f6d46
Stephen A. Imhoff [Wed, 26 Oct 2016 07:13:53 +0000 (00:13 -0700)]
Add null message, to correct parameter use.
Commit migrated from https://github.com/dotnet/coreclr/commit/
634d76130a8990cb28d6b0421e6f047b2ed1bbc0
Stephen A. Imhoff [Wed, 26 Oct 2016 18:04:50 +0000 (11:04 -0700)]
Swap arguments to correct order
Commit migrated from https://github.com/dotnet/coreclr/commit/
83fb743c4ac2044321c91d2c3fcc44cefbfc1795
Stephen A. Imhoff [Wed, 26 Oct 2016 07:08:10 +0000 (00:08 -0700)]
Correct parameter names.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7c324befe3b51ea85391564dd6794de15fad3d0
Stephen A. Imhoff [Wed, 26 Oct 2016 06:59:24 +0000 (23:59 -0700)]
Use nameof where possible for ArgumentException
Commit migrated from https://github.com/dotnet/coreclr/commit/
247d188d27906eb5b4070d8ad6ceba5aefee3fa3
Jan Kotas [Fri, 28 Oct 2016 03:39:24 +0000 (20:39 -0700)]
Merge pull request dotnet/coreclr#7866 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
c4d899414fc9af1a22b9b38748d53b3e6e5eeb2b
Stephen A. Imhoff [Wed, 26 Oct 2016 06:07:38 +0000 (23:07 -0700)]
Correct parameter names.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0cae769f3c60bf2a696d02a88527a46d5b211cd5
Stephen A. Imhoff [Wed, 26 Oct 2016 05:55:25 +0000 (22:55 -0700)]
Use nameof where possible for ArgumentNullException
Commit migrated from https://github.com/dotnet/coreclr/commit/
493e936fe31e4a9460d769cdef4a796faffdb38a
Jan Vorlicek [Fri, 28 Oct 2016 02:34:42 +0000 (04:34 +0200)]
Add missing std::move to one exception throw (dotnet/coreclr#7865)
We had the std::move missing in one of the exception throws. For some reason,
the current clang didn't complain about it even though the copy constructor was
deleted.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7dfb2ed8614dea8c2fe757592436a38694e91ebc
kchoi [Fri, 28 Oct 2016 02:33:51 +0000 (19:33 -0700)]
Update broken link to RIDs (dotnet/coreclr#7850)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3331ad17e177ad123ebbb1e91e47a43d04ab40fd
Michal Strehovský [Fri, 28 Oct 2016 02:32:55 +0000 (19:32 -0700)]
Use memset instead of ZeroMemory (dotnet/coreclr#7851)
`CORINFO_HELP_READYTORUN_STATIC_BASE` and
`CORINFO_HELP_READYTORUN_GENERIC_STATIC_BASE` both use a mostly/fully
zeroed out `resolvedToken`, the common practice is to zero out with
`memset` in this codebase.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f275518bde94bce9b6c2b29226fd59de6194c9f
Mike McLaughlin [Fri, 28 Oct 2016 02:31:45 +0000 (19:31 -0700)]
Fix exception.StackTrace race condition. Issue dotnet/coreclr#12467. (dotnet/coreclr#7856)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3e2dde0f36948e148cb645a75794ea07efc4ba80
Austin Wise [Fri, 28 Oct 2016 01:03:30 +0000 (18:03 -0700)]
Fix conversion from CorJitFlag2 enum to JitFlag. (dotnet/coreclr#7857)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e1faf243c624050f3a3bb1a72ff63938d59240a2
Bruce Forstall [Thu, 29 Sep 2016 03:44:06 +0000 (20:44 -0700)]
Initial RyuJIT x86 SIMD support
Commit migrated from https://github.com/dotnet/coreclr/commit/
f454c388d4b803ebc799782ad9a27d2170df16cb
Dan Moseley [Thu, 27 Oct 2016 23:45:57 +0000 (16:45 -0700)]
fix typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
cecc33e198ea3089e6fd1593208073cfd6e4430c
Rahul Kumar [Thu, 27 Oct 2016 22:39:18 +0000 (15:39 -0700)]
rollback CS1635584
[tfs-changeset: 1635595]
Commit migrated from https://github.com/dotnet/coreclr/commit/
d965a3f0342a422c1a7b6bdbe37afcb13d6c7716
Rahul Kumar [Thu, 27 Oct 2016 21:26:11 +0000 (14:26 -0700)]
Expose System.Security.Principal.PrincipalPolicy (required for AppDomain apis)
[tfs-changeset: 1635584]
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c210b763b26e4ebd57fb8b3098245a6cbdebcb9
Bruce Forstall [Thu, 27 Oct 2016 20:48:06 +0000 (13:48 -0700)]
Merge pull request dotnet/coreclr#7837 from BruceForstall/JitFlags4
Introduce new CORJIT_FLAGS type
Commit migrated from https://github.com/dotnet/coreclr/commit/
7250e6f6630839b09d54f2f71d858b33c018ae8b
Jan Vorlicek [Thu, 27 Oct 2016 19:53:35 +0000 (21:53 +0200)]
Add verification of System.Globalization.Native.so symbols (dotnet/coreclr#7848)
This change adds check of undefined dependencies of the System.Globalization.Native.so
to the build.sh. The recent change that made the ICU APIs resolving driven by the
shared library itself creates a potential for someone adding usage of an ICU API that
is not defined in the icushim.h.
With this change, such problem will be caught during the build and cause it to fail.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c26e5c5e23446a8c46eab7a071edb8fe6c2ef216
Bruce Forstall [Wed, 26 Oct 2016 22:52:06 +0000 (15:52 -0700)]
Introduce new CORJIT_FLAGS type
The "JIT flags" currently passed between the EE and the JIT have traditionally
been bit flags in a 32-bit word. Recently, a second 32-bit word was added to
accommodate additional flags, but that set of flags is definitely "2nd class":
they are not universally passed, and require using a separate set of bit
definitions, and comparing those bits against the proper, 2nd word.
This change replaces all uses of bare DWORD or 'unsigned int' types
representing flags with CORJIT_FLAGS, which is now an opaque type. All
flag names were renamed from CORJIT_FLG_* to CORJIT_FLAG_* to ensure all
cases were changed to use the new names, which are also scoped within the
CORJIT_FLAGS type itself.
Another motivation to do this, besides cleaner code, is to allow enabling the
SSE/AVX flags for x86. For x86, we had fewer bits available in the "first
word", so would have to either put them in the "second word", which, as
stated, was very much 2nd class and not plumbed through many usages, or
we could move other bits to the "second word", with the same issues. Neither
was a good option.
RyuJIT compiles with both COR_JIT_EE_VERSION > 460 and <= 460. I introduced
a JitFlags adapter class in jitee.h to handle both JIT flag types. All JIT
code uses this JitFlags type, which operates identically to the new
CORJIT_FLAGS type.
In addition to introducing the new CORJIT_FLAGS type, the SSE/AVX flags are
enabled for x86.
The JIT-EE interface GUID is changed, as this is a breaking change.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e72536c32676b412cfead025b577d4e8c18d1c2f
AlexGhiondea [Thu, 27 Oct 2016 18:55:16 +0000 (11:55 -0700)]
Merge pull request dotnet/coreclr#7803 from AlexGhiondea/Fix_SB
Make sure that when the StringBuilder.Append method is called we firs…
Commit migrated from https://github.com/dotnet/coreclr/commit/
675622bb85f3c78de1967a78052d7280a2834611