Carol Eidt [Tue, 3 Jul 2018 19:21:11 +0000 (12:21 -0700)]
Merge pull request dotnet/coreclr#18766 from CarolEidt/Fix18765
Build uses for atomic ops
Commit migrated from https://github.com/dotnet/coreclr/commit/
49e69bc67c26c2431653646af61d8bccb342a356
Bruce Forstall [Tue, 3 Jul 2018 17:27:00 +0000 (10:27 -0700)]
Merge pull request dotnet/coreclr#18716 from BruceForstall/RemoveTstJobsFromViews
Remove build-only and TST jobs from the Jenkins views
Commit migrated from https://github.com/dotnet/coreclr/commit/
13f2f8ce261db0771f6b602e90f0a408cdd33142
dotnet-maestro-bot [Tue, 3 Jul 2018 17:20:00 +0000 (10:20 -0700)]
Update CoreClr, PgoData to preview1-26703-04, master-
20180703-0030, respectively (dotnet/coreclr#18761)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a4cbc56e5d402e1a43a106c28aed2ec4a745e7b
Carol Eidt [Tue, 3 Jul 2018 14:42:12 +0000 (07:42 -0700)]
Build uses for atomic ops
Fix dotnet/coreclr#18765
Commit migrated from https://github.com/dotnet/coreclr/commit/
f780ddabeb75b2416723bd96f38b361c682c3038
Egor Chesakov [Tue, 3 Jul 2018 02:37:15 +0000 (19:37 -0700)]
Use generic win-x86/win-x64 RIDs in stress_dependencies
Commit migrated from https://github.com/dotnet/coreclr/commit/
87120600c574caf37b4304c2d0725bd90856ab37
Marco Rossignoli [Tue, 3 Jul 2018 04:38:33 +0000 (06:38 +0200)]
Add back most CreateInstance APIs to AppDomain and Activator (dotnet/coreclr#18751)
* add ObjectHandle.cs
* add signature placeholder
* move CreateInstance from netfx
* move CreateInstanceFrom from netfx
* nit: visibility, text formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7c50c5cd54b91c1f982fda8e5c8b21aead3f352
Andon Andonov [Tue, 3 Jul 2018 03:20:38 +0000 (20:20 -0700)]
Update CoreFX CI packages to NetcoreApp3 (dotnet/coreclr#18760)
* Update to FX CI packages to NetcoreApp3
* Add Extra Dependencies
* Enable all tests fixed by change
Commit migrated from https://github.com/dotnet/coreclr/commit/
f32c75e697e77340d581d577789cc530993abbc4
Tanner Gooding [Sat, 30 Jun 2018 05:21:22 +0000 (22:21 -0700)]
Updating SSE_StaticCast and AVX_StaticCast to set the correct type on the returned node.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3292deddb16defb8d431ec456cf351dd95102c1
Tanner Gooding [Sun, 17 Jun 2018 15:58:20 +0000 (08:58 -0700)]
Fold away Sse.StaticCast and Avx.StaticCast in the importer
Commit migrated from https://github.com/dotnet/coreclr/commit/
94edffc61a1cd7bf61fad5a4910d7cfb786b6f24
Tanner Gooding [Sun, 17 Jun 2018 15:57:51 +0000 (08:57 -0700)]
Adding an Avx.StaticCast test (modified from the Sse.StaticCast test)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb027de97b1a17b24a599623779aacd7dd7054f3
Sergey Andreenko [Tue, 3 Jul 2018 00:32:59 +0000 (17:32 -0700)]
SuperPMI: add ability to exclude failing method contexts from replays (dotnet/coreclr#18721)
* format spmi
* rename mchFile to mchFileName
* refactor ProcessChildStdOut
* add a stub to exclude methods
Commit migrated from https://github.com/dotnet/coreclr/commit/
15a6beb33de6f243d59f6b61ec90cfcb336f45af
Aaron Robinson [Mon, 2 Jul 2018 23:21:59 +0000 (16:21 -0700)]
Set the activation context for the CoreRun application to what is defined (dotnet/coreclr#18728)
in the target managed assembly. This allows RegFree COM scenarios and ensures
the intended app manifest is used for the 'exe' scenario.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7222c56c42be22ecb0b61ce2d49e3e916ecdadb6
Andrew Au [Mon, 2 Jul 2018 22:39:03 +0000 (15:39 -0700)]
Debug registers cannot be copied in user mode (dotnet/coreclr#18730)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5f306d6823b85ea65e1e955a490853f68dcca2a3
Brian Robbins [Mon, 2 Jul 2018 22:08:32 +0000 (15:08 -0700)]
Dispatch Runtime Events to EventListener (dotnet/coreclr#18649)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b3b9d08529baaa7afdc38b3ede5dde1e456360b2
dotnet-maestro-bot [Mon, 2 Jul 2018 21:02:48 +0000 (14:02 -0700)]
Update BuildTools, CoreClr, PgoData to preview1-03002-01, preview1-26702-04, master-
20180702-0047, respectively (dotnet/coreclr#18731)
Commit migrated from https://github.com/dotnet/coreclr/commit/
834799c12ec0d459638d694b08bf536adee070b5
Andon Andonov [Mon, 2 Jul 2018 20:54:58 +0000 (13:54 -0700)]
Move RuntimeIDArg initialization (dotnet/coreclr#18747)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2d490dc5e23c69fae7bc3157b6e443587403548
Tanner Gooding [Sat, 30 Jun 2018 21:58:14 +0000 (14:58 -0700)]
Fixing up the Sse41.Insert float HWIntrinsics
Commit migrated from https://github.com/dotnet/coreclr/commit/
a7167ddd15ded348137712705b4fab5852ca57db
Sergey Andreenko [Mon, 2 Jul 2018 17:21:36 +0000 (10:21 -0700)]
reenable fixed arm64 altjit tests (dotnet/coreclr#18722)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e65d730368c3df9d099781153630f5c2c890bbb7
Atsushi Kanamori [Mon, 2 Jul 2018 17:11:33 +0000 (10:11 -0700)]
Add back DefinePInvokeMethod (dotnet/coreclr#18742)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad834bb427539c489ff354fa8f1ba5eb5981da41
Tanner Gooding [Sat, 30 Jun 2018 19:12:32 +0000 (12:12 -0700)]
Adding back the tests for Avx.MaskLoad
Commit migrated from https://github.com/dotnet/coreclr/commit/
e524fbe359fe181259545611b883ee888d140b8f
Tanner Gooding [Sat, 30 Jun 2018 19:10:40 +0000 (12:10 -0700)]
Updating the Avx.Extract/Insert methods to throw PNSE when IsSupported is false
a
Commit migrated from https://github.com/dotnet/coreclr/commit/
50b2ac829a6d16cca84858ddae25de71b8d04708
Tanner Gooding [Sat, 30 Jun 2018 18:28:47 +0000 (11:28 -0700)]
Removing unnecessary `try/catch` blocks from the ExtractScalar and InsertScalar HWIntrinsic test templates
Commit migrated from https://github.com/dotnet/coreclr/commit/
1613245a1e5d844825ed67dc73698ffe2e3129fa
dotnet-maestro-bot [Mon, 2 Jul 2018 09:32:47 +0000 (02:32 -0700)]
Tabs vs. spaces (dotnet/coreclr#18740)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
1310065f3726f5fe119b7a2f660a77f01104a1ef
Andy Ayers [Sun, 1 Jul 2018 22:43:16 +0000 (15:43 -0700)]
Fix some build breaks seen with the older VS we use to build with on desktop. (dotnet/coreclr#18736)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c80466d4caf2c2f411a2311fd3f45594812d1e0f
Jan Kotas [Sun, 1 Jul 2018 13:02:04 +0000 (06:02 -0700)]
Fix recursive inlining of PInvoke stubs (dotnet/coreclr#18737)
PInvoke stubs can be inlined into a regular methods in CoreRT. PInvoke transition
has to be inlined as well when that happens. Otherwise, there is a risk of recursive
inlining in corner cases.
Commit migrated from https://github.com/dotnet/coreclr/commit/
55023b7c1007c528b0147fe839cea5ac4a100e2f
mikedn [Sat, 30 Jun 2018 17:05:30 +0000 (20:05 +0300)]
Pass CompAllocator by value (dotnet/coreclr#15025)
Passing CompAllocator objects by value is advantageous because it no longer needs to be dynamically allocated and cached. CompAllocator instances can now be freely created, copied and stored, which makes adding new CompMemKind values easier.
Together with other cleanup this also improves memory allocation performance by removing some extra levels of indirection that were previously required - jitstd::allocator had a pointer to CompAllocator, CompAllocator had a pointer to Compiler and Compiler finally had a pointer to ArenaAllocator. Without MEASURE_MEM_ALLOC enabled, both jitstd::allocator and CompAllocator now just contain a pointer to ArenaAllocator. When MEASURE_MEM_ALLOC is enabled CompAllocator also contains a pointer but to a MemStatsAllocator object that holds the relevant memory kind. This way CompAllocator is always pointer sized so that enabling MEASURE_MEM_ALLOC does not result in increased memory usage due to objects that store a CompAllocator instance.
In order to implement this, 2 additional signficant changes have been made:
* MemStats has been moved to ArenaAllocator, it's after all the allocator's job to maintain statistics. This also fixes some issues related to memory statistics, such as not tracking the memory allocated by the inlinee compiler (since that one used its own MemStats instance).
* Extract the arena page pooling logic out of the allocator. It doesn't make sense to pool an allocator, it has very little state that can actually be reused and everyting else (including MemStats) needs to be reset on reuse. What really needs to be pooled is just a page of memory.
Since this was touching allocation code the opportunity has been used to perform additional cleanup:
* Remove unnecessary LSRA ListElementAllocator
* Remove compGetMem and compGetMemArray
* Make CompAllocator and HostAllocator more like the std allocator
* Update HashTable to use CompAllocator
* Update ArrayStack to use CompAllocator
* Move CompAllocator & friends to alloc.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
c2baf04cd2c2211334949ba12df2e49fd9109728
dotnet-maestro-bot [Sat, 30 Jun 2018 11:53:40 +0000 (04:53 -0700)]
Update CoreClr, PgoData to preview1-26630-01, master-
20180630-0049, respectively (dotnet/coreclr#18729)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f98cc53e8530787e363c038be3993f3231e2708
Jan Kotas [Sat, 30 Jun 2018 03:43:08 +0000 (20:43 -0700)]
Fix build breaks with older MSVC compiler (dotnet/coreclr#18725)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ec464269fe29790cc940aa3958c9ca21496610c
Tanner Gooding [Sat, 30 Jun 2018 02:19:31 +0000 (19:19 -0700)]
Fixing some Bmi1 HWIntrinsic method names (dotnet/coreclr#18718)
Commit migrated from https://github.com/dotnet/coreclr/commit/
20c38eda89d97756d7e99b00e8ce6569ac554b24
Viktor Hofer [Fri, 29 Jun 2018 15:47:53 +0000 (17:47 +0200)]
Regex: reduce allocation slightly, add tests, code cleanup, add parser comments (dotnet/coreclr#30632)
* RegexParser & optionsstack ref
* Add test coverage for Group.Synchronized
* Adjust options mode test case
* Add inline comment '#' test branch
* Add comments
* Replace manual ToLower calls by Span.ToLower
* Make applicable fields readonly in parser
* Change to Assert to reduce an if check in one branch
* Code formatting
* Avoid string allocation when IgnoreCase set
Prefix patterns which are passed to RegexBoyerMoore are already
lowercased by the parser. Remove the redundant ToLower() call and assert
the patterns lowercase state
* Add surrogate pair positive & negative tests
* Add test cases for rtl anchor
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
dbaf2957387c5290a680c8918779683194137b1d
Bruce Forstall [Fri, 29 Jun 2018 21:49:09 +0000 (14:49 -0700)]
Merge pull request dotnet/coreclr#18715 from BruceForstall/FixSignedComparison
Fix issue with signed/unsigned comparison
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7bfd35ab09306885ae74c760ac69ec42be42557
Sergey Andreenko [Fri, 29 Jun 2018 20:38:44 +0000 (13:38 -0700)]
optimize fgMorphTree for GenTreeArgList (dotnet/coreclr#18582)
* add fgMorphArgList
* hide the call inside fgMorphSmpOp
* fix grammar mistakes
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3da13e0661a95cc7a7c148e816af7040f98c748
Bruce Forstall [Fri, 29 Jun 2018 19:28:29 +0000 (12:28 -0700)]
Remove build-only and TST jobs from the Jenkins views
We only want non-PR, "top-level" jobs in the views. Build-only
and TST jobs are always "child" jobs of other flow jobs, which
will be in the views.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7b35c6e0663ca122a9359a8f01f0b6bf74a6185e
Bruce Forstall [Fri, 29 Jun 2018 19:05:59 +0000 (12:05 -0700)]
Fix issue with signed/unsigned comparison
On Mac (maybe on other platforms using clang?) the following set of
comparisons in the emitter were done as unsigned:
```
(val >= 0xFFFFFFFF80000000LL)
```
even though 'val' is signed. This led to assertion failures. On Windows,
the comparisons were signed.
To fix this, cast the constant to the signed `ssize_t` type (to match `val`).
Fixes dotnet/coreclr#18341
Commit migrated from https://github.com/dotnet/coreclr/commit/
d6f814d384d48f97944af97559fadfcf634744bf
Bruce Forstall [Fri, 29 Jun 2018 18:44:40 +0000 (11:44 -0700)]
Merge pull request dotnet/coreclr#18693 from BruceForstall/FixLinuxX64FlowJobs
Stop creating Linux/x64 corefx flow jobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
f2eb9305888429cb96ce858311d7c4fced12dad7
Luqun Lou [Fri, 29 Jun 2018 17:59:07 +0000 (10:59 -0700)]
Change CancellationTokenRegistration.Unregister visibility from internal to public (dotnet/coreclr#18698)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef85b4e560bd2d10ea342ca86a5947e0e0284fcc
Phil Garcia [Fri, 29 Jun 2018 17:33:35 +0000 (10:33 -0700)]
Corrected a few typos in the documentation and comments (dotnet/coreclr#18706)
* Corrected a few typos in the documentation and comments
* Corrected a few typos in the documentation and comments
* Corrected a few typos in the documentation and comments
* Corrected a few typos in the documentation and comments
* Corrected a few typos in the documentation and comments
* Corrected a few typos in the documentation and comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
d6950568c83269002a41f204400dcb82ced96e14
Stephen Toub [Fri, 29 Jun 2018 17:31:51 +0000 (13:31 -0400)]
Improve bool.TryFormat perf (dotnet/coreclr#18711)
* Improve bool.TryFormat perf
Improves throughput by ~50%, by avoiding AsSpan().CopyTo and just writing out the characters one-by-one. I experimented with playing the same tricks around storing the data in a ulong and blitting it out to the destination reinterpreted as a span of ulongs, but it didn't make a measurable improvement and increased the code complexity.
* Update Boolean.cs
Commit migrated from https://github.com/dotnet/coreclr/commit/
c209f0bf2b0eb5bc6e0a35253457e2f9919f28dc
Carol Eidt [Fri, 29 Jun 2018 16:41:16 +0000 (09:41 -0700)]
Merge pull request dotnet/coreclr#18696 from CarolEidt/Fix18362
Fix & test for dotnet/coreclr#18362
Commit migrated from https://github.com/dotnet/coreclr/commit/
13e760637a4162f825cad6ba6cc27706cb96feef
Andy Ayers [Fri, 29 Jun 2018 16:32:44 +0000 (09:32 -0700)]
JIT: fix regression when returning struct with no fields on SysV (dotnet/coreclr#18708)
The runtime classifies such structs as being returned by reference, so we
need to follow suit in the jit. If the classifier says the value can't be
returned in a register, then so be it.
Add a test case.
Commit migrated from https://github.com/dotnet/coreclr/commit/
65d31999eb89e11a74fe8cbf25982a3ed33a564f
Luqun Lou [Fri, 29 Jun 2018 16:24:45 +0000 (09:24 -0700)]
Add public implementation CultureDataSupport (dotnet/coreclr#18691)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7acc7194a25cd3965c310cc94479f09f7f80714c
dotnet-maestro-bot [Fri, 29 Jun 2018 15:15:05 +0000 (08:15 -0700)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02929-01, preview1-26629-04, preview1-26628-03, master-
20180629-0054, respectively (dotnet/coreclr#18694)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d96ac2c71dd311733081ffacfeda7315a40eac25
Gleb Balykov [Fri, 29 Jun 2018 14:25:17 +0000 (17:25 +0300)]
Remove relocations for vtable chunks (dotnet/coreclr#17147)
* Separate sections READONLY_VCHUNKS and READONLY_DICTIONARY
* Remove relocations for second-level indirection of Vtable in case FEATURE_NGEN_RELOCS_OPTIMIZATIONS is enabled.
Introduce FEATURE_NGEN_RELOCS_OPTIMIZATIONS, under which NGEN specific relocations optimizations are enabled
* Replace push/pop of R11 in stubs with
- str/ldr of R4 in space reserved in epilog for non-tail calls
- usage of R4 with hybrid-tail calls (same as for EmitShuffleThunk)
* Replace push/pop of R11 for function epilog with usage of LR as helper register right before its restore from stack
Commit migrated from https://github.com/dotnet/coreclr/commit/
61146b5c5851698e113e936d4e4b51b628095f27
Carol Eidt [Thu, 28 Jun 2018 23:38:37 +0000 (16:38 -0700)]
LSRA: fix multi-reg ops under FIELD_LIST
Need to build a use for each reg.
Also, dump the defList if it's not empty at end of block.
Commit migrated from https://github.com/dotnet/coreclr/commit/
965c96e5971e47a256bbd57ad27b75e6d71843cf
Carol Eidt [Thu, 28 Jun 2018 23:10:55 +0000 (16:10 -0700)]
Add test for dotnet/coreclr#18362
Also add to the arm & arm64 tests.lst
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9db2cfc342593ef37c9c17d427bd9df86f686f3
Bruce Forstall [Thu, 28 Jun 2018 21:47:35 +0000 (14:47 -0700)]
Stop creating Linux/x64 corefx flow jobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
f71044ada28202c9524bfbd75330931f6d8830c5
Bruce Forstall [Thu, 28 Jun 2018 19:20:31 +0000 (12:20 -0700)]
Merge pull request dotnet/coreclr#18689 from BruceForstall/UpdateArmBuildDocumentation
Update ARM/Linux build directions
Commit migrated from https://github.com/dotnet/coreclr/commit/
1ad9c94ef5e541e9c8ac29606515d6f54e0e445c
Eden [Thu, 28 Jun 2018 19:08:41 +0000 (04:08 +0900)]
Update Tizen CI docker image (dotnet/coreclr#18567)
* Update Tizen rootfs generation scripts for Tizen 5.0 M1
* Update Tizen CI docker image
* Update Tizen CI RID
Commit migrated from https://github.com/dotnet/coreclr/commit/
96a47e0f4a48ef3c5c59ec40f69c4923a6699e56
Bruce Forstall [Thu, 28 Jun 2018 18:35:21 +0000 (11:35 -0700)]
Update ARM/Linux build directions
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d13196f03eda0afd556245f53c4bffcf2626785
dotnet-maestro-bot [Thu, 28 Jun 2018 15:33:28 +0000 (08:33 -0700)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02928-01, preview1-26627-04, preview1-26627-04, master-
20180627-0051, respectively (master) (dotnet/coreclr#18588)
* Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02928-01, preview1-26627-04, preview1-26627-04, master-
20180627-0051, respectively
* Rename netcoreapp2.2 => netcoreapp3.0
* Disable test for CoreFX update
Commit migrated from https://github.com/dotnet/coreclr/commit/
e0e2859acf5f198d6946f881fcda1419c5d3d001
Stephen Toub [Thu, 28 Jun 2018 14:26:21 +0000 (10:26 -0400)]
Avoid capturing ExecutionContext into CancellationTokenSource's Timer (dotnet/coreclr#18670)
* Avoid capturing ExecutionContext into CancellationTokenSource's Timer
It's not needed, and it can keep unrelated state alive unnecessarily
* Address PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d72463b1107cc6f264fcbdc06e3c4df0d9ed668
Jan Vorlicek [Thu, 28 Jun 2018 11:47:34 +0000 (13:47 +0200)]
Fix alternate stack cleanup on MUSL (dotnet/coreclr#18685)
The MUSL implementation of sigaltstack checks that the ss.ss_size is
larger or equal than the MINSIGSTKSZ even when the ss_flags is set
to SS_DISABLE even though Linux man page for sigaltstack states that
when this flag is set, all other ss fields are ignored.
We were not setting the ss_size in this case and it was causing a memory
leak for each thread that has terminated on MUSL based Linux distros
like Alpine.
Glibc implementation doesn't check the ss_size when the SS_DISABLE is set
so the problem was really MUSL specific.
Commit migrated from https://github.com/dotnet/coreclr/commit/
83bdd210b40dac4d42ca8775bfe63d935ab9af2c
John Doe [Thu, 28 Jun 2018 11:47:06 +0000 (04:47 -0700)]
Typo (dotnet/coreclr#18684)
* approrpriate -> appropriate
* allignment -> alignment
* aquire -> acquire
* aquisition -> acquisition
* arbitraty -> arbitrary
* arcance -> arcane
* archetecture -> architecture
* Archicture -> Architecture
* architecures -> architectures
* argmuent -> argument
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a34c72e9e719c9d3879c2a519bf70a05f42869c
John Doe [Thu, 28 Jun 2018 10:03:49 +0000 (03:03 -0700)]
Typo (dotnet/corertdotnet/coreclr#6029)
* aggresively -> aggressively
* algortithm -> algorithm
* anindex -> an index
* antecendent -> antecedent
* barnching -> branching
* becauase -> because
* behaivor -> behavior
* Boolen -> Boolean
* Browing -> Browsing
* calander -> calendar
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
127a888c33eedefe42d2d01cab4cfaaa3b48f9b0
Andy Ayers [Thu, 28 Jun 2018 08:00:33 +0000 (01:00 -0700)]
JIT: fix bug returning small structs on linux x64 (dotnet/coreclr#18563)
The jit was retyping all calls with small struct returns as power of two
sized ints when generating code for linux x64 and arm32/arm64. When the
results of those calls were assigned to fields the jit would use overly wide
stores which could corrupt neighboring fields.
The fix is to keep better track of the smallest power of two enclosing int type
size for the struct. If this exactly matches the struct size then the the
result of the call can be used in an arbitrary context. If the enclosing type is
larger, the call's result must be copied to a temp and then the temp can be
reinterpreted as the struct for subsequent uses.
Defer retyping inline candidates and tail call candidates.
Then handle deferred updates for cases where calls don't get inlined.
Add test cases for 6 byte structs showing the various situations the
jit must handle: callee is not an inline candidate, is an inline candidate
and gets inlined, or inline candidate that does not get inlined.
Add a 3 byte test case to get coverage on arm32. Add new tests to the
arm32/arm64 test lists.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2f2a9b109cb6180d09f2554e82384e2e52fc3a87
Egor Chesakov [Wed, 27 Jun 2018 23:50:15 +0000 (16:50 -0700)]
Cross-bitness in ZapRelocs (dotnet/coreclr#18665)
* Cast to UINT32 to avoid warnings on Windows in ZapBaseRelocs::WriteReloc in src/zap/zaprelocs.cpp
* Replace TADDR with DWORD in ZapInfo::recordRelocation IMAGE_REL_BASED_PTR in src/zap/zapinfo.cpp
* Replace sizeof(cell) with TARGET_POINTER_SIZE in src/zap/zapimport.cpp
* Replace TADDR with DWORD in ZapBaseRelocs::WriteReloc IMAGE_REL_BASED_PTR in src/zap/zaprelocs.cpp
* Define target_size_t type
* Replace TADDR with target_size_t in ZapInfo::recordRelocation in src/zap/zapinfo.cpp
* Replace SIZE_T PVOID with target_size_t in src/zap/zapimport.cpp
* Replace TADDR with target_size_t in src/zap/zaprelocs.cpp
* Rename target_size_t to TARGET_POINTER_TYPE
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a24a272d018f643694d455ba4c432b4bb36adde
Andon Andonov [Wed, 27 Jun 2018 23:23:37 +0000 (16:23 -0700)]
Modify netci definition (dotnet/coreclr#18677)
Commit migrated from https://github.com/dotnet/coreclr/commit/
634b609ee641980baa8d44160d4701ab94daec49
Luqun Lou [Wed, 27 Jun 2018 23:13:10 +0000 (16:13 -0700)]
Add Public implementation RemoveEventHandler in EventRegistrationTokenTable (dotnet/coreclr#18671)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7e6c6cef692da6c642ca4cd39d546c9a2b823a0a
Andon Andonov [Wed, 27 Jun 2018 21:43:36 +0000 (14:43 -0700)]
Windows CoreFX CI (dotnet/coreclr#18365)
* Add test list CL switch
* End-To-End Test Run on Windows
* Cleanup
* MAX_PATH Workaround
* Set Execution directory for CoreFX tests
* Add All CoreFX PR Tests
* Add test dependencies
* Add extra dependencies
* Add parallel test execution
* Disable OuterLoop tests and System.Data.SqlClient.* tests
* Initialize maximum degree of parallelization to Environment.ProcessCount
* Remove unnecessary cli option
* Update Dependencies
* Add "enabled" property to tests
* Remove exclusions due to TestUtilities mismatch
* Add capability to run all tests for running Helix test lists directly
* Refactor build script to build testhost when skipping managed tests
* Disable failing System.Threading.Tests.EventWaitHandleTests.Ctor_InvalidMode
* Add switch to skip native test build
* Add testing documentation
* Don't run tests marked as "disabled" when running all available tests
* Add switch to build only testhost and remove Core_Root_Stage
* Clean up TopN.CoreFX.Windows.issues.json
* Refactor build-test.cmd
* PR feedback - build pipeline and documentation
* PR Feedback - Test Helper headers and comments
* Fix buildtesthost option for only building CoreFX test dependencies
* Disable intermittently failing test DrawBezier_PointFs
Commit migrated from https://github.com/dotnet/coreclr/commit/
d3772d9efc39591d15ffdfbcf60f5b5936c25d0e
Jan Kotas [Wed, 27 Jun 2018 18:55:04 +0000 (11:55 -0700)]
Merge pull request dotnet/coreclr#18645 from tgiphil/readonly
Changed internal value to readonly for primitive types
Commit migrated from https://github.com/dotnet/coreclr/commit/
eeb9e89062de718a5cce60b520aa919299840142
Anirudh Agnihotry [Wed, 27 Jun 2018 18:36:42 +0000 (11:36 -0700)]
Moved SafeWaitHandle and cancellationToken to shared (dotnet/coreclr#18662)
* Moving SafeWaitHandle to shared
* Moved CancellationToken to shared
* _ remove from variable names
* Default change to Default(Token) and minor changes
* Fixing coreclr unix build
* moving semaphoreSlim to shared
* splitting safeWaitHandle to .windows and .unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
11c9d8590dc97b999e83c17dc992e886a6e9861b
Brian Robbins [Wed, 27 Jun 2018 01:23:07 +0000 (18:23 -0700)]
Remove conditional compilation of DotNETRuntimeEventSource.cs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b2959eda8e324fdf14e51def8fa2d27765532fff
Brian Robbins [Wed, 27 Jun 2018 01:22:46 +0000 (18:22 -0700)]
Fix sync.sh to call run.exe -p even if positional parameters are specified after --.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b45be1f57aad2197cebed21c025a69ac3fe8ebad
Carol Eidt [Wed, 27 Jun 2018 18:12:33 +0000 (11:12 -0700)]
Merge pull request dotnet/coreclr#18663 from fiigii/fixapis
Fix Aes and Ssse3.Shuffle intrinsic APIs
Commit migrated from https://github.com/dotnet/coreclr/commit/
a3885cb5bd3914556bb49c21e7d4107bbedae945
Amy [Wed, 27 Jun 2018 16:56:21 +0000 (09:56 -0700)]
Merge pull request dotnet/coreclr#18425 from acmyu/xml
R2RDump - Output in XML format
Commit migrated from https://github.com/dotnet/coreclr/commit/
8684550a5c1cd670c7d669753d092ece4a552499
Brian Sullivan [Wed, 27 Jun 2018 16:51:32 +0000 (09:51 -0700)]
Merge pull request dotnet/coreclr#18130 from sdmaclea/PR-ARM64-JIT-Use-LSE-Atomics
[Arm64] JIT generate LSE Atomics
Commit migrated from https://github.com/dotnet/coreclr/commit/
61542223d3d361a58e04ae292ae20a6469d3be63
Marek Safar [Wed, 27 Jun 2018 13:53:24 +0000 (15:53 +0200)]
Removes duplicate attributes (dotnet/coreclr#18668)
Commit migrated from https://github.com/dotnet/coreclr/commit/
38403e661a4202ca4c8a72e4bbd9a263bddeb891
Jan Kotas [Wed, 27 Jun 2018 05:38:42 +0000 (22:38 -0700)]
Add VM support for Unsafe.AsRef(in T)
Commit migrated from https://github.com/dotnet/coreclr/commit/
51cdf2c39d6064f6fbc7805f10f09149b0b85970
Phil Garcia [Wed, 27 Jun 2018 05:03:49 +0000 (22:03 -0700)]
Applying PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
d1d26ac8fd6aabbfe655de03bf0ee3ecb2d096cd
Henry Sharber [Wed, 27 Jun 2018 03:41:33 +0000 (23:41 -0400)]
More Dead String (dotnet/coreclr#18664)
Removed any strings in \src\inc\corerror.xml that appeared only in one or more of the following:
\src\dlls\mscorrc\mscorrc.rc
\src\pal\prebuilt\corerror\mscorurt.rc
\src\pal\prebuilt\inc\corerror.h
Fix dotnet/coreclr#18420
Commit migrated from https://github.com/dotnet/coreclr/commit/
dd2ca43043440dd6d2c7c1e03ba2d266001254eb
Michal Strehovský [Tue, 26 Jun 2018 14:17:53 +0000 (16:17 +0200)]
Fix bogus assert in ArraySortHelper (dotnet/corertdotnet/coreclr#6018)
Fixes dotnet/coreclr#6016.
Resolves dotnet/coreclr#6015.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
bcabe118b783feb489c791e340f1c3ea792acde2
Stephen Toub [Mon, 25 Jun 2018 23:54:41 +0000 (19:54 -0400)]
Simplify built-in types across corefx (dotnet/corefxdotnet/coreclr#30656)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
38125912cdde6b8bdf87154139189cf55b235f62
Fei Peng [Tue, 26 Jun 2018 23:20:54 +0000 (16:20 -0700)]
Fix Aes and Ssse3.Shuffle intrinsic APIs
Commit migrated from https://github.com/dotnet/coreclr/commit/
1aec8f9ff3c1aa575be0ecad9b2920d25436281c
Amy Yu [Tue, 26 Jun 2018 22:25:02 +0000 (15:25 -0700)]
Fix merge errors, replace spaces with tab, print unwind flag name
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f78c938f5e84a8c302a0b791b1420b7b30608a5
Amy Yu [Tue, 26 Jun 2018 21:11:46 +0000 (14:11 -0700)]
Dump disasm line by line, changes to dumping bytes to xml, fix
compilerIdentifier typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
cbbd3d6482231aac216500c3947267e4a89fbb8a
Amy Yu [Fri, 22 Jun 2018 23:17:24 +0000 (16:17 -0700)]
Refactor into TextDumper and XmlDumper classes
Commit migrated from https://github.com/dotnet/coreclr/commit/
f377d7b4c3771cba99189b957349001878a23840
Amy Yu [Fri, 22 Jun 2018 01:31:22 +0000 (18:31 -0700)]
Xml serialize section contents and gcinfo transitions
Commit migrated from https://github.com/dotnet/coreclr/commit/
5678ab7e406ba8040aff07cb9364c70ac6042d83
Amy Yu [Wed, 20 Jun 2018 00:57:52 +0000 (17:57 -0700)]
XMLSerialize gc transitions and section contents
Commit migrated from https://github.com/dotnet/coreclr/commit/
3be7f69aec7164e9d2c13a01d52abaec277aeb46
Amy Yu [Sat, 16 Jun 2018 00:09:48 +0000 (17:09 -0700)]
Make unwindinfo and gcinfo xml serializable
Commit migrated from https://github.com/dotnet/coreclr/commit/
52132d3f837da545610b5ad125dd5a9b19e4cc33
Amy Yu [Mon, 11 Jun 2018 23:02:50 +0000 (16:02 -0700)]
Output in xml format with XmlSerializer
Commit migrated from https://github.com/dotnet/coreclr/commit/
dd9b69122d9daa136403fde86ee1ce023dfce792
Amy Yu [Mon, 11 Jun 2018 23:01:39 +0000 (16:01 -0700)]
Add public to classes and set accessor to properties needed for serialization
Commit migrated from https://github.com/dotnet/coreclr/commit/
600dc1b49623d96e9b950756c229af637a6a7187
Amy [Tue, 26 Jun 2018 22:01:14 +0000 (15:01 -0700)]
Merge pull request dotnet/coreclr#18435 from acmyu/unwind
R2RDump - Use symbolic names for opcodes
Commit migrated from https://github.com/dotnet/coreclr/commit/
022f14f8575a8c371e0fc4a83ab7aef01ab79d7b
Jakob Botsch Nielsen [Tue, 26 Jun 2018 14:57:47 +0000 (16:57 +0200)]
Fix value numbering when selecting a constant (dotnet/coreclr#18627)
When applying selectors, constants were special-cased to not require any
type casts. However this is wrong if a narrowing needs to be performed.
Fix dotnet/coreclr#18235
Commit migrated from https://github.com/dotnet/coreclr/commit/
4e237f058b12403f7ee69d62fd24053081d5fe13
Jan Kotas [Tue, 26 Jun 2018 05:56:03 +0000 (22:56 -0700)]
Delete slack link, standardize on gitter (dotnet/coreclr#18644)
Contributes to https://github.com/dotnet/coreclr/issues/18643
Commit migrated from https://github.com/dotnet/coreclr/commit/
c17e34f4120f551c70be88fef835abc7640a2e00
Phil Garcia [Tue, 26 Jun 2018 05:27:59 +0000 (22:27 -0700)]
Changed internal value to readonly to all the primitive types
Commit migrated from https://github.com/dotnet/coreclr/commit/
7fa1530c9d86ca3d4fc54a3c98de1ca667e1022b
Bruce Forstall [Mon, 25 Jun 2018 21:55:27 +0000 (14:55 -0700)]
Merge pull request dotnet/coreclr#18585 from BruceForstall/FixArmOffsets
Clean up ARM reserved register handling
Commit migrated from https://github.com/dotnet/coreclr/commit/
e910f324401e330bd586df8beb653c90616dd134
Rafael Rivera [Mon, 25 Jun 2018 20:13:11 +0000 (13:13 -0700)]
Remove commentary on non-existent appx checks (dotnet/coreclr#18631)
Remove commentary on non-existent appx checks
Commit migrated from https://github.com/dotnet/coreclr/commit/
19fd88befd6c142b3c1268703eda0e1f0fd2e7b8
Stephen Toub [Mon, 25 Jun 2018 03:21:25 +0000 (23:21 -0400)]
Simplify types in non-shared corelib (dotnet/corertdotnet/coreclr#6008)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
053e002e3299373ec85f5dc23f744337484d56ed
Egor Chesakov [Mon, 25 Jun 2018 19:25:49 +0000 (12:25 -0700)]
Cross-bitness regular and thread static fields offsets (dotnet/coreclr#18636)
* Define OFFSETOF__DomainLocalModule__m_pDataBlob_ OFFSETOF__DomainLocalModule__NormalDynamicEntry__m_pDataBlob in src/vm/appdomain.hpp
* Define OFFSETOF__ThreadLocalModule__m_pDataBlob OFFSETOF__ThreadLocalModule__DynamicEntry__m_pDataBlob in src/vm/threadstatics.h
* Add assertions and offsets for dynamically allocated statics
* Compensate OffsetOfDataBlob difference
* Check target specific offsets in assertions in src/vm/methodtablebuilder.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
030a3ea9b8dbeae89c90d34441d4d9a1cf4a7de6
Koundinya Veluri [Mon, 25 Jun 2018 16:41:51 +0000 (09:41 -0700)]
Don't close the JIT func info file on shutdown (dotnet/coreclr#18060)
During shutdown there can be a race between closing/nulling `compJitFuncInfoFile` in `compShutdown` and a background thread trying to write to it after checking that it was not null.
Commit migrated from https://github.com/dotnet/coreclr/commit/
df78ae72d5cf3f2c2dbe4ff972732d418497f9bc
Egor Chesakov [Mon, 25 Jun 2018 16:17:00 +0000 (09:17 -0700)]
Cross-bitness in instance fields placement and CORINFO structs (dotnet/coreclr#18366)
* Replace sizeof(OBJECTREF*) with TARGET_POINTER_SIZE
* Define IN_TARGET_32BIT IN_TARGET_64BIT macros
* Replace IN_WIN32 IN_WIN64 with IN_TARGET_32BIT IN_TARGET_64BIT in src/vm/jitinterface.cpp src/vm/methodtablebuilder.cpp
* Define and use OFFSETOF__CORINFO_* constants in clrjit
* Define for all 64-bit targets
* Use unsigned __int32 to emphasize that this is 32-bit number
* Rename Array__u1Elems to Array__data
* Eliminate OFFSETOF__CORINFO_RefArray__length
* Rename OFFSETOF__CORINFO_RefAny__ to OFFSETOF__CORINFO_TypedReference__
* Fix OFFSETOF__CORINFO_TypedReference__dataPtr macro value
Commit migrated from https://github.com/dotnet/coreclr/commit/
c77ef768fc969d6875426e76e51485f2d67ac51c
Adeel Mujahid [Mon, 25 Jun 2018 12:23:12 +0000 (15:23 +0300)]
Fix nested-anon-types warnings (dotnet/coreclr#18591)
Commit migrated from https://github.com/dotnet/coreclr/commit/
86ca8b5e282ee0b42e27c69cb42c159dfc6e5a4b
Andon Andonov [Mon, 25 Jun 2018 05:45:27 +0000 (22:45 -0700)]
Remove test logs (dotnet/coreclr#18621)
Commit migrated from https://github.com/dotnet/coreclr/commit/
556a5fa3e898bbaad3516b55875074a5c265327a
hsharber [Mon, 25 Jun 2018 01:18:15 +0000 (21:18 -0400)]
Removed dead strings used in debug-only code (dotnet/coreclr#18622)
Removed strings used in debug-only code in ex.cpp
Fix dotnet/coreclr#18420
Commit migrated from https://github.com/dotnet/coreclr/commit/
e24e66516f04f3de23bdedab9282ad7f334e64cf
Jan Kotas [Sun, 24 Jun 2018 20:45:15 +0000 (13:45 -0700)]
Update to latest released dotnet SDK (dotnet/coreclr#18626)
Commit migrated from https://github.com/dotnet/coreclr/commit/
798091f23f4c2eea653c78520117634960f366aa
Anipik [Sun, 24 Jun 2018 04:29:23 +0000 (21:29 -0700)]
non shared changes and disabling tests
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
e32feb0120e74178ef03c5c65b06022666470177
Stephen Toub [Sun, 24 Jun 2018 12:22:35 +0000 (08:22 -0400)]
Simply type names in Corelib (dotnet/coreclr#18623)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0fbd855e38bc3ec269479b5f6bf561dcfd67cbb6
Jan Kotas [Sun, 24 Jun 2018 03:20:58 +0000 (20:20 -0700)]
Use correct basic block to check legality of PInvoke callsite for inlining (dotnet/coreclr#18620)
It is the same logic as used in other similar places
Commit migrated from https://github.com/dotnet/coreclr/commit/
eb31c358b27182dae487406a3247dfe995beb40f
Bruce Forstall [Thu, 21 Jun 2018 02:06:27 +0000 (19:06 -0700)]
Clean up ARM reserved register computations
Tighten up and correct the math in compRsvdRegCheck.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c48506a1664fa12f5b72c40f57f52e7d3536a2ba
Bruce Forstall [Sat, 23 Jun 2018 16:38:05 +0000 (09:38 -0700)]
Merge pull request dotnet/coreclr#18600 from BruceForstall/FixArmFPFrameAddressLimits
Expand ARM local variable R11-based addressing
Commit migrated from https://github.com/dotnet/coreclr/commit/
80fdb42107bad66b1710558cbeffb3fefe4f4463