Filip Navara [Tue, 16 Apr 2019 13:52:53 +0000 (15:52 +0200)]
Move EventSource to shared CoreLib partition (dotnet/coreclr#23925)
* Move most of EventSource to shared CoreLib partition
* Reenable some code that can be shared with Microsoft.Diagnostics.Tracing.EventSource.Redist in CoreFX
* Remove unused functions
* Fix placement of #endregion
* Clean up P/Invoke prototypes
* Move remaining code from EventSource_CoreCLR to shared partition (guarded by !CORERT)
* Remove more unnecessary marshalling attributes
* Move remaining CoreRT/ProjectN code to shared partition
* Avoid using Windows errors on non-Windows platforms
Commit migrated from https://github.com/dotnet/coreclr/commit/
f7020d98c49d8c89fdad41aae64c018be63c623a
Sergey Andreenko [Tue, 16 Apr 2019 08:49:23 +0000 (01:49 -0700)]
Merge pull request dotnet/coreclr#24009 from sandreenko/fixLsraBlockEpochCheck
Fix lsraBlockEpoch check.
Commit migrated from https://github.com/dotnet/coreclr/commit/
994a50ee370cfe62ea4e56d3e55dc5babb65d575
Omair Majid [Tue, 16 Apr 2019 05:14:48 +0000 (01:14 -0400)]
Use NewArrayHolder for array types in src/debug (dotnet/coreclr#24013)
Using a NewHolder with array types means that when the holder is ready
to release the memory, it ends up invoking `delete` (instead of
`delete[]`) on that array. This is an undefined behaviour.
Use NewArrayHolder isntead to fix this.
Commit migrated from https://github.com/dotnet/coreclr/commit/
08318afbeb726eb80f212c70310e5750daec5abf
Omair Majid [Tue, 16 Apr 2019 05:12:39 +0000 (01:12 -0400)]
Use NewArrayHolder for array types (dotnet/coreclr#24017)
This touches all the code outside of src/debug/.
Using a NewHolder with array types means that when the holder is ready
to release the memory, it ends up invoking `delete` (instead of
`delete[]`) on that array. This is an undefined behaviour.
Use NewArrayHolder instead to fix this.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f838a7c22c6e19748582ced5e03a8e273f63062
Egor Chesakov [Tue, 16 Apr 2019 04:07:33 +0000 (21:07 -0700)]
Fix an issue with literal 0xFFFFFFFFFFFFF000LL being treated as unsigned long long int (dotnet/coreclr#24011)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6938e2b5497cce88ab7b3643ab5f3174d8bb3e7
Adeel Mujahid [Tue, 16 Apr 2019 02:36:44 +0000 (03:36 +0100)]
Update clr-configuration-knobs and cleanups (dotnet/coreclr#24016)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee2c5d63810de5c663f644821751ecc6f56c5149
Levi Broderick [Tue, 16 Apr 2019 01:28:39 +0000 (18:28 -0700)]
Fix incorrect bit match pattern in UTF-16 validation (dotnet/coreclr#24015)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fcc4beb884b7e38a9886b7a354ec8b6cdb8aad83
Jan Kotas [Tue, 16 Apr 2019 00:37:41 +0000 (17:37 -0700)]
Fold ResourceSet::CommonInit into constructor (dotnet/coreclr#23993)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4aeedc147f45b63e6f07155fea1446b084cb9a46
Sergey Andreenko [Mon, 15 Apr 2019 22:38:44 +0000 (15:38 -0700)]
Fix lsraBlockEpoch check.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4905d63d9d03cc1b8b46f6830b50489ee93ce33f
Steve MacLean [Mon, 15 Apr 2019 23:59:36 +0000 (19:59 -0400)]
Initialize IsolatedComponentLoadContext.Name (dotnet/coreclr#24001)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b97f0681a4ebfb79ee0b931602cda645bad2125e
Egor Bogatov [Mon, 15 Apr 2019 23:44:04 +0000 (02:44 +0300)]
Add "partial" to MarshalAsAttribute (dotnet/coreclr#24014)
Commit migrated from https://github.com/dotnet/coreclr/commit/
47c6539dc73a23bf167e5eaadce475475c512f44
Jan Kotas [Mon, 15 Apr 2019 23:30:00 +0000 (16:30 -0700)]
Delete unused YieldProcessorScalingFactor from GC (dotnet/coreclr#23994)
Commit migrated from https://github.com/dotnet/coreclr/commit/
577f8b84113fdf5ff001732b93da6733842123ec
Jan Kotas [Mon, 15 Apr 2019 23:29:41 +0000 (16:29 -0700)]
Remove redundant UnderlyingSystemType calls (dotnet/coreclr#24000)
UnderlyingSystemType is virtual
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6326409fd033f4145e1387955504d46f50850a5
Fadi Hanna [Mon, 15 Apr 2019 23:25:16 +0000 (16:25 -0700)]
Check for null methodhandle before checking if the method is in the same version bubble (dotnet/coreclr#23940)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee41ee41bcf5f6c1d77a261fa7cae469475b268a
Sergiy Kuryata [Mon, 15 Apr 2019 23:07:35 +0000 (16:07 -0700)]
Fix precompiling CoreRoot overlay with crossgen for Windows arm/arm64 (dotnet/coreclr#23946)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a49cc4ad01b51b26165c371579be763c5ccc30f5
Jeremy Koritzinsky [Mon, 15 Apr 2019 22:54:51 +0000 (15:54 -0700)]
Opt COM methods out of the new Windows instance-method handling. (dotnet/coreclr#23974)
* Opt COM methods out of the new Windows instance-method handling.
* Add test for an HResult "struct" returned from a COM method.
* Update ErrorMarshalTesting.cs
* Update "is member function" check on the ilmarshalers.h side to only consider thiscall.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f9dcdd2780ac4716c757e0c78d7324f8e382891
Benjamin Bartels [Mon, 15 Apr 2019 22:09:10 +0000 (23:09 +0100)]
Improved performance of System.Reflection.Emit API (dotnet/coreclr#23833)
* Improved performance of System.Reflection.Emit API
* Moved heap allocation to stack
* Eliminating conditional branch by casting sbyte to byte
* Reduced heap allocation of ScopeTree
* Removed redundant `unsafe` from function signature
Commit migrated from https://github.com/dotnet/coreclr/commit/
77a5f9cef77c34db739bb3c13bfd091c693a12d4
Vladimir Sadov [Mon, 15 Apr 2019 18:27:02 +0000 (18:27 +0000)]
Merge pull request dotnet/coreclr#23981 from VSadov/arm32fix22422
Adjust plug_size_to_fit to consider large alignment on ARM32
Commit migrated from https://github.com/dotnet/coreclr/commit/
5155a6785420459c065e9415843309b43c0508f2
Bruce Forstall [Mon, 15 Apr 2019 18:22:35 +0000 (11:22 -0700)]
Merge pull request dotnet/coreclr#23996 from BruceForstall/Fix64BitAlignment
Fix test for 64-bit platforms
Commit migrated from https://github.com/dotnet/coreclr/commit/
3ddeb463dede5e44c5642da3d8b1c64275aa1699
Bruce Forstall [Mon, 15 Apr 2019 18:19:39 +0000 (11:19 -0700)]
Fix test for 64-bit platforms
Object type in structs apparently must be 8 byte aligned.
Fixes dotnet/coreclr#23986
Commit migrated from https://github.com/dotnet/coreclr/commit/
c539d01c1726bded71e3f6d32210b9a520ca7c91
dotnet-maestro-bot [Mon, 15 Apr 2019 16:39:47 +0000 (09:39 -0700)]
Update CoreClr to preview5-27615-71 (dotnet/coreclr#23991)
Commit migrated from https://github.com/dotnet/coreclr/commit/
345b1541c8461414740f12e8f58718cd608ae66c
Marco Rossignoli [Mon, 15 Apr 2019 03:01:31 +0000 (05:01 +0200)]
improve entropy (dotnet/coreclr#23591)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8441657135b2159ce2f24c3315d9d11300981b8c
dotnet-maestro-bot [Mon, 15 Apr 2019 02:51:06 +0000 (19:51 -0700)]
Update CoreClr to preview5-27614-72 (dotnet/coreclr#23985)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d8efb7d75e7918f065b81b182d0bcf8a5083d59b
Gergely Kalapos [Mon, 15 Apr 2019 02:44:53 +0000 (04:44 +0200)]
Fix typo in environment variable name - profiler loading doc (dotnet/coreclr#23983)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e54a030ddd11f96a6f7fb6ca6fe4d1166d7571fa
Raz Friman [Mon, 15 Apr 2019 01:29:10 +0000 (11:29 +1000)]
Remove unused offset calculation (dotnet/coreclr#23793)
Utf8Parser has a redundant calculation of date time offset.
Fix dotnet/coreclr#21834
Commit migrated from https://github.com/dotnet/coreclr/commit/
4514009bc99d56ef4a453af76484d90f6641d078
Levi Broderick [Mon, 15 Apr 2019 01:26:05 +0000 (18:26 -0700)]
Remove old method names from Rune (dotnet/coreclr#23938)
* Remove old method names from Rune, reenable suppressed tests
* Revert re-enablement of failing ArraySegment tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
16aad3508ba78b30eef06e75c3eb81c8c37b7fc2
vsadov [Sun, 14 Apr 2019 21:21:28 +0000 (14:21 -0700)]
Removed support for short plug padding in `fit`.
Best fit is only done for gen1->gen2, and thus there is no padding.
Commit migrated from https://github.com/dotnet/coreclr/commit/
473993d3b9b1a50931392c7689872d4f16f140f7
dotnet-maestro-bot [Sun, 14 Apr 2019 20:49:39 +0000 (13:49 -0700)]
Update CoreClr to preview5-27614-71 (dotnet/coreclr#23978)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6c9438d58613267701396c7a25eae4c3a5e2c570
vsadov [Sun, 14 Apr 2019 18:02:35 +0000 (11:02 -0700)]
Adjust plug_size_to_fit to consider large alignment om ARM32
Commit migrated from https://github.com/dotnet/coreclr/commit/
b56d39c5812db4780c818140083cf753aca8ca5a
Gergely Kalapos [Sun, 14 Apr 2019 17:16:24 +0000 (19:16 +0200)]
Fix broken new lines (dotnet/coreclr#23979)
These files don't render correctly on github due to broken new lines - fixing it. Only new line characters replaced, nothing else touched.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bbf4bea09b309e5ad87b9da53a71268de6ae7169
Jan Kotas [Sun, 14 Apr 2019 04:54:08 +0000 (21:54 -0700)]
Move GCMemoryInfo to shared partition
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5ac4f6e52ca76c35293b74f4d82fbffd10a8b20
Jan Kotas [Sat, 13 Apr 2019 21:10:26 +0000 (14:10 -0700)]
Fix AssemblyName regression
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
2dbfe2d464b2b8379d927c8ed7334ba236e7cef7
Jan Kotas [Sat, 13 Apr 2019 16:36:03 +0000 (09:36 -0700)]
Move GCMemoryInfo to shared partition
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
2e0088166c915779cbbaa627fd6614a91faa3d8e
dotnet-maestro-bot [Sun, 14 Apr 2019 03:18:15 +0000 (20:18 -0700)]
Update BuildTools, CoreClr to preview4-03913-01, preview5-27612-73, respectively (master) (dotnet/coreclr#23916)
* Update BuildTools, CoreClr to preview4-03913-01, preview5-27612-73, respectively
* Fix nullable build errors
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce952e77ddd2ee9c4e017770573f44dc316db6a8
Jan Kotas [Sun, 14 Apr 2019 03:15:48 +0000 (20:15 -0700)]
Delete unused AssemblyName._hashForControl and related code (dotnet/coreclr#23972)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f704d7acd97e4ea691638e98d94588cc8dc5fd85
Steve MacLean [Sat, 13 Apr 2019 23:03:56 +0000 (19:03 -0400)]
EnterContextualReflection handle null (dotnet/coreclr#23953)
* EnterContextualReflection handle null
* Add ContextualReflection MockAssembly test
* Fix ContextualReflection typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
f08c5c39c5bd7f594ff0b42a7167e6be9205ede7
Egor Chesakov [Sat, 13 Apr 2019 19:09:53 +0000 (12:09 -0700)]
Use xUnit TestOutputHelper to get proper test output in Azure DevOps Tests Explorer (dotnet/coreclr#23957)
Commit migrated from https://github.com/dotnet/coreclr/commit/
aab61f13d31538b2a70e53435d539121e5fd4c8a
Jan Kotas [Sat, 13 Apr 2019 19:07:09 +0000 (12:07 -0700)]
Delete outdated comment (dotnet/coreclr#23967)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c269c867321f9212e502e3d5671841b3ef63315
Next Turn [Sat, 13 Apr 2019 19:06:35 +0000 (03:06 +0800)]
Remove unnecessary ThrowIfCreated call (dotnet/coreclr#23839)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8ef60d71f6b2c834c2c2c414366a709818fe2f42
mikedn [Sat, 13 Apr 2019 17:39:20 +0000 (20:39 +0300)]
Fix ARM's genPutArgStk codegen (dotnet/coreclr#23867)
* Fix ARM's genPutArgStk codegen
When the OBJ node wraps a LCL_VAR node the code uses the type information (struct size, GC layout) from LclVarDsc. This is not always correct because the OBJ may actually have a different struct type due to type reinterpretation (e.g. Unsafe.As<X, Y>).
* Fix genPutArgStk comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
8ce1e716841e4a9d6c54be45eb75e740872a4b3e
Bruce Forstall [Sat, 13 Apr 2019 17:34:26 +0000 (10:34 -0700)]
Merge pull request dotnet/coreclr#23948 from BruceForstall/Fix23920
Update maximum allowed arm prolog size
Commit migrated from https://github.com/dotnet/coreclr/commit/
3bb584305549f865af443472100641de7b5d848e
Filip Navara [Sat, 13 Apr 2019 15:17:04 +0000 (17:17 +0200)]
Move DateTime Windows implementation to shared CoreLib (dotnet/coreclr#23888)
* Move DateTime Windows implementation to shared CoreLib
* Make all the BOOL/struct marshalling explicit
* internal -> private
* Use unsafe code on all layers, remove unnecessary fixed blocks
Commit migrated from https://github.com/dotnet/coreclr/commit/
3b2715e14a1a6a4726b557ac37246f91182517cd
Jan Kotas [Sat, 13 Apr 2019 15:13:04 +0000 (08:13 -0700)]
Delete outdated comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
6430f634896b1f8d82d0a1d6c49a08f05093904a
Jan Kotas [Sat, 13 Apr 2019 15:09:31 +0000 (08:09 -0700)]
Delete COMPlus_FinalizeOnShutdown (dotnet/coreclr#23595)
This compat quirk is increasingly more broken since the framework is generally not compatible with, and we have not heard anybody actually using it.
Changed Environment.HasShutdownStarted to unconditionally return false. It does not make sense for it to ever return true with shutdown finalization disabled.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8913aaa1388e263d537b19e78caaed6b124fc0ea
Egor Chesakov [Sat, 13 Apr 2019 01:09:41 +0000 (18:09 -0700)]
Exclude ResolveEventTests.cmd and CallbackTests.cmd on Windows_NT x86 (dotnet/coreclr#23942)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0fed62e68d1f8f8a756ec8ba5348bfde61057666
Bruce Forstall [Sat, 13 Apr 2019 01:04:41 +0000 (18:04 -0700)]
Merge pull request dotnet/coreclr#23935 from BruceForstall/FixArm64LargeOutgoingWithLocalloc
Fix arm64 localloc with large outgoing argument space
Commit migrated from https://github.com/dotnet/coreclr/commit/
23b62bb3e2bee5649bb766a38c72ed9d4effb9f4
Sung Yoon Whang [Sat, 13 Apr 2019 00:11:49 +0000 (17:11 -0700)]
Fix EventPipe IPC streaming (dotnet/coreclr#23768)
* Make events stream out faster when we are doing IPC
* Block size should be less during IPC session
* Modify some comments
* Address PR feedback
* more pr feedback
* Fix high volume scenario
* Fix flush
* cleanup
* Only flush when we have buffers written
Commit migrated from https://github.com/dotnet/coreclr/commit/
411fb39bc45067d47b4189bdf7288b9224ced487
Bruce Forstall [Fri, 12 Apr 2019 23:54:55 +0000 (16:54 -0700)]
Fix x86 stack probing (dotnet/coreclr#23881)
* Fix x86 stack probing
On x86, structs are passed by value on the stack. We copy structs
to the stack in various ways, but one way is to first subtract the
size of the struct and then use a "rep movsb" instruction. If the
struct we are passing is sufficiently large, this can cause us to
miss the stack guard page.
So, introduce stack probes for these struct copies.
It turns out the stack pointer after prolog probing can be sitting
near the very end of the guard page (one `STACK_ALIGN` slot before
the end, which allows a "call" instruction which pushes its
return address to touch the guard page with the return address push).
We don't want to probe with every argument push, though. So change
the prolog probing to insert an "extra" touch at the final SP location
if the previous touch was "too far" away, leaving at least some
buffer zone for un-probed SP adjustments. I chose this to be the
size of the largest SIMD register, which also can get copied to the
argument stack with a "SUB;MOV" sequence.
Added several test case variations showing different large stack
probe situations.
Fixes dotnet/coreclr#23796
* Increase the argument size probe buffer
* Formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5865236e7898b730de28a7a6f034e975bb7282e
dotnet-maestro[bot] [Fri, 12 Apr 2019 23:40:50 +0000 (16:40 -0700)]
[master] Update dependencies from dotnet/corefx (dotnet/coreclr#23893)
* Update dependencies from https://github.com/dotnet/corefx build
20190411.2
- Microsoft.NETCore.Platforms - 3.0.0-preview5.19211.2
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview5.19211.2
* Update dependencies from https://github.com/dotnet/corefx build
20190411.22
- Microsoft.NETCore.Platforms - 3.0.0-preview5.19211.22
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview5.19211.22
* Removing renamed HWIntrinsic APIs from S.P.Corelib
* Updating the hwintrinsiclistxarch to match the new intrinsic API names
* Updating the HWIntrinsic generated tests to use the new API names
Commit migrated from https://github.com/dotnet/coreclr/commit/
ecbf6bf4300e770ba786395554cf032a57c50beb
Egor Chesakov [Fri, 12 Apr 2019 23:33:54 +0000 (16:33 -0700)]
Add R2R prefix to TestRunNamePrefix when running ReadyToRun jobs (dotnet/coreclr#23945)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e347c0e4939d06b15e31e079a790fcba0e071abc
Jan Vorlicek [Fri, 12 Apr 2019 21:55:07 +0000 (23:55 +0200)]
Fix OSX debugging (dotnet/coreclr#23924)
A recent change has incorrectly added dependency on libcoreclrpal.a to
libutilcodenohost.a. This in turn, due to the transitive propagation of
dependencies, caused the libmscordbi to be linked with libcoreclrpal.a.
So libmscordbi contained its own PAL after that change, which is wrong.
libmscordbi should depend on PAL APIs through libmscordaccore that
exports the symbols it needs for it in order to keep just one PAL in the
process.
The fix is to remove the libcoreclrpal.a dependency and export few
new symbols from libmscordaccore instead.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2573e4e5c12c4fd165db53cc31b0fc14c118d47b
Thays Grazia [Fri, 12 Apr 2019 21:49:26 +0000 (18:49 -0300)]
Fix DIM Test to run on mono (dotnet/coreclr#23870)
Changing the test to run on runtimes that supports lookups with runtime determined boxing and on runtimes that doesn't support.
Commit migrated from https://github.com/dotnet/coreclr/commit/
97496018ccd9f6b2bdc908fd47fdffaedee1e882
Bruce Forstall [Fri, 12 Apr 2019 20:19:14 +0000 (13:19 -0700)]
Display the arm instruction size
When dumping an arm instruction, and when we don't have the actual
code bytes (such as during code generation, as opposed to emission),
display the (current) instruction size, either 2 bytes (2B),
4 bytes (4B), or 6 bytes (6B).
Commit migrated from https://github.com/dotnet/coreclr/commit/
a9c039689e0d08ecc68783649871e9c0090ce8c3
Bruce Forstall [Fri, 12 Apr 2019 20:15:42 +0000 (13:15 -0700)]
Update maximum allowed arm prolog size
Change dotnet/coreclr#23715 changed the localloc stack probe loop to load a
negative constant instead of zero to start the probing loop.
This increased the size of the probing loop, and hence the
size of the maximum prolog, by 4 bytes. Bump the assert on
the maximum size to match.
Note that as the comment says, the maximum size there is not
actually a maximum (it was originally), it is just to alert
us when the maximum generated prolog size has gone up.
Fixes dotnet/coreclr#23920
Commit migrated from https://github.com/dotnet/coreclr/commit/
f98564c3382bedf53b65689f5ea1c53942cf6729
Carol Eidt [Fri, 12 Apr 2019 18:31:55 +0000 (11:31 -0700)]
Don't Free UpperVector (dotnet/coreclr#23889)
* Don't Free UpperVector
UpperVector regs are freed at their time of use, and shouldn't be freed when the last RefPosition is encountered.
Also, we need to specify all 3 operands for vinsertf128
Fix dotnet/coreclr#23861
Fix dotnet/coreclr#23904
Fix dotnet/coreclr#23804
Commit migrated from https://github.com/dotnet/coreclr/commit/
855491b895b187bdc396c491884a370b11d999e9
Bruce Forstall [Fri, 12 Apr 2019 17:50:56 +0000 (10:50 -0700)]
Fix arm64 localloc with large outgoing argument space
With a large outgoing argument space, we were attempting to
generate un-encodable ADD and SUB instructions. Call an existing
helper instead that uses the reserved register when needed to
load large constants into a register.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2688d6b3137b04d2c3263564334335ec3e1630ad
bdebaere [Fri, 12 Apr 2019 16:29:44 +0000 (18:29 +0200)]
Consolidate duplicate assignment (dotnet/coreclr#23923)
* Consolidate duplicate assignment.
Commit migrated from https://github.com/dotnet/coreclr/commit/
85f584b0ca94a547c03790d471b44c9e36e0fac5
Sergiy Kuryata [Fri, 12 Apr 2019 16:00:04 +0000 (09:00 -0700)]
Merge pull request dotnet/coreclr#23900 from sergiy-k/fixcrossarchr2r1
Enable precompiling CoreRoot overlay with crossgen for Linux arm/arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
88347ffed2d7aeed908bcc3b10d78f24689e5d74
Stephen Toub [Fri, 12 Apr 2019 13:39:40 +0000 (09:39 -0400)]
Add several links to deep-dive blog posts
Commit migrated from https://github.com/dotnet/coreclr/commit/
adf0a405346b76e9d4e0f87d9a89a1acdd3db3e0
Andy Ayers [Fri, 12 Apr 2019 07:44:39 +0000 (00:44 -0700)]
JIT: update byref null check logic to handle field chains (dotnet/coreclr#23850)
The jit was not properly accumulating offsets when figuring out if a byref
should be null checked.
Use a non-null MorphAddressContext as indication that GT_FIELD and GT_IND
nodes are actually part of an ongoing address computation.
During field morphing propagate the current address context to the child node,
instead of starting a new one.
Fixes dotnet/coreclr#23791.
Commit migrated from https://github.com/dotnet/coreclr/commit/
72d49127a0c25e4b931c81e621c2411bfb6633a5
Sergiy Kuryata [Thu, 11 Apr 2019 16:54:49 +0000 (09:54 -0700)]
Enable precompiling CoreRoot overlay with crossgen for Linux arm/arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
30a7c538ae15302f8c09ba334a838c09ef5b0257
Egor Chesakov [Fri, 12 Apr 2019 05:50:48 +0000 (22:50 -0700)]
Enable default Ready2Run testing in pull requests. Workaround an issue with custom xunit.console.dll runner. (dotnet/coreclr#23848)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1660956bca91b93259393419cb169a10df088926
bdebaere [Fri, 12 Apr 2019 05:32:56 +0000 (07:32 +0200)]
Remove duplicates. (dotnet/coreclr#23922)
Commit migrated from https://github.com/dotnet/coreclr/commit/
77bd2c4aab50f84d2a0a94275072ee52f295757c
Levi Broderick [Fri, 12 Apr 2019 03:50:16 +0000 (20:50 -0700)]
Add optimized UTF-8 validation and transcoding apis, hook them up to UTF8Encoding (dotnet/coreclr#21948)
* Add optimized UTF-8 validation and transcoding logic
- Hook it up through the existing Utf8 public static APIs
- Move some shared methods out of ASCIIUtility
- Hook it up through the Utf8String ctor
* Hook up new UTF-8 logic through UTF8Encoding
- Add vectorized UTF-16 validation and transcoded byte counts
- Move Utf16Utility into Unicode namespace alongside Utf8Utility
- Fix some bugs in DecoderNLS's draining logic
* Improve perf of "is ASCII?" inner loop in UTF-8 validation.
* Remove SSE41.X64 optimization from AsciiUtility
RyuJIT now handles this optimally
* Clarify that vector read is unaligned
* Simplify vectorized logic; remove unnecessary adjustment
* PR feedback: GetElement(0) -> Sse2.StoreLow
* PR feedback
- Simplify CountNumberOfLeadingAsciiBytesFrom24BitInteger
- Extract some consts out to top of file w/ comments
* PR feedback: Enable SSE2 in Utf16Utility code
* Expand masks in Utf8Utility, fix const in fallback path
* Temporarily disable failing CoreFX tests
* Fix incorrect Debug.Assert statements
* Add comments tracking JIT workarounds.
* Rename DWORD -> UInt32 throughout API surface
* Re-flow Utf8Utility.Helpers
* PR feedback: Fix typos
* PR feedback: CountNumberOfLeadingAsciiBytesFrom24BitInteger
* PR feedback: Remove redundant endianess checks
* PR feedback: Validate nint definitions
* PR feedback: Clarify charIsNonAscii vector usage
* PR feedback: document tempUtf8CodeUnitCountAdjustment usage
* Fix compilation failure in Utf16Utility
* PR feedback: Clarify 3-byte sequence processing
* Add missing check to 3-byte processing logic
* Clarify comment in 3-byte processing
Commit migrated from https://github.com/dotnet/coreclr/commit/
77a09eb013b7e2d66b84fc0a0008f31caee58c76
Steve MacLean [Fri, 12 Apr 2019 03:48:59 +0000 (23:48 -0400)]
Fix Assembly.LoadFromPartialName(string) (dotnet/coreclr#23912)
Assembly.LoadFromPartialName(string) should not throw FileNotFoundException, but
should rather return null.
ArgumentException should use nameof(partialName)
Fixes dotnet/coreclr#19817
Commit migrated from https://github.com/dotnet/coreclr/commit/
daa688d788fa470133ef21b0b51f18e9d91d1228
dotnet-maestro-bot [Fri, 12 Apr 2019 00:47:59 +0000 (17:47 -0700)]
Update CoreClr to preview5-27611-71 (dotnet/coreclr#23884)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2a46c2580580b31d7fa18ea381d2aa838f31d025
Stephen Toub [Fri, 12 Apr 2019 00:47:35 +0000 (20:47 -0400)]
Fix Version's comparer operators to allow null (dotnet/coreclr#23898)
Previously for `<`/`<=` it would throw if `v1` argument was null, but for `>`/`>=` would throw if the `v1` argument was null, albeit using `v1` in the exception parameter name. It's also not expected for comparisons like this to throw, in general.
Commit migrated from https://github.com/dotnet/coreclr/commit/
35d7e1560fd4efdd5829b6e3fccc0932d923d617
Steve MacLean [Fri, 12 Apr 2019 00:28:25 +0000 (20:28 -0400)]
Fix 23740 (dotnet/coreclr#23906)
Adjust AssemblyLoadContextBaseObject packing for
windows arm.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cfffad26af69d0393fe5615cf40114f50e31f4d5
Andy Ayers [Thu, 11 Apr 2019 23:45:30 +0000 (16:45 -0700)]
JIT: fix assert when there are mixed types in Enum.HasFlags optimization (dotnet/coreclr#23902)
In some cases the pre-boxed nodes may differ in type. Bail if they don't have
the same stack type, then compute the result using the stack type.
Extended the hasflags test with a case that shows this issue.
Closes dotnet/coreclr#23847
Commit migrated from https://github.com/dotnet/coreclr/commit/
759e3777aad6e711c6c6171ee738df9f38e877a0
Levi Broderick [Thu, 11 Apr 2019 22:36:47 +0000 (15:36 -0700)]
Clarify comment in 3-byte processing
Commit migrated from https://github.com/dotnet/coreclr/commit/
e307d1462e5a279f90d43fdf78be25f7f6092f1c
Levi Broderick [Thu, 11 Apr 2019 22:30:11 +0000 (15:30 -0700)]
Add missing check to 3-byte processing logic
Commit migrated from https://github.com/dotnet/coreclr/commit/
0adca8ba3c0ba1deb6f47848e9536c3a8d51edff
Levi Broderick [Thu, 11 Apr 2019 20:39:55 +0000 (13:39 -0700)]
PR feedback: Clarify 3-byte sequence processing
Commit migrated from https://github.com/dotnet/coreclr/commit/
affc24ab3e7ac6f06eecb1dd9e74c86e7c53104b
Jan Kotas [Wed, 10 Apr 2019 14:03:22 +0000 (07:03 -0700)]
Disable nullability-related warnings
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf20ae796436e04a6c2f13231fee54468c524688
Levi Broderick [Thu, 11 Apr 2019 20:19:21 +0000 (13:19 -0700)]
Fix compilation failure in Utf16Utility
Commit migrated from https://github.com/dotnet/coreclr/commit/
7558272c50a01bb043569c312172a2be019fad61
Levi Broderick [Thu, 11 Apr 2019 18:48:44 +0000 (11:48 -0700)]
PR feedback: document tempUtf8CodeUnitCountAdjustment usage
Commit migrated from https://github.com/dotnet/coreclr/commit/
d8e258944dd7ccd0bd12302548c68a4b856d7d9a
Levi Broderick [Thu, 11 Apr 2019 18:37:00 +0000 (11:37 -0700)]
PR feedback: Clarify charIsNonAscii vector usage
Commit migrated from https://github.com/dotnet/coreclr/commit/
c3aa431c8e1f23dcf17c2369657ab0d3bcc195da
Levi Broderick [Thu, 11 Apr 2019 18:23:53 +0000 (11:23 -0700)]
PR feedback: Validate nint definitions
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce1310074786630235cc326e0438d2cf38b5aae6
Levi Broderick [Thu, 11 Apr 2019 18:14:16 +0000 (11:14 -0700)]
PR feedback: Remove redundant endianess checks
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f2860dc31227b4fa133480f54dd200640a170a4
Levi Broderick [Thu, 11 Apr 2019 18:11:49 +0000 (11:11 -0700)]
PR feedback: CountNumberOfLeadingAsciiBytesFrom24BitInteger
Commit migrated from https://github.com/dotnet/coreclr/commit/
56fa69d278712fbdd4cb2648d283290842d612da
Levi Broderick [Thu, 11 Apr 2019 17:56:34 +0000 (10:56 -0700)]
PR feedback: Fix typos
Commit migrated from https://github.com/dotnet/coreclr/commit/
3e09d1769eb5fc61577489bf747438768a681e98
Sung Yoon Whang [Thu, 11 Apr 2019 11:52:48 +0000 (04:52 -0700)]
Renaming 'failure' in counter tests (dotnet/coreclr#23891)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b574fac287e8ebe94f95d1b0919807523bb55b86
Jeremy Koritzinsky [Thu, 11 Apr 2019 06:31:54 +0000 (23:31 -0700)]
If a delegate type is a WinRT delegate or a WinRT-projected delegate, allow default marshalling. (dotnet/coreclr#23877)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3271f5066cafd8764b5bcf24e3bfa3bdcb351dc1
Levi Broderick [Thu, 11 Apr 2019 05:56:33 +0000 (22:56 -0700)]
Merge remote-tracking branch 'origin/master' into utf8_validation_apis_3
Commit migrated from https://github.com/dotnet/coreclr/commit/
eda0c04f28b9d0ecf3d29fc2c860eac1606d9e6d
Aaron Robinson [Thu, 11 Apr 2019 05:54:46 +0000 (22:54 -0700)]
Remove overrelease in test (dotnet/coreclr#23887)
Commit migrated from https://github.com/dotnet/coreclr/commit/
232ba42911f8266a96f73a77bc1e18f431d96862
Steve MacLean [Thu, 11 Apr 2019 04:20:39 +0000 (00:20 -0400)]
Contextual reflection (dotnet/coreclr#23740)
* Add ContextualReflection APIs
Add ContextualReflection APIs approved in dotnet/corefxdotnet/coreclr#36236
Fix issue dotnet/coreclr#22213
* SetParentAssembly even when IsCollectible()
* ContextualReflection tests
* PR Feedback
* Add more usage tests
Add using statement tests
Add bad usage tests including Assert.Throws<>
* Only initialize on set
* Add XML API comments
* Unify VerifyIsolation
* Fix unused expectedAssembly
* Remove ContextualReflectionScope throw
* Clean up TestResolveMissingAssembly et. al
* Remove unused QCall::AppDomainHandle
* Remove AppDomainBaseObject
* Pass AssemblyLoadContext as managed object to native
* Fix AssemblyLoadContextBaseObject packing
* AssemblyLoadContext backing stores
Use explicit backing stores for events and properties
* Remove StaticAsyncLocalCurrentContextualReflectionContext
* Remove PermissionSetObject
Commit migrated from https://github.com/dotnet/coreclr/commit/
206f9680303134731862a35338618f2cbd225651
Jan Vorlicek [Thu, 11 Apr 2019 00:26:32 +0000 (02:26 +0200)]
Merge pull request dotnet/coreclr#23824 from janvorli/remove_unix_cpu_groups_emulation
Remove Unix CPU groups emulation
Commit migrated from https://github.com/dotnet/coreclr/commit/
cb22707acb620e93a30254ded3048912a9ccb26f
Levi Broderick [Wed, 10 Apr 2019 23:52:48 +0000 (16:52 -0700)]
Re-flow Utf8Utility.Helpers
Commit migrated from https://github.com/dotnet/coreclr/commit/
bae40fa2c2d8f9acb9b8148b7d6a6b91ace55058
Levi Broderick [Wed, 10 Apr 2019 23:51:30 +0000 (16:51 -0700)]
Rename DWORD -> UInt32 throughout API surface
Commit migrated from https://github.com/dotnet/coreclr/commit/
60b8c4f69b70c6d94893fd075c53e49e62777467
Levi Broderick [Wed, 10 Apr 2019 23:47:11 +0000 (16:47 -0700)]
Add comments tracking JIT workarounds.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6cc74a9d209a27c0fccf3e4c90c46c8df67a61fa
Egor Bogatov [Wed, 10 Apr 2019 23:36:14 +0000 (02:36 +0300)]
Move AssemblyName to shared (dotnet/coreclr#23737)
Commit migrated from https://github.com/dotnet/coreclr/commit/
45e04dd1bb1c7171d88a24454cb2c2811f46ce55
Filip Navara [Wed, 10 Apr 2019 23:04:38 +0000 (01:04 +0200)]
Move TimerQueue.TickCount Windows implementation to shared CoreLib (dotnet/coreclr#23838)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6b1e978157278d09247bb82543a21886e087583
Ludovic Henry [Wed, 10 Apr 2019 22:57:00 +0000 (15:57 -0700)]
Make GC.GetGCMemoryInfo public (dotnet/coreclr#23779)
* Make GC.GetGCMemoryInfo public
This is to be used to allow users to optimize memory consumption based
on what's available to the GC and on the system.
This is based on https://github.com/dotnet/corefx/issues/34631
* Address reviews
- Pass GCMemoryInfo struct to native in place of many arguments
- Make GCMemoryInfo.HeapSize and GCMemoryInfo.Fragmentation long in place of IntPtr
* Address reviews
- Mark GCMemoryInfo readonly
* Rearrange fields and match managed/native names
* Fix compilation
* Use getter shorthand
* Address API Design Review
https://github.com/dotnet/corefx/issues/34631#issuecomment-
481358549
* Fix comments
* Fix comments
* Do everything in managed
* Address review
- Remove unecessary [StructLayout.Sequential]
- Remove "_" prefix for parameters variables
Commit migrated from https://github.com/dotnet/coreclr/commit/
a8d440c432bacf81b770f65042ed1721f38be5e5
Brian Sullivan [Wed, 10 Apr 2019 22:19:11 +0000 (15:19 -0700)]
Merge pull request dotnet/coreclr#23876 from briansull/jit-dump
Improved JitDump
Commit migrated from https://github.com/dotnet/coreclr/commit/
34aa89ecdeedac69bb2da3e63b23a1b97bb4cd23
Sergey Andreenko [Wed, 10 Apr 2019 22:15:12 +0000 (15:15 -0700)]
Merge pull request dotnet/coreclr#23858 from sandreenko/fixOptPrepareTreeToReplacement
Clean optVNConstantPropOnTree.
Commit migrated from https://github.com/dotnet/coreclr/commit/
37ab0d569c13924cb6f1dab04f8b13d79e073baf
Jeremy Koritzinsky [Wed, 10 Apr 2019 19:54:27 +0000 (12:54 -0700)]
Check for a null import descriptor when fixing up vtables. (dotnet/coreclr#23825)
A fragile ngened image doesn't have an import descriptor directory in its PE image. Without this check, we AV when loading a fragile ngened image.
Commit migrated from https://github.com/dotnet/coreclr/commit/
38b7770574fdbdd93416053809fce039bc8d5d26
Brian Sullivan [Wed, 10 Apr 2019 19:52:14 +0000 (12:52 -0700)]
jit-format
Commit migrated from https://github.com/dotnet/coreclr/commit/
3cd62e26f2ed9a65578fb4df884314b45050b6cc
Brian Sullivan [Wed, 10 Apr 2019 19:37:21 +0000 (12:37 -0700)]
Improved JitDump
- Prints the bbNatLoopNum when dumping the BasicBlocks
- Refactor the GenTree node dump to use gtDispCommonEndLine:
// Utility function that prints the following node information
// 1: The associated zero field sequence (if any)
// 2. The register assigned to this node (if any)
// 2. The value number assigned (if any)
// 3. A newline character
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7855d857c53d5bc658578116275aefcb247e306
Sergey Andreenko [Wed, 10 Apr 2019 19:29:46 +0000 (12:29 -0700)]
Update the comment.
Commit migrated from https://github.com/dotnet/coreclr/commit/
696a3edc3cc3bcbcf083673996f67828562af056
Tarek Mahmoud Sayed [Wed, 10 Apr 2019 19:05:27 +0000 (20:05 +0100)]
Update Range.GetOffsetAndLength (dotnet/coreclr#23855)
* Update Range.GetOffsetAndLength
Make it return offset and length tuple instead of the old Type Range.OffsetAndLength
* Fix the return Tuple fields names
Commit migrated from https://github.com/dotnet/coreclr/commit/
6398853de7ed52ed378312073fe47f3af75cce0a
Tanner Gooding [Wed, 10 Apr 2019 17:42:17 +0000 (10:42 -0700)]
Tweaking some APIs according to user feedback. (dotnet/coreclr#23857)
* Updating the Avx2.ConvertToVector256UInt APIs to return a signed type (matching the native signature and Sse41 APIs).
* Adding explicit overloads for `Sse41.ConvertToVector128Int*` and `Avx2.ConvertToVector256Int*` that take a pointer
* Updating the word ordering for the Compare/CompareScalar methods.
Commit migrated from https://github.com/dotnet/coreclr/commit/
98472784f82cee7326a58e0c4acf77714cdafe03