Mike Danes [Mon, 18 Jun 2018 18:19:08 +0000 (21:19 +0300)]
Handle the missing cache case in gtGetStructHandleForSIMD
Commit migrated from https://github.com/dotnet/coreclr/commit/
45c04164112cccfdde71dcd79dd769013547dcaa
Mike Danes [Sat, 16 Jun 2018 15:56:36 +0000 (18:56 +0300)]
Allocate space for siLatestTrackedScopes on demand
By the time siLatestTrackedScopes is needed the number of tracked variables is known so we can allocate an array of suitable size. Defaulting to lclMAX_TRACKED requires 4 kbytes and for many small methods that's a waste.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2e0cc331a72b2473317f9652646bcc6796ece449
Mike Danes [Sat, 16 Jun 2018 20:07:49 +0000 (23:07 +0300)]
Remove Compiler::impSmallStack
Memory allocation via ArenaAllocator is cheap so it's not worth having this inline array that ends up wasting 384 bytes when a larger stack is needed.
Care needs to be taken when inlining to avoid allocating a new stack every time - just steal the stack of the inliner compiler (after ensuring that it is large enough).
Commit migrated from https://github.com/dotnet/coreclr/commit/
f26852e51fc4954a07296cb7b9d0206dca10f8a2
Mike Danes [Sat, 16 Jun 2018 19:21:40 +0000 (22:21 +0300)]
Cleanup hashBvGlobalData
Each compiler object contains a hashBvGlobalData that's 80 bytes in size. Only 16 bytes are actually used - the hash and node free lists.
* hbvFreeVectorList is supposed to be used by hashBv::freeVector but nothing calls that and getNewVector does not attempt to use the free list
* hbvHashSizeLog2 is always 0
* hashBvNextIterator is used only in HbvNext and that function is never used
Commit migrated from https://github.com/dotnet/coreclr/commit/
235bc725acdf8a66b19f1c51cfe83f573562f80d
Mike Danes [Sat, 16 Jun 2018 17:04:09 +0000 (20:04 +0300)]
Remove unused Compiler members
Commit migrated from https://github.com/dotnet/coreclr/commit/
c991031d4cfb8c82bd0d9c736e584e1c8c329d4b
Mike Danes [Sat, 16 Jun 2018 14:43:15 +0000 (17:43 +0300)]
Move SIMD/Intrinsic handles out of Compiler
These handles require ~256 bytes and are only needed if the method uses SIMD/intrinsics. Also, the inlinee compiler can/should reuse them to avoid redundant name lookups.
Commit migrated from https://github.com/dotnet/coreclr/commit/
95770ac26b3a37dcefc1a1cd4b74884642a64783
Mike Danes [Sat, 16 Jun 2018 13:45:02 +0000 (16:45 +0300)]
Move temp info from Compiler to RegSet
Temporaries are only used during register allocation and code generation. They waste space (136 bytes) in the compiler object during inlining.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ca3690ab2f7828cc46c84a8a55de04d3d9667aa
Mike Danes [Sat, 16 Jun 2018 12:53:38 +0000 (15:53 +0300)]
Allocate space for lvaTrackedToVarNum on demand
Compiler::lvaTrackedToVarNum requires 2 kbytes and it's not used when the compiler object is used for inlining.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e39f1d837342c41ddc34a49de2dbcf8f5b664ad9
Mike Danes [Sat, 16 Jun 2018 11:38:36 +0000 (14:38 +0300)]
Allocate space for the loop table on demand
Compiler::optLoopTable requires 2.5kbytes (the entire Compiler object is around 7.5kbytes) and it's not used when the method does not contain loops, when optimizations are disabled or when the compiler is used for inlining.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f75834126bde4e6dbd7f720ed6d94fef18150fa0
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: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
Bruce Forstall [Sat, 23 Jun 2018 16:36:45 +0000 (09:36 -0700)]
Merge pull request dotnet/coreclr#18615 from A-And/CIFXStaging
CoreFX CI - Correct testResults path
Commit migrated from https://github.com/dotnet/coreclr/commit/
9bf3435fe6ad85a5d5021fd98ac323066fca75de
Stephen Toub [Sat, 23 Jun 2018 14:20:29 +0000 (10:20 -0400)]
Change string.Compare(...) == 0 occurrences to string.Equals(...) (dotnet/coreclr#18616)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e1a6bdb037e1a79ad7009fb81eecfd6bd1bbfe65
Anirudh Agnihotry [Sat, 23 Jun 2018 04:12:42 +0000 (21:12 -0700)]
Moved EventWaitHandle.cs to shared (dotnet/coreclr#18612)
* Removed AccessControl Unused arguments
* moving common code to CreateEventCore and using constructor chaining
* Moving Functions to eventwaithandles.windows
* EventWaitHandle matched with corert
* eventwaithandle.windwos matched with corert
* Addding interop functions
* moved files to shared
* Minor changes
* fixing build for corert unix
* Removing Comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
2018d7875ccc01724a4a5c157b2a2bbe15e1a043
Adeel Mujahid [Sat, 23 Jun 2018 02:51:03 +0000 (05:51 +0300)]
Pass RID to crossgen (dotnet/coreclr#18592)
Commit migrated from https://github.com/dotnet/coreclr/commit/
328a2bdc754895bb2204f5daa4d8fa4529bc9dc4
Noah Falk [Sat, 23 Jun 2018 02:14:15 +0000 (19:14 -0700)]
Fix incorrect usage of ILCodeVersion::AsNode (issue dotnet/coreclr#18602) (dotnet/coreclr#18606)
When the debugger is querying the active rejit IL for an IL method that has not been rejitted it incorrectly creates a VMPTR_ILCodeVersionNode for a code version that shouldn't have one.
Commit migrated from https://github.com/dotnet/coreclr/commit/
67af5834bf890632fe975fa27cae35c8404e726e
Andon Andonov [Sat, 23 Jun 2018 01:11:18 +0000 (18:11 -0700)]
Correct testResults path
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad694c15e8cd0df8d53a8d3359bc7678c754c3c0
Bruce Forstall [Thu, 21 Jun 2018 23:33:02 +0000 (16:33 -0700)]
Expand ARM local variable R11-based addressing
When addressing a local with negative offsets from R11 (if it can't
be reached from SP), allow the full range of negative offsets allowed
in the instructions. Floating-point load/store especially has a much
bigger range than what was previously allowed.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a8bccc94862a03ed1503b63cf8a38a7446353471
Andon Andonov [Fri, 22 Jun 2018 22:43:05 +0000 (15:43 -0700)]
Fix incorrect script path (dotnet/coreclr#18613)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6369dfceb2106bcf0de3d834d9a9a4dbf1459d5
Amy Yu [Fri, 22 Jun 2018 22:04:12 +0000 (15:04 -0700)]
Move Amd64 specific class to it's own folder and subnamespace
Commit migrated from https://github.com/dotnet/coreclr/commit/
435166408afb004a94ead8f236eb71c282bc09f3
Anipik [Fri, 22 Jun 2018 18:32:13 +0000 (11:32 -0700)]
Non Shared Changed And feedback
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
db4248f0d615f6e86ed291a86adf395a59ec2e9c
Andon Andonov [Fri, 22 Jun 2018 20:54:45 +0000 (13:54 -0700)]
Remove trigger phrases and add testhost building (dotnet/coreclr#18608)
Commit migrated from https://github.com/dotnet/coreclr/commit/
57218f2de795f6a9141dc9853dbc83029815798e
Luqun Lou [Fri, 22 Jun 2018 18:33:35 +0000 (11:33 -0700)]
Add public implementation MarshalerSupport (dotnet/coreclr#18530)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3fb4483277c7b12841b9ea7672bccdc6f23d3d52
Aaron Robinson [Fri, 22 Jun 2018 18:24:22 +0000 (11:24 -0700)]
Start moving testing documentation into a single location (dotnet/coreclr#18598)
Start moving testing documentation into a single location
Update `test-configuration.md` with more details on creating a test and requirements
Commit migrated from https://github.com/dotnet/coreclr/commit/
8aad994743a1332a21a56728799c293a21115050
Russ Keldorph [Thu, 21 Jun 2018 20:49:04 +0000 (13:49 -0700)]
Update package version to 3.0.0
This doesn't make much practical difference since CoreCLR's packages aren't
intended for any consumers other than core-setup, but we might as well try
to be consistent with our peer repos in case it provides a useful hint when
something goes wrong.
Commit migrated from https://github.com/dotnet/coreclr/commit/
75bd77f09d2221f8eae78e686ded8e510a569542
Carol Eidt [Fri, 22 Jun 2018 16:11:16 +0000 (09:11 -0700)]
Merge pull request dotnet/coreclr#18581 from CarolEidt/Reenable18295
Re-enable tests after fixing 18295
Commit migrated from https://github.com/dotnet/coreclr/commit/
cccc10972bfe7e92f7f32f6a96aa667b845c530f
Bruce Forstall [Fri, 22 Jun 2018 06:05:42 +0000 (23:05 -0700)]
Merge pull request dotnet/coreclr#18595 from BruceForstall/FixArmEncoderLimits
Fix ARM encoder limits
Commit migrated from https://github.com/dotnet/coreclr/commit/
766418568816dfdaac15f7bc9929d5ffcf45b600
Anirudh Agnihotry [Fri, 22 Jun 2018 01:39:23 +0000 (18:39 -0700)]
Moved Semaphore.cs and Semaphore.Windows.cs to shared (dotnet/coreclr#18597)
* TryOpenexistingworker and createsemaphore moved to semaphore.windows.cs
* Common code moved to verifyCounts and CreateMutexCore and then moved to semaphore.windows.cs
* CreateSemaphore merged with CreateSemaphore core
* Moving interop functions from win32Native to inteop.kernel32
* Moving the files to shared
* Minor Formating
Commit migrated from https://github.com/dotnet/coreclr/commit/
84b6f1da3338df672347732a0ea5f7cf4a3e43cf