Jan Kotas [Fri, 31 Mar 2017 23:20:12 +0000 (16:20 -0700)]
Delete moved files
Commit migrated from https://github.com/dotnet/coreclr/commit/
d9b164dcc3189bd08aa4f57bda85c57a40f20574
Michal Strehovský [Fri, 31 Mar 2017 22:08:40 +0000 (15:08 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3175 from jkotas/nmirror-merge
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
f1bedf024cf3b0ea795688161cd94f0ccf289cdc
Sergey Andreenko [Sat, 1 Apr 2017 01:36:06 +0000 (18:36 -0700)]
delete GetMethod2 (dotnet/coreclr#10626)
* delete GetMethod2
* delete unused code
Commit migrated from https://github.com/dotnet/coreclr/commit/
654c340d62a48c424d26d034a40bd360670320c0
Sergey Andreenko [Sat, 1 Apr 2017 01:12:53 +0000 (18:12 -0700)]
delete wrong and unused value (dotnet/coreclr#10634)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7877d56386b1af67200640dfb054d71a797a4c18
Bruce Forstall [Sat, 1 Apr 2017 00:19:54 +0000 (17:19 -0700)]
Merge pull request dotnet/coreclr#10467 from helloguo/VectorConversionTest
Add vector conversion tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
43588058b0c4290acf2c8ab88e27b2f5700c6122
Bruce Forstall [Sat, 1 Apr 2017 00:14:19 +0000 (17:14 -0700)]
Merge pull request dotnet/coreclr#10619 from BruceForstall/legacynonjit
Add ARM32 legacy altjit build
Commit migrated from https://github.com/dotnet/coreclr/commit/
956afbee64bc40862034673049334dfae947245f
Ahson Ahmed Khan [Sat, 1 Apr 2017 00:10:50 +0000 (17:10 -0700)]
Removing Slice on string overloads and adding AsSpan (dotnet/coreclr#10544)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ed2f9533cfcc1b9832d302169d34362da04121fc
Jan Kotas [Fri, 31 Mar 2017 23:15:56 +0000 (16:15 -0700)]
Merge pull request dotnet/coreclr#10625 from jkotas/debug
Move System.Diagnostics.Debug from corefx to coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
f355c5789d5d7cd6ea10bee326c66f04641cfc90
Ahson Ahmed Khan [Fri, 31 Mar 2017 22:27:46 +0000 (15:27 -0700)]
Temporary removing string slice span bench test. (dotnet/coreclr#10617)
* Temporary removing string slice bench test.
* Using if false directive to skip breaking tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
cb01aa873b8b036dff6301a60d6d4a58f39a0672
Bruce Forstall [Fri, 31 Mar 2017 17:11:28 +0000 (10:11 -0700)]
Add altjit build for Windows x86-hosted, Windows ARM32 LEGACY_BACKEND target named legacynonjit.dll
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a495edf57e2bfe3ff4967ce2e8f5507f8974be5
Bruce Forstall [Fri, 31 Mar 2017 21:21:23 +0000 (14:21 -0700)]
Merge pull request dotnet/coreclr#10193 from mskvortsov/ryujit-arm32-fix-struct
[RyuJIT/ARM32] Fix lvOnFrame for struct args
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c0f1af77263535a1035dcccf76f3303f1dd9c9e
Jan Kotas [Fri, 31 Mar 2017 20:33:53 +0000 (13:33 -0700)]
Change the test hook from interface to delegate
Commit migrated from https://github.com/dotnet/coreclr/commit/
6168b219764d53f6a1821c1f6459fe93b69c3da4
Jan Kotas [Fri, 31 Mar 2017 18:45:17 +0000 (11:45 -0700)]
Fix build breaks
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b1504c1baccdebe5e3df9dba3d8faaf548a4b2e
Atsushi Kanamori [Fri, 31 Mar 2017 18:41:39 +0000 (11:41 -0700)]
NS2.0 Inject more missing types into CoreRT by sharing them. (dotnet/coreclr#10613)
* NS2.0 Inject more missing types into CoreRT by sharing them.
- ArgIterator was cleaned up for sharing but actually
sharing it today is too messy with TypedReference
being in the wrong namespace on half of CoreRT.
Some preparatory fixes discovered during the
attempt will be going in on CoreRT...
* Leave RuntimeArgumentHandle and ArgIterator unshared.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8e55616e98b97c66bfb24f194e3fbca68cc152b
Jan Kotas [Fri, 31 Mar 2017 18:18:51 +0000 (11:18 -0700)]
Copy System.Diagnostics.Debug implementation from corefx
Commit migrated from https://github.com/dotnet/coreclr/commit/
d37fd15d5c6388c770742610f651fe3ae16b7eb1
Ben Adams [Fri, 31 Mar 2017 17:50:36 +0000 (18:50 +0100)]
Fallback for enum.Format(G) when not valid (dotnet/coreclr#10610)
Commit migrated from https://github.com/dotnet/coreclr/commit/
82e2735a477ffbfd7e8a67f5323c0c964da2a16f
Atsushi Kanamori [Fri, 31 Mar 2017 14:20:30 +0000 (07:20 -0700)]
Prepare TimeZoneInfo.cs for move to shared partition. (dotnet/coreclr#10606)
(This is the CoreRT side of https://github.com/dotnet/coreclr/pull/10606)
TimeZoneInfo.cs needs no changes but it brings in
another file CurrentTimeZone.cs.
Which drags in yet another file (Hashtable.cs)
which is widely used inside CoreCLR but aside
from this one file, it seems to be stuff that'll
will never be ported over or already has been
ported over sans Hashtable.
So we'll refactor the memoization logic of
CurrentTimeZone.cs into its own partial file
and share the rest. CoreCLR will use continue to use Hashtable.
CoreRT will use ConcurrentUnifier.
And while we're at it, will rename it to
CurrentSystemTimeZone.cs to match the actual class name.
Once we make a corresponding change on the CoreCLR side,
both TimeZone.cs and CurrentSystemTimeZone.cs will
be fully synced and can move to the shared partition.
Commit migrated from https://github.com/dotnet/coreclr/commit/
47931672c057514cac0db20534cee6fe89eb8027
Steve MacLean [Fri, 31 Mar 2017 02:06:23 +0000 (22:06 -0400)]
Add assert to GCHeap::ValidateObjectMember (dotnet/coreclr#10591)
In presence of a corrupt heap, objects can contain
null method table. Add assertion to prevent segfault
in checked/debug builds.
Commit migrated from https://github.com/dotnet/coreclr/commit/
07fa3a32336d2da5d2bf652ad01d33f18b2debaf
Michal Strehovský [Fri, 31 Mar 2017 02:00:24 +0000 (19:00 -0700)]
Add test coverage for ldtoken of open generic methods (dotnet/coreclr#10592)
Commit migrated from https://github.com/dotnet/coreclr/commit/
216d972cd87e1dab8e45862e64cc1b53abac3f1b
Jeff Schwartz [Thu, 30 Mar 2017 23:37:42 +0000 (16:37 -0700)]
Merge pull request dotnet/coreclr#10593 from dotnet/standaloneservergc
Enable StandAloneGC and Server GC
Commit migrated from https://github.com/dotnet/coreclr/commit/
f05f934610d029f3f55720e4d2602c774cf8bae2
Hyung-Kyu Choi [Thu, 30 Mar 2017 22:40:19 +0000 (07:40 +0900)]
[Ryujit/ARM32][ReadyToRun] Fix invocation to Thunk (dotnet/coreclr#10348)
Fix invocation to Thunk code from code generated from ReadyToRun.
Thunk code for ARM32 accept r12 as a parameter.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
99adda23317d943eb2644ffd87798e0e264d426b
Matt Mitchell [Thu, 30 Mar 2017 22:05:38 +0000 (15:05 -0700)]
Enable CROSS for testing (dotnet/coreclr#10594)
Commit migrated from https://github.com/dotnet/coreclr/commit/
326218797daf5e749081c83fc3ae90e23337c784
Brian Sullivan [Thu, 30 Mar 2017 22:03:49 +0000 (15:03 -0700)]
Merge pull request dotnet/coreclr#10513 from briansull/profile-data
Crossgen support for ExcludeHotMethodCode and ExcludeColdMethodCode
Commit migrated from https://github.com/dotnet/coreclr/commit/
267f252cdfb3d05e970e637a19448b08ab0393bf
Pat Gavlin [Thu, 30 Mar 2017 22:02:10 +0000 (15:02 -0700)]
Fix Issue dotnet/coreclr#10022. (dotnet/coreclr#10587)
This issue occurred because the JIT currently inserts the P/Invoke
method prolog into the first block of a function without ensuring that
this block will only execute once. This is not safe, as executing the
P/Invoke prolog multiple times can create cycles in the frame list and
casue the stack unwinder to hang.
This change ensures that lowering inserts a new, single-entry basic
block at the beginning of the function for functions that require P/Invoke prologs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b342387cd8e75249609d30ab79f05193f714e80
Jeff Schwartz [Thu, 30 Mar 2017 22:01:26 +0000 (15:01 -0700)]
Fix tabs and spaces
Commit migrated from https://github.com/dotnet/coreclr/commit/
67a8ef7380e9e30f10e67d3b34898903e6d18946
Jonghyun Park [Thu, 30 Mar 2017 21:20:01 +0000 (06:20 +0900)]
[x86/Linux] Use CDECL instead of STDCALL (dotnet/coreclr#10410)
[x86/Linux] Use CDECL instead of STDCALL
Use STDCALL/THISCALL/FASTCALL if callconv is explicitly specified
Merge two adjustment (argument/alignment) into one
Commit migrated from https://github.com/dotnet/coreclr/commit/
5e03cb09e3754e4a3430ba424a1352b9c01ff098
Bruce Forstall [Thu, 30 Mar 2017 21:16:47 +0000 (14:16 -0700)]
Merge pull request dotnet/coreclr#10228 from mskvortsov/ryujit-arm32-copy-barrier
[RyuJIT/ARM32] Enable GT_COPY and GT_MEMORYBARRIER
Commit migrated from https://github.com/dotnet/coreclr/commit/
4763f1121e62f45fec56cef6234446cd1ad7b8ab
Jarret Shook [Thu, 30 Mar 2017 20:46:59 +0000 (13:46 -0700)]
Merge pull request dotnet/coreclr#10588 from jashook/add_correct_failure_metadata_for_b08046
Re-disable b08046 and add correct metadata.
Commit migrated from https://github.com/dotnet/coreclr/commit/
72d297b5091d225d02f2b60801a80fd548de758a
Jeff Schwartz [Thu, 30 Mar 2017 20:41:39 +0000 (13:41 -0700)]
Change necessary to enable standalonegc on server gc. Now CreateThread in gcenv.windows.cpp matches gcenv.os.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5ad5fd0f83b26d00ef567b215a7dcd5dd8394c9
Sujin Kim [Thu, 30 Mar 2017 20:37:13 +0000 (05:37 +0900)]
[Ryujit/ARM32] Implement NYI related with overflow for ARM (dotnet/coreclr#10491)
* Implement NYI(overflow checks) for ARM
On last comment of dotnet/coreclr#8496, the NYI message of overflow checks is printed after running the CodeGenBringUpTests.
That was the message about temp register setup for overflow checks.
It was referenced
https://github.com/dotnet/coreclr/blob/master/src/jit/lsraarm64.cpp#L399
I think it doesn't make any problem even though writing it the same as arm64.
* modifiy for coding convention
* Implement NYI : Unimplmented GT_CAST:int <--> int with overflow
I think it doesn't make any problem even though writing it the same as arm64.
So I copied parts of CodeGen::genIntToIntCast() and modified some below codes.
```
if (emitter::emitIns_valid_imm_for_cmp(castInfo.typeMax, cmpSize))
```
-->
```
if (emitter::emitIns_valid_imm_for_cmp(castInfo.typeMax, INS_FLAGS_DONT_CARE))
```
* Implement NYI : genLongToIntCast: overflow check
I copied and pasted codes from codegenxarch.cpp.
But It seemed be necessary that conditional execution values are changed by each architectures.
So I used 'genJumpKindForOper' for getting the emitJumpKind value.
The sample app has been checked to work well.
* Modify the implementation of emitter::emitIns_valid_imm_for_cmp
According to reference manual, I figured out CMP and ADD have different mechanisms on ARM unlike ARM64.
So I defined "...for_cmp" function not just use "..for_add" in the function likes ARM64.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f9380e912b105030cee06544338d6068fb7e97e7
Joseph Tremoulet [Thu, 30 Mar 2017 18:57:06 +0000 (14:57 -0400)]
Merge pull request dotnet/coreclr#10569 from sdmaclea/PR-FIX-10359
Handle null ref in Compiler::optCreateAssertion
Commit migrated from https://github.com/dotnet/coreclr/commit/
0278c8561f68937b010e091fe0f8acd8c1b6910d
jashook [Thu, 30 Mar 2017 18:07:13 +0000 (11:07 -0700)]
Re-disable b08046 and add correct metadata.
\JIT\Regression\CLR-x86-JIT\V1.2-M01\b08046\b08046\b08046.cmd was disabled because the issue dotnet/coreclr#2414
was closed but the tests tagged with that issue were not removed. b08046's correct issue is dotnet/coreclr#4849.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3e630a381f2113b22b567ce0e570533a9a9adff3
Sean Gillespie [Thu, 30 Mar 2017 17:11:28 +0000 (10:11 -0700)]
Fix an issue where the DAC and GC versions of the heap_segment data structure did not agree on the location of the heap field (dotnet/coreclr#10576)
Commit migrated from https://github.com/dotnet/coreclr/commit/
11f2dbd1d8376358727a686126024984b01e3383
Fix formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
2972b196d391ec4f858fab30b4697ed28d1b8954
Andrey Akinshin [Thu, 30 Mar 2017 13:25:42 +0000 (18:25 +0500)]
Fix magic number explanation in filetime.cpp (dotnet/coreclr#10582)
89 * 366 + 280 * 365 equals to 134774 (not 134744)
Commit migrated from https://github.com/dotnet/coreclr/commit/
44d4a46497a3a3e0881793c998f392a18dfe3a91
Igor Kulaychuk [Thu, 30 Mar 2017 09:54:02 +0000 (12:54 +0300)]
[Linux][GDB-JIT] Remove (nothrow) when using new (dotnet/coreclr#10457)
* Merge ByteTypeInfo into PrimitiveTypeInfo
* Remove ArrayTypeInfo ownership over its array element type
ArrayTypeInfo should not delete memory for its array element type
because element type is owned by NotifyGdb::PTK_TypeInfoMap.
* Make NamedRefTypeInfo to own its value type pointer
* Fix memory leak when creating ArrayTypeInfo
* Refactor creation of PrimitiveTypeInfo class
* Move code from GetTypeInfoFromTypeHandle to ClassTypeInfo constructor
* Move code from GetTypeInfoFromTypeHandle to RefTypeInfo constructor
* Remove (nothrow) usage from GetTypeInfoFromTypeHandle function
* Remove most usages of (nothrow) from gdbjit
* Remove all remaining (nothrow) usages from gdbjit
* Throw COR_E_NOTSUPPORTED from GetTypeInfoFromTypeHandle when dumping unsupported types
* Remove (nothrow) usage from MemBuf::Resize
* Use NewArrayHolder for vars in FunctionMember class
* Use NewArrayHolder for m_type_name in TypeInfoBase class
* Use NewArrayHolder for m_typedef_name in TypeDefInfo class
* Use NewArrayHolder for m_member_name in TypeMember class
* Use NewArrayHolder for m_var_name in VarDebugInfo class
* Use NewArrayHolder for members in ClassTypeInfo class
* Add m_symbol_name field to Elf_Symbol struct for managing symbol name memory
* Add m_value_type_storage field to NamedRefTypeInfo class for managing referenced type memory
* Remove CalledMethod list cleanup - avoid having dangling pointer in CodeHeader class
* Fix memory leak in GetMethodNativeMap function
* Simplify FunctionMemberPtrArrayHolder class
Since FunctionMemberPtrArrayHolder instance lifetime is limited to
NotifyGdb::MethodCompiled method, there is no need for complicated reallocation code.
* Wrap NotifyGdb::MethodCompiled endtry point in try/catch block
* Fix argument naming style - rename MethodDescPtr to methodDescPtr
Commit migrated from https://github.com/dotnet/coreclr/commit/
46f2b55b09421a66c963410d9c59ae4f8887a293
Noah Falk [Thu, 30 Mar 2017 06:24:57 +0000 (23:24 -0700)]
Merge pull request dotnet/coreclr#10478 from noahfalk/fitjit
Tiered Compilation step 1
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf6a03a994fce9c4b1bb3ba904b67c09d7f40b68
dotnet bot [Thu, 30 Mar 2017 03:49:47 +0000 (20:49 -0700)]
Update CoreClr to preview1-25130-01 (dotnet/coreclr#10573)
Commit migrated from https://github.com/dotnet/coreclr/commit/
61f3162a2d2729cc146c1864e0a742a48bd0ed7d
Aditya Mandaleeka [Thu, 30 Mar 2017 02:37:00 +0000 (19:37 -0700)]
Merge pull request dotnet/coreclr#10575 from adityamandaleeka/544701_reduce_consolewrites
Reduce console writes in 544701
Commit migrated from https://github.com/dotnet/coreclr/commit/
b4629161e4951a56ecf62caa05554aa8d1674f80
noahfalk [Sat, 25 Mar 2017 05:43:47 +0000 (22:43 -0700)]
Tiered Compilation step 1
Tiered compilation is a new feature we are experimenting with that aims to improve startup times. Initially we jit methods non-optimized, then switch to an optimized version once the method has been called a number of times. More details about the current feature operation are in the comments of TieredCompilation.cpp.
This is only the first step in a longer process building the feature. The primary goal for now is to avoid regressing any runtime behavior in the shipping configuration in which the complus variable is OFF, while putting enough code in place that we can measure performance in the daily builds and make incremental progress visible to collaborators and reviewers. The design of the TieredCompilationManager is likely to change substantively, and the call counter may also change.
Commit migrated from https://github.com/dotnet/coreclr/commit/
850164ee70077e0970d7ab4e4bf2ca51809b92e8
Daniel Podder [Thu, 30 Mar 2017 02:01:55 +0000 (19:01 -0700)]
Add PGO support for Clang/LLVM on Unix (dotnet/coreclr#10533)
Extend PGO support from VC++ on WIN32 to Clang/LLVM on UNIX as well.
* Just like on Windows: if profile data is missing, skip enabling PGO
(allows non-PGO builds in branches where we don't publish PGO data).
* PGO with LTO requires additional dependencies (namely a discoverable
`ld.gold` and `LLVMgold.so`). To protect against broken support and
keep the build flexible across a wider array of distros, attempt to
detect whether PGO compilation would work (using cmake's
`try_compile()`), and fall back to a non-PGO/non-LTO build if the test
fails.
Commit migrated from https://github.com/dotnet/coreclr/commit/
926d104068fffb7e7cf867ab4c92082aab968692
Jan Kotas [Wed, 29 Mar 2017 23:01:23 +0000 (16:01 -0700)]
Delete moved files
Commit migrated from https://github.com/dotnet/coreclr/commit/
f990ce64c49d268bcaef5a87d5838f5008ff0a30
Jan Kotas [Wed, 29 Mar 2017 18:45:24 +0000 (11:45 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3141 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
2aa777e664f358d5c3f7eb9933bcb113e5b6ccd4
Stephen Toub [Thu, 30 Mar 2017 01:30:23 +0000 (21:30 -0400)]
Revert "TimeSpan.FromMilliseconds(TimeSpan.MaxValue.TotalMilliseconds) exception fix (dotnet/coreclr#10352)" (dotnet/coreclr#10552)
This reverts commit dotnet/coreclr@
7951bc9accbbf9552d9b5c8105df8f5a32d6c3ab.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6c978497a1c16373153c9263a2d1be09949b5b09
Brian Sullivan [Tue, 28 Mar 2017 00:00:51 +0000 (17:00 -0700)]
Added two new profile data flags: ExcludeHotMethodCode and ExcludeColdMethodCode
Refactored zapimage CompileProfileData into four new methods:
CompileHotRegion, CompileColdRegion, PlaceMethodIL and ProfileDisableInlining
Preserve the CompileStatus and methodProfilingDataFlags used when we compile methods during CompileHotRegion()
Then during CompileColdRegion retrieve these value and exclude the method from the AOT native image if the status is COMPILE_EXCLUDED.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff3518d0a850785c4b991695303519172c0f36dc
Aditya Mandaleeka [Thu, 30 Mar 2017 00:41:08 +0000 (17:41 -0700)]
Reduce console writes in 544701.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4649351f093e73300b5f64f0196e585f867b5007
Gaurav Khanna [Wed, 29 Mar 2017 23:34:58 +0000 (16:34 -0700)]
Reflect PortableRIDs in Identity packages (dotnet/coreclr#10567)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8e986affba47efc1ce85ab0bb9428a6c28dae279
Hyeongseok Oh [Wed, 29 Mar 2017 23:31:52 +0000 (08:31 +0900)]
[Linux/x86] Change non-PR Linux/x86 build CI job to daily job (dotnet/coreclr#10551)
This commit change non-PR Linux/x86 build CI job to daily job.
This job only perform build process now,
but it will be perform Linux/x86 CoreCLR unittest later.
And build result could be used for Linux/x86 CoreFX unittest.
Commit migrated from https://github.com/dotnet/coreclr/commit/
103ba6415fb0d768a9bbb3cc8cb342b84dd1f5d5
Gaurav Khanna [Wed, 29 Mar 2017 22:55:28 +0000 (15:55 -0700)]
Switch to produce Preview1 packages (dotnet/coreclr#9886)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f5c45805d99ff8f522c96217f47c648d09f09bf3
Aditya Mandaleeka [Wed, 29 Mar 2017 21:55:34 +0000 (14:55 -0700)]
Merge pull request dotnet/coreclr#10506 from adityamandaleeka/handle_table_local_gc_init
Create an IGCHandleTable interface
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c2ee08a4bcefa5368696713309ae919caf2175d
Handle null ref in Compiler::optCreateAssertion
Code as recommended by Eugene Rozenfeld in dotnet/coreclr#10359
Fixes dotnet/coreclr#10359
Commit migrated from https://github.com/dotnet/coreclr/commit/
03e9fd77c9ff5933b47e9e2bdce825eaa6e47eba
Andy Ayers [Wed, 29 Mar 2017 21:16:46 +0000 (14:16 -0700)]
JIT: improve types for single def locals and temps (dotnet/coreclr#10471)
* JIT: improve types for single def locals and temps
Track whether a local has a single definition, and if so, if it has
a reference type, try and update its type from the declared type to
a better type taken from the value being assigned to the local.
Obtain types for some of the 'short-lived' ref type temps that should
have a single definition. Use both the tree and the eval stack as sources
of type information (the latter can be phased out if/when all tree nodes
can return rich type information).
Refactor the code that sets or updates lvClassHnd into utilities
to provide better auditing of type flow and make the set/update process
a bit more rigorous.
Cleanup the code that passes argument values a bit by commoning redundant
argument lookup expressions.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e99037f5c750b52016b940f964cee920b1579ff8
Joseph Tremoulet [Wed, 29 Mar 2017 21:14:42 +0000 (17:14 -0400)]
Merge pull request dotnet/coreclr#10564 from JosephTremoulet/SelfAssign
Take fields into account checking for self-assign
Commit migrated from https://github.com/dotnet/coreclr/commit/
65bab0936a3ee82c6b4a5d83c7b63b22fd225ff3
dotnet bot [Wed, 29 Mar 2017 21:12:21 +0000 (14:12 -0700)]
Update CoreClr, CoreFx to beta-25129-03, beta-25129-02, respectively (dotnet/coreclr#10539)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5a5aa9122add4255c362c44b023dc1ecd4f75dbc
dotnet bot [Wed, 29 Mar 2017 20:21:41 +0000 (13:21 -0700)]
change JitEE interface signature for getReadyToRunDelegateCtorHelper (dotnet/coreclr#10562)
[tfs-changeset: 1652444]
Commit migrated from https://github.com/dotnet/coreclr/commit/
2bf9bb7904a714801cef7d4fdc63149b0c7491e8
Swaroop Sridhar [Wed, 29 Mar 2017 01:51:56 +0000 (18:51 -0700)]
Fix some bugs in Linux ILLINK testing.
Fix a few problems in the <test>.sh generation for
running CoreCLR tests on Linux via ILLINK
Commit migrated from https://github.com/dotnet/coreclr/commit/
eee7764b1743306190a0a70b0828bd85edd8a942
Aditya Mandaleeka [Thu, 23 Mar 2017 23:23:05 +0000 (16:23 -0700)]
Create a GCHandleTable interface with Init/Shutdown.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d02c0786825a27d67fb2af150f751dbda360bef
smile21prc [Wed, 29 Mar 2017 18:52:25 +0000 (11:52 -0700)]
Re-enable multi-queue for coreclr (dotnet/coreclr#10541)
* Add multiqueue Support for coreclr.
Add multiqueue Support for coreclr.
* Upload build results to ONE linux container
Upload build results to ONE linux container
* Fix helixpublish.proj
Fix helixpublish.proj
* Adding more logs.
Adding more logs.
* Revert logging changes.
Revert logging changes.
* Use build version containing support of "+" delimiter
Use build version containing support of "+" delimiter
* Fix indention.
Fix indention.
* Update to use latest tools.
Update to use latest tools.
* Use an older tool as latest has a wired error on "Run build.sh" step.
Error details:
2017-03-28T23:30:13.2659430Z Running:
/root/coreclr/Tools/dotnetcli/dotnet /root/coreclr/Tools/run.exe
/root/coreclr/config.json build -Project=/root/coreclr/build.proj
-MsBuildLog=/flp:Verbosity=normal;LogFile=/root/coreclr/bin/Logs/System.Private.CoreLib_Checked.log
-BuildTarget -__IntermediatesDir=/root/coreclr/bin/obj/Linux.x64.Checked
-__RootBinDir=/root/coreclr/bin -BuildNugetPackage=false
-UseSharedCompilation=false -BuildArch=x64 -BuildType=Checked
-BuildOS=Linux
-OptimizationDataDir="/root/coreclr/packages/optimization.Linux-x64.IBC.CoreCLR//data/"
-EnableProfileGuidedOptimization=true -skiprestore
-OfficialBuildId=
20170329-01 -- /p:ConfigurationGroup=Release
/flp:v=diag
2017-03-28T23:30:13.6855470Z Running: /root/coreclr/Tools/msbuild.sh
/nologo /verbosity:minimal /clp:Summary /maxcpucount
/l:BinClashLogger,Tools/net46/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log
/p:RestoreDuringBuild=false /root/coreclr/build.proj
/p:__BuildType=Checked /p:__BuildArch=x64 /p:__BuildOS=Linux
/p:__RootBinDir=/root/coreclr/bin
/p:__IntermediatesDir=/root/coreclr/bin/obj/Linux.x64.Checked
/p:OfficialBuildId=
20170329-01 /p:EnableProfileGuidedOptimization=true
/p:OptimizationDataDir="/root/coreclr/packages/optimization.Linux-x64.IBC.CoreCLR//data/"
/flp:Verbosity=normal;LogFile=/root/coreclr/bin/Logs/System.Private.CoreLib_Checked.log
/p:BuildNugetPackage=false /t:Build /p:UseSharedCompilation=false
/p:ConfigurationGroup=Release /flp:v=diag
2017-03-28T23:30:15.5843800Z
/root/coreclr/Tools/Microsoft.CSharp.CurrentVersion.targets(321,5):
error MSB4019: The imported project
"/root/coreclr/Tools/Microsoft.Net.Compilers/2.0.0-rc/tools/Microsoft.CSharp.Core.targets"
was not found. Confirm that the path in the <Import> declaration is
correct, and that the file exists on disk.
[/root/coreclr/src/ToolBox/SOS/NETCore/SOS.NETCore.csproj]
2017-03-28T23:30:16.6459770Z
/root/coreclr/Tools/Microsoft.CSharp.CurrentVersion.targets(321,5):
error MSB4019: The imported project
"/root/coreclr/Tools/Microsoft.Net.Compilers/2.0.0-rc/tools/Microsoft.CSharp.Core.targets"
was not found. Confirm that the path in the <Import> declaration is
correct, and that the file exists on disk.
[/root/coreclr/src/mscorlib/System.Private.CoreLib.csproj]
* New builds have errors, revert to use older builds.
New builds have errors, revert to use older builds.
Commit migrated from https://github.com/dotnet/coreclr/commit/
def03cc858e599b45c165fa592a3e5b0de272e22
Rahul Kumar [Wed, 29 Mar 2017 18:50:38 +0000 (11:50 -0700)]
Merge pull request dotnet/coreclr#10446 from rahku/fix9879
Allow assemblies in TPA to loaded using LoadFrom
Commit migrated from https://github.com/dotnet/coreclr/commit/
00e30c5f2627e5683e030144eb1806b30c70dd1e
Alex Perovich [Wed, 29 Mar 2017 18:41:45 +0000 (13:41 -0500)]
Add shared directory README (dotnet/coreclr#10535)
* Add shared directory README
* PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
978635d6bb8aa07cb09a6b9226372d6bbb773b49
Joseph Tremoulet [Tue, 28 Mar 2017 18:56:27 +0000 (14:56 -0400)]
Take fields into account checking for self-assign
The code in `fgMorphCopyBlock` that removes self-assigns checks if the LHS
and RHS refer to the same `lclVar`; update it to also check if the LHS and
RHS refer to the same field(s) of that `lclVar`, since otherwise copies
from one field to another of a struct can get lost.
Fixes dotnet/coreclr#10481.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c3610d32da61d995191d77b91735b462b46a516a
Hyung-Kyu Choi [Wed, 29 Mar 2017 17:28:13 +0000 (02:28 +0900)]
Fix indentation of diagram in comment (dotnet/coreclr#10554)
Fix indentation of diagram in comment
in Compiler::fgRecognizeAndMorphBitwiseRotation
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
896b773e671cbc54f7a7dc53bb48bd2ff739f155
Rahul Kumar [Wed, 29 Mar 2017 17:26:35 +0000 (10:26 -0700)]
Fix duplicate fcall entries for GetAssemblyName (dotnet/coreclr#10546)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ec9de1aa41d80ec3be8d5a7adb1eea791abacc9a
Jonghyun Park [Wed, 29 Mar 2017 17:25:15 +0000 (02:25 +0900)]
[x86/Linux] Use Portable ArrayInitializeWorker (dotnet/coreclr#10550)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4cd34ab9504fae49506ccaea61b2dbba03710a40
Hyeongseok Oh [Wed, 29 Mar 2017 08:28:57 +0000 (17:28 +0900)]
Fix dependency to coreclr and mscorrc in Linux (dotnet/coreclr#10138)
* Fix dependency to coreclr and mscorrc in Linux
Remove dependency with coreclr in some projects for Linux
Recover build mscorrc for cross architecture in Linux
* Fix CMakeLists.txt in src/dlls
minimize uses of CLR_CROSS_COMPONENTS_BUILD flag in CMakeLists.txt
Modify root/CMakeLists.txt to exclude corerun and coreconsole build
during cross component build
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c4fda612e8a4f0d48346c477d058fa3fddf514e
ragmani [Wed, 29 Mar 2017 08:21:25 +0000 (17:21 +0900)]
[x86/Linux] fix a typo of FillRegDisplay method. (dotnet/coreclr#10547)
Signed-off-by: ragmani <ragmani0216@gmail.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
a1ad1592f45bdfc544deedb1d2e88e9a35895bb1
Jan Kotas [Wed, 29 Mar 2017 01:56:43 +0000 (18:56 -0700)]
Delete moved file
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3eecaa56ec08d47941bc7191656a7559ac8b3c0
Jan Kotas [Wed, 29 Mar 2017 01:45:38 +0000 (18:45 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3134 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
18e9e27b945a8a1ddf7b3c8aff5892726b6a248e
Jonghyun Park [Wed, 29 Mar 2017 03:39:37 +0000 (12:39 +0900)]
[x86/Linux] Fix signature mismatch inside InstantiatingStub (dotnet/coreclr#10538)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a8459520aaf5663e7b97c1b4b42f16859d5e129d
Rama krishnan Raghupathy [Wed, 29 Mar 2017 02:37:43 +0000 (19:37 -0700)]
Merge pull request dotnet/coreclr#10537 from ramarag/cleanup_longfile
Removing Unnecessary CloseBuffer calls
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2907e7e0ff8c064b96fc33727f83c31f61d32c4
Rama Krishnan Raghupathy [Wed, 29 Mar 2017 01:09:12 +0000 (18:09 -0700)]
Removing Unnecessary CloseBuffer calls
Commit migrated from https://github.com/dotnet/coreclr/commit/
c082bf271567b3dc44d80b37b2b5c8eed5b95f64
Brian Sullivan [Wed, 29 Mar 2017 00:37:39 +0000 (17:37 -0700)]
Merge pull request dotnet/coreclr#10534 from sdmaclea/PR-ARM64-GC-ASSIGN-BYREF
[Arm64] Revise CORINFO_HELP_ASSIGN_BYREF code
Commit migrated from https://github.com/dotnet/coreclr/commit/
bff1ee64d07bf72beed3c6474624e9cd8f49ac78
Zverev Eugene [Tue, 28 Mar 2017 23:50:14 +0000 (02:50 +0300)]
TimeSpan.FromMilliseconds(TimeSpan.MaxValue.TotalMilliseconds) exception fix (dotnet/coreclr#10352)
The problem is discussed here: https://connect.microsoft.com/VisualStudio/feedback/details/542235/timespan-structure-incorrectly-handles-values-close-to-min-and-max-value
The existing overflow checks are ignorant and superfluous.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7951bc9accbbf9552d9b5c8105df8f5a32d6c3ab
Jonghyun Park [Tue, 28 Mar 2017 23:43:34 +0000 (08:43 +0900)]
[x86/Linux] Align frame before SetObjectAppDomain call (dotnet/coreclr#10519)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e05aa41840d1551d4048fff8192a4598cabb0573
Sergey Andreenko [Tue, 28 Mar 2017 23:25:58 +0000 (16:25 -0700)]
Ctor Jit-EE interface change (dotnet/coreclr#10512)
Change JIT-EE interface for getReadyToRunDelegateCtorHelper.
Update GUID.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9afde0a2de16b0df63f77847c29e88613cb96ff4
[Arm64] Revise CORINFO_HELP_ASSIGN_BYREF code
Reverts dotnet/coreclr#9655 which didn't work correctly
Revised code to match amd64
Fixes many failing GCStress tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
915df991419a5da16bc6fbb81d3218eac96d451c
Aditya Mandaleeka [Thu, 23 Mar 2017 22:49:12 +0000 (15:49 -0700)]
Separate finalizer thread creation from GC initialization in EE Startup.
Commit migrated from https://github.com/dotnet/coreclr/commit/
066793782f1100b55cf092f50fa15d6901d6be75
Sergey Andreenko [Tue, 28 Mar 2017 21:39:44 +0000 (14:39 -0700)]
Merge pull request dotnet/coreclr#10503 from sandreenko/fgOptimizeDelegateConstructor-cleanup
small fgOptimizeDelegateConstructor code refactoring
Commit migrated from https://github.com/dotnet/coreclr/commit/
1b12399658ad04ced9a0478308094caa57e475e2
Atsushi Kanamori [Tue, 28 Mar 2017 21:03:21 +0000 (14:03 -0700)]
Get VS to quit bugging me about replacing SR.cs already. (dotnet/coreclr#10530)
Fix https://github.com/dotnet/coreclr/issues/10358
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e9eb4548e055f2aa12a5300c0ce207d524ee9ca
Rahul Kumar [Tue, 28 Mar 2017 20:25:27 +0000 (13:25 -0700)]
return TPA assembly if loadfrom is passed a path to assembly with same identity
Commit migrated from https://github.com/dotnet/coreclr/commit/
c28d9e33054c3052b8be4742711cecd524005a22
Swaroop Sridhar [Thu, 23 Mar 2017 01:09:05 +0000 (18:09 -0700)]
Add support for CoreCLR testing via ILLINK on Linux
Made changes to the test infrastructure to
1) Generate <test>.sh with commands to invoke ILLINK and run the output
2) Add runtest.sh --link=<path-to-illink> to invoke the ILLINK testing
Commit migrated from https://github.com/dotnet/coreclr/commit/
5f05a462321923ee6d9975cc3f88a233b3143332
303248153 [Tue, 28 Mar 2017 18:12:18 +0000 (02:12 +0800)]
Fix comment on mark::recover_plug_info (dotnet/coreclr#10516)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9a0d6d510e92dc4ebd4b78f766c706abce0a9af
Eric Erhardt [Tue, 28 Mar 2017 17:56:04 +0000 (12:56 -0500)]
Merge pull request dotnet/coreclr#10507 from eerhardt/TZBinarySearch
Binary Search in TimeZoneInfo.GetAdjustmentRuleForTime
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e63a3efa9135c713c8fd5ae7e73dfca0ed6256e
Sean Gillespie [Tue, 28 Mar 2017 16:59:04 +0000 (09:59 -0700)]
[Local GC] Use standard C++ types (bool) and consistent types (void*) on the interface (dotnet/coreclr#10463)
* [Local GC] BOOL -> bool on IGCHeap
* [Local GC] size_t -> void* on IGCHeap
* [Local GC] Silence warnings by being explicit about BOOl -> bool conversions
* Address code review feedback: FinalizeAppDomain BOOL -> bool
* Fix warnings
* Address code review feedback:
1) Fix a missed default parameter (FALSE) on a parameter of type bool,
2) Fix invocations of the diagnostic callbacks to use boolean literals
instead of TRUE and FALSE,
3) Fix various invocations of GC interface methods in the VM to use
boolean literals instead of TRUE and FALSE
* Address code review feedback: fix inconsistency
Commit migrated from https://github.com/dotnet/coreclr/commit/
7e4afb4fbf900b789f53ccb816c6ddba7807de68
Hanjoung Lee [Tue, 28 Mar 2017 15:53:08 +0000 (00:53 +0900)]
Fix usage text of runtest.sh (dotnet/coreclr#10518)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e23bfb25d4fde28d2f1648ae381f5e44538b1827
dotnet bot [Tue, 28 Mar 2017 14:47:07 +0000 (07:47 -0700)]
Update CoreClr to beta-25128-03 (dotnet/coreclr#10517)
Commit migrated from https://github.com/dotnet/coreclr/commit/
67938086beb9b9e6ef4b58e1f6e8543c0f5caba0
Eric Erhardt [Mon, 27 Mar 2017 17:50:36 +0000 (12:50 -0500)]
Binary Search in TimeZoneInfo.GetAdjustmentRuleForTime
Since Unix uses IANA tzdata files, there can be hundreds of adjustment rules for each time zone. To make the search for a given rule faster, use a binary search since the rules are guaranteed to be in chronological order. See ValidateTimeZoneInfo.
Fix dotnet/coreclr#5716
Commit migrated from https://github.com/dotnet/coreclr/commit/
8db6c57bc9768b0387cb045b19afee3c721ea348
Koundinya Veluri [Tue, 28 Mar 2017 05:38:53 +0000 (22:38 -0700)]
Don't ignore exceptions thrown from handlers of some events (dotnet/coreclr#10502)
Fixes dotnet/corefxdotnet/coreclr#14747:
- Events include: AssemblyLoadContext.Unloading, AppDomain.ProcessExit
- Made the same change for AppDomain.DomainUnload for consistency, but it's not raised
Commit migrated from https://github.com/dotnet/coreclr/commit/
54b2c88f5a8c4623a4a465218a9cef94b92642bf
Olof Olsson [Tue, 28 Mar 2017 03:32:35 +0000 (05:32 +0200)]
Fix link for up-for-grabs issues (dotnet/coreclr#10488)
* Fix link for up-for-grabs issues
Commit migrated from https://github.com/dotnet/coreclr/commit/
440a2871f11d75defe58edd1bf8b535edfd17b42
Alex Perovich [Mon, 27 Mar 2017 22:44:34 +0000 (15:44 -0700)]
Move deleted files and remove m_ prefix in shared file
Commit migrated from https://github.com/dotnet/coreclr/commit/
b15749642d928dad5652487a759bf0db4d494502
Alex Perovich [Mon, 27 Mar 2017 18:12:31 +0000 (11:12 -0700)]
Add DateTimeFormat and Parse to shared and remove moved file
Commit migrated from https://github.com/dotnet/coreclr/commit/
6c68f33332e090d0b8cec12aeede82d6c17b1e2a
dotnet bot [Tue, 28 Mar 2017 00:59:59 +0000 (17:59 -0700)]
Update CoreClr, CoreFx to beta-25127-03, beta-25124-07, respectively (dotnet/coreclr#10468)
Commit migrated from https://github.com/dotnet/coreclr/commit/
810f9398337485b30ffb447ccaab5d4c85cadb3a
Dan Moseley [Tue, 28 Mar 2017 00:58:14 +0000 (17:58 -0700)]
Some missing stragglers (dotnet/coreclr#10509)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1490075c8887ce277bb2ae2f2a77ad7feb7cc125
Bruce Forstall [Tue, 28 Mar 2017 00:05:45 +0000 (17:05 -0700)]
Implement TLS field handles for RyuJIT/x86 (dotnet/coreclr#10510)
Implement TLS field handles for RyuJIT/x86
This isn't used by .NET Core, but helps us run desktop testing.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5061b6c0c261ca475187375725f4a324c7f8b20c
Sergey Andreenko [Mon, 27 Mar 2017 19:46:59 +0000 (12:46 -0700)]
small changes in fgOptimizeDelegateConstructor
Delete unnecessary condition.
Use default methods to work with lists.
ArgList construction reordering.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1502744c6915bf4b53e64fe766f7136a2edd0fd3
Koundinya Veluri [Mon, 27 Mar 2017 18:10:07 +0000 (11:10 -0700)]
Add heuristic to trigger GC to finalize dead threads and clean up han… (dotnet/coreclr#10413)
Add heuristic to trigger GC to finalize dead threads and clean up handles and memory
A thread that is started allocates some handles in Thread::AllocHandles(). After it terminates, the managed thread object needs to be collected by a GC for the handles to be released. Some applications that are mostly idle but have a timer ticking periodically will cause a thread pool thread to be created on each tick, since the thread pool preserves threads for a maximum of 20 seconds currently. Over time the number of handles accumulates to a high value. Thread creation adds some memory pressure, but that does not force a GC until a sufficiently large handle count, and for some mostly idle apps, that can be very long. The same issue arises with directly starting threads as well.
Fixes dotnet/coreclr#6602:
- Track a dead thread count separately from the current dead thread count. This is the count that will contribute to triggering a GC, once it reaches a threshold. The count is tracked separately so that it may be reset to zero when a max-generation GC occurs, preventing dead threads that survive a GC due to references from contributing to triggering a GC again in this fashion.
- If the count exceeds a threshold, enumerate dead threads to see which GC generation the corresponding managed thread objects are in. If the duration of time since the last GC of the desired generation also exceeds a threshold, trigger a preferably non-blocking GC on the finalizer thread.
- Removed a couple of handles and some code paths specific to user-requested thread suspension, which is not supported on CoreCLR
Commit migrated from https://github.com/dotnet/coreclr/commit/
2401b6ed08252d48831bfd804c3533cd0142c76c
Atsushi Kanamori [Mon, 27 Mar 2017 18:09:21 +0000 (11:09 -0700)]
Move Pointer.cs to the shared partition. (dotnet/coreclr#10499)
* Move Pointer.cs to the shared partition.
(The two internal helpers are not yet used
on CoreRT but that's only because CoreRT
doesn't yet implement Pointer support
for Reflection invoke. Exposing them
unconditionally now to save us the trouble
of removing the #ifdef's later.)
Commit migrated from https://github.com/dotnet/coreclr/commit/
47d333c856e567884594e1efd3497a254b6a04fb
Ben Monroe [Mon, 27 Mar 2017 17:04:32 +0000 (02:04 +0900)]
Path may contain spaces. Wrap in quotes. (dotnet/coreclr#10493)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ef462c87850f85ccf41daf54e970161737a65b3
Joseph Tremoulet [Mon, 27 Mar 2017 15:45:18 +0000 (11:45 -0400)]
Merge pull request dotnet/coreclr#10484 from mikedn/map-vn-assert
Correctly update bitvector in optAddVnAssertionMapping
Commit migrated from https://github.com/dotnet/coreclr/commit/
61830e9d70423d0d48bf1d2912fdb921d618e60f
Stephen Toub [Sun, 26 Mar 2017 21:04:40 +0000 (17:04 -0400)]
Merge pull request dotnet/coreclr#10489 from stephentoub/capturethrow
Add static ExceptionDispatchInfo.Throw method
Commit migrated from https://github.com/dotnet/coreclr/commit/
48e244855c98c6f280c986d0981238f403a49ff3