Mikhail Skvortcov [Thu, 6 Apr 2017 15:53:15 +0000 (18:53 +0300)]
RyuJIT/ARM32: update GT_LEA codegen
Commit migrated from https://github.com/dotnet/coreclr/commit/
086b000d671b8a3daae911652044b8086a489084
Atsushi Kanamori [Thu, 6 Apr 2017 14:45:58 +0000 (07:45 -0700)]
Clean up and prepare FileLoadException.cs for move to Shared Partition. (dotnet/coreclr#10764)
* String => string
* Replace fields with autoprops.
* Turn Type.FullName call to Type.ToString() in ToString().
Avoids MissingMetadataExceptions on CoreRT.
Assuming metadata exists, ToString() and FullName()
still generates the same string except in the weird
case where an app subclasses FileLoadException
with a generic exception type - in which case,
the ToString() version is actually more readable.
* Get rid of useless try-catch around FusionLog calls.
FusionLog is now just a normal property and an answer
to a trivia question - it won't throw SecurityException.
* Get rid of low-value SetMessageField() middleman.
* Split off the stuff we don't want to share.
* The complementary carwash...
* Don't conditionalize FusionLog serialization.
Commit migrated from https://github.com/dotnet/coreclr/commit/
82b8a644a560e4c688ba6d59ac5fb86bd24b68ad
Jonghyun Park [Thu, 6 Apr 2017 09:51:19 +0000 (18:51 +0900)]
[x86/Linux] Clean up ZapUnwindData (dotnet/coreclr#10750)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4abb8b63b2e51550ae3e0a8b04129deaf99bdf7e
Sean Gillespie [Thu, 6 Apr 2017 05:20:35 +0000 (22:20 -0700)]
[Local GC] Fix a bad merge (dotnet/coreclr#10748)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f9d0333d8955c11a2e8f495f0a12d6384fb95541
Sergey Andreenko [Thu, 6 Apr 2017 02:00:43 +0000 (19:00 -0700)]
replace the linear time algorithm from lclvars with the constant one. (dotnet/coreclr#10401)
add new block flag DOMINATED_BY_NOT_NORMAL_ENTRY
It allows to answer the question: "Is block dominated by non normal
entry" - in O(1).
Commit migrated from https://github.com/dotnet/coreclr/commit/
87ae15c547eebf82185b5eb5b5315bd7b57f9f6d
Sergey Andreenko [Thu, 6 Apr 2017 01:23:19 +0000 (18:23 -0700)]
gtLdftnResolvedToken is no longer necessary, because token is saved on the stack. (dotnet/coreclr#10738)
The was an error in the assert because I checked pointers that were
obvious different.
The actual values could not be different because they are created from
the same token in the same place (importer.cpp DO_LDFTN:
impMethodPointer saved resolvedToken as gtLdftnResolvedToken ,
CORINFO_RESOLVED_TOKEN* heapToken = impAllocateToken(resolvedToken);
impPushOnStack(op1, typeInfo(heapToken)); saved the token on the stack.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4475fd6f34bfbfd1d416d06fdea2dff8ee227150
Jonghyun Park [Thu, 6 Apr 2017 00:36:37 +0000 (09:36 +0900)]
[x86/Linux] 16-byte aligned HelperMethodFrameRestoreState (dotnet/coreclr#10720)
* [x86/Linux] 16-byte aligned HelperMethodFrameRestoreState
* Use STACK_ALIGN_PADDING and update comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
0af235e5d21ccf669cc3a3960df348d60190b5c0
Bruce Forstall [Wed, 5 Apr 2017 23:28:16 +0000 (16:28 -0700)]
Merge pull request dotnet/coreclr#10724 from mikedn/small-type-xchg
Use the correct type for interlocked instructions
Commit migrated from https://github.com/dotnet/coreclr/commit/
93c57b8de68d31cc427ff604262f08282fe60e28
Brian Robbins [Wed, 5 Apr 2017 23:21:39 +0000 (16:21 -0700)]
Merge pull request dotnet/coreclr#10615 from brianrob/profiler
Cross-Platform Sample-Based Profiler
Commit migrated from https://github.com/dotnet/coreclr/commit/
549c9960a8edcbe3930639e316616d35b22bca25
William Godbe [Wed, 5 Apr 2017 22:37:40 +0000 (15:37 -0700)]
Merge pull request dotnet/coreclr#10739 from wtgodbe/GroovyFedora
Add Fedora24 to CI
Commit migrated from https://github.com/dotnet/coreclr/commit/
79aec8961a3a5c9bcaef2d61d7eb9cd95ee003e7
Sean Gillespie [Wed, 5 Apr 2017 21:40:42 +0000 (14:40 -0700)]
[Local GC] Pull some logic using SystemDomain::System out of the GC (dotnet/coreclr#10670)
* [Local GC] Pull some logic using SystemDomain::System out of the GC
* Address code review feedback: add comment about this (per the GitHub discussion) and rename API to ForceFullGCToBeBlocking
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ba3cc8174dec2626a403f5ccd35c79a3bf6cf77
Aditya Mandaleeka [Wed, 5 Apr 2017 21:38:39 +0000 (14:38 -0700)]
Merge pull request dotnet/coreclr#10727 from hqueue/typo/doc_ryujit
Fix class name in ryujit-overview.md
Commit migrated from https://github.com/dotnet/coreclr/commit/
bbf13d7e5e0764770cc0d55d727beb73a05d55f6
Jarret Shook [Wed, 5 Apr 2017 20:28:44 +0000 (13:28 -0700)]
Merge pull request dotnet/coreclr#10211 from sdmaclea/PR-ARM64-CROSSGEN-DISCONTIG
[Arm64] Simplify trackedStackPtrsContig logic
Commit migrated from https://github.com/dotnet/coreclr/commit/
603e7306747596afe61d35af39fc511e2e1f585e
wtgodbe [Wed, 5 Apr 2017 19:36:59 +0000 (12:36 -0700)]
Add Fedora24 to CI
Commit migrated from https://github.com/dotnet/coreclr/commit/
0cbcaa6d37189b732a0595a5062b80954687e963
Jeremy Kuhne [Wed, 5 Apr 2017 17:51:25 +0000 (10:51 -0700)]
Fix registry name enumeration (dotnet/coreclr#10711)
1. Values can be removed after we've gotten the count
2. Allocations for names were over 32K * enum call + 32K.
Commit migrated from https://github.com/dotnet/coreclr/commit/
63645d6fd105557d6ed9073ffb75a607bcdb3b00
Sean Gillespie [Wed, 5 Apr 2017 16:57:50 +0000 (09:57 -0700)]
[Local GC] Move Weak Reference finalization out of the GC (dotnet/coreclr#10676)
* [Local GC] Move Weak Reference finalization out of the GC
* Address two issues:
1) Use GetGCSafeMethodTable instead of GetMethodTable, so that the
mark bit is correctly masked off the object's method table pointer,
2) Address code review feedback by re-inserting a missed call to
GetCanonicalMethodTable and rename the new API to EagerFinalized to
better illustrate its broader purpose.
* Repair the GC sample
Commit migrated from https://github.com/dotnet/coreclr/commit/
be8504bd8a63962c84567990f0b84019f299166c
Joseph Tremoulet [Wed, 5 Apr 2017 16:40:27 +0000 (12:40 -0400)]
Merge pull request dotnet/coreclr#10574 from JosephTremoulet/FixTestProjectPath
Fix path to CoreCLRTestLibrary from SizeConstTest
Commit migrated from https://github.com/dotnet/coreclr/commit/
854bb352a37686afe255045aa728302fdfb3bae2
Jan Vorlicek [Wed, 5 Apr 2017 15:45:55 +0000 (17:45 +0200)]
Fix ThrowExceptionFromContextInternal for x86 Linux (dotnet/coreclr#10728)
The function was missing restoring of some callee saved registers
which caused crashes in Checked build and hang in Release build.
Commit migrated from https://github.com/dotnet/coreclr/commit/
557c314e9dd56bcab569c578ed445e47ae71c317
Hyeongseok Oh [Wed, 5 Apr 2017 15:15:22 +0000 (00:15 +0900)]
[x86/Linux] Fix build error in nuget packaging (dotnet/coreclr#10691)
* [x86/Linux] Fix build error in nuget packaging
Fix build error in nuget packaging
Modify condition for excluding libcoreclrtraceptprovider.so
* Update runtime.Linux.Microsoft.NETCore.Runtime.CoreCLR.props
Fix typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
93fd5fdf523df54945f36a1346e27dedbe1a2a4d
Pat Gavlin [Wed, 5 Apr 2017 15:14:36 +0000 (08:14 -0700)]
Merge pull request dotnet/coreclr#10112 from pgavlin/gh10106
Only build compatjit.dll when building JIT32.
Commit migrated from https://github.com/dotnet/coreclr/commit/
094a58c306543adca6f71d4ca8027e64474373af
Pat Gavlin [Sat, 11 Mar 2017 01:11:24 +0000 (17:11 -0800)]
Only build compatjit.dll when building JIT32.
In order to avoid confusion, do not build and package compatjit.dll
unless we are building JIT32.
Fixes dotnet/coreclr#10106.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e62151a88f71edcaa336f4265b4fc534d6f56940
ragmani [Wed, 5 Apr 2017 10:00:04 +0000 (19:00 +0900)]
[x86/Linux] add three functions for _X86_TARGET_ (dotnet/coreclr#10378)
* [x86/Linux] add three functions for _X86_TARGET_
There is no functions for _X86_TARGET_.
- ZapUnwindData::GetAlignment()
- DWORD ZapUnwindData::GetSize()
- void ZapUnwindData::Save(ZapWriter * pZapWriter)
* [x86/Linux] remove personality routine on x86/linux.
remove creating personaly routine when assemblies is generated to ni.
add a function for getting size of UnwindDataBlob on x86/linux.
Signed-off-by: ragmani <ragmani0216@gmail.com>
* [x86/Linux] correct the unclearly fixed parts.
change Unwindinfo's size from sizeof(ULONG) to sizeof(UNWIND_INFO).
change Unwindinfo's alignment from sizeof(DWORD) to sizeof(BYTE).
remove unnecessary code.
* [x86/Linux] change alignment from sizeof(BYTE) to sizeof(DWORD).
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7241a9c7af7b2076d6876c0b747f6d7144ac347
Hyung-Kyu Choi [Wed, 5 Apr 2017 07:08:30 +0000 (16:08 +0900)]
Fix class name in ryujit-overview.md
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
d6741702f0a17ab4f4e492f5bdd8d9479dc1ccbb
Mike Danes [Wed, 5 Apr 2017 05:27:37 +0000 (08:27 +0300)]
Use the correct type for interlocked instructions
The interlocked operation type can, at least in theory, be TYP_VOID in the case of GT_LOCKADD. The first operand type is not relevant because it's the address of the memory location and not an indir.
The only option is to use the type of the second operand but that may be a small int type so genActualType needs to be used to get the correct type.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5f5e5969ff1659860a9a69616300916a481e4a3d
Bruce Forstall [Wed, 5 Apr 2017 05:26:22 +0000 (22:26 -0700)]
Merge pull request dotnet/coreclr#10303 from hseok-oh/fix_10300
[ARM32/RyuJIT] Fix register allocation for null check in call instruction
Commit migrated from https://github.com/dotnet/coreclr/commit/
a5fef2172ad19d4c58e67c9e5bee10d247cd8929
Rahul Kumar [Wed, 5 Apr 2017 04:26:27 +0000 (21:26 -0700)]
Merge pull request dotnet/coreclr#10637 from rahku/UrlString
Remove file system/security/util/URLString.cs
Commit migrated from https://github.com/dotnet/coreclr/commit/
e93e79b3d012bc068c84ee5f65f8e755020d8a9c
Rahul Kumar [Sat, 1 Apr 2017 00:11:24 +0000 (17:11 -0700)]
Remove file system/security/util/URLString.cs
Commit migrated from https://github.com/dotnet/coreclr/commit/
f4450c8c2f2c0f0439c2d3085d6e619fcd5b20ae
Swaroop Sridhar [Mon, 3 Apr 2017 23:10:38 +0000 (16:10 -0700)]
Add a job for testing via IlLink for Linux
Add jobs to run CoreCLR tests on Ubuntu via ILLINK
Commit migrated from https://github.com/dotnet/coreclr/commit/
c3b9127f72748289cb98e45e62f3ea3a92543186
Swaroop Sridhar [Tue, 4 Apr 2017 00:23:11 +0000 (17:23 -0700)]
Fix invocation of ILLink in linux testing
Fix the input to illink -a argument to not include the extension.
The current command line caused silent wrong code gneration
because of https://github.com/mono/linker/issues/56
Commit migrated from https://github.com/dotnet/coreclr/commit/
f1dc118917525caee56629f5b60a260c1035a6aa
Jonghyun Park [Wed, 5 Apr 2017 00:29:50 +0000 (09:29 +0900)]
[x86/Linux] 16-byte aligned ResolveWorkerAsmStub (dotnet/coreclr#10655)
Commit migrated from https://github.com/dotnet/coreclr/commit/
336fea27b0d54b7e996398d10010a8fc35e0e136
William Godbe [Tue, 4 Apr 2017 23:42:20 +0000 (16:42 -0700)]
Merge pull request dotnet/coreclr#10715 from wtgodbe/alpineFix
Fix Alpine build break in pipeline
Commit migrated from https://github.com/dotnet/coreclr/commit/
cece73d18e8497d0133c660be0814482b0ec01b9
Jan Vorlicek [Tue, 4 Apr 2017 23:41:25 +0000 (01:41 +0200)]
Update module not found error message (dotnet/coreclr#10692)
This message can be misleading, since it says "The specified module
could not be found", but it would also report case when the module
was found, but one of the module's dependencies were not found.
Multiple people in the past were hit by that when their module was
not loaded, they were thinking that there is some problem with
the path coreclr is loading modules from or something like that and
spent non-trivial amount of time trying to figure that out.
The fact that the module could have missing dependencies is really
not obvious.
So I am updating the message to reflect that fact.
Commit migrated from https://github.com/dotnet/coreclr/commit/
24f1153adfc1a83e490d8d22ee353b322aba1e33
wtgodbe [Tue, 4 Apr 2017 23:24:51 +0000 (16:24 -0700)]
Fix Alpine build break in pipeline
Commit migrated from https://github.com/dotnet/coreclr/commit/
1ed25909008ed985565fc9bacbad3534ddb49b87
Sergey Andreenko [Tue, 4 Apr 2017 23:20:29 +0000 (16:20 -0700)]
CoreRT: make CORINFO_HELP_READYTORUN_DELEGATE_CTOR optimization for verifiable sequences. (dotnet/coreclr#10663)
delegate ctor optimization for CoreRT.
Commit migrated from https://github.com/dotnet/coreclr/commit/
60ed6841161a3b5e5e627041bc0d4a87bb21ce22
Rahul Kumar [Tue, 4 Apr 2017 22:33:36 +0000 (15:33 -0700)]
Merge pull request dotnet/coreclr#10190 from sdmaclea/PR-ARM64-BACKPORT-9500
[Arm64/Windows] Backport dotnet/coreclr#9500 changes
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f296fec9799d0a2d5ace44eb468ecf264cc026f
Jarret Shook [Tue, 4 Apr 2017 20:58:38 +0000 (13:58 -0700)]
Merge pull request dotnet/coreclr#10614 from sdmaclea/PR-ARM64-GENRET-GCINFO
[Arm64] Fix GCStress hole in genReturn
Commit migrated from https://github.com/dotnet/coreclr/commit/
5619985da19d0f17a1a48558381a6d79bcc67f74
Bruce Forstall [Tue, 4 Apr 2017 20:20:32 +0000 (13:20 -0700)]
Merge pull request dotnet/coreclr#10609 from alpencolt/ryu-arm-locallock
[RyuJIT/ARM32] Localloc implementation in codegen
Commit migrated from https://github.com/dotnet/coreclr/commit/
5887e3ac69a15089bd51674c3a943a2133d3841d
Aditya Mandaleeka [Tue, 4 Apr 2017 20:10:40 +0000 (13:10 -0700)]
Merge pull request dotnet/coreclr#10699 from adityamandaleeka/fix_env_empty_var_handling
Fix handling of empty environment variables in PAL
Commit migrated from https://github.com/dotnet/coreclr/commit/
3bf3915549eaa3c475f9dd899d9a6265dcde9908
Bruce Forstall [Tue, 4 Apr 2017 18:09:36 +0000 (11:09 -0700)]
Merge pull request dotnet/coreclr#10681 from BruceForstall/LinuxArmAltjit
Add Linux host support for arm32/arm64 altjit
Commit migrated from https://github.com/dotnet/coreclr/commit/
244dbfe0bfcb95d3c896c41a76e17bfba4f571c0
Aditya Mandaleeka [Tue, 4 Apr 2017 17:31:46 +0000 (10:31 -0700)]
Fix handling of empty environment variables in PAL.
Commit migrated from https://github.com/dotnet/coreclr/commit/
443f2e5d907d16aba7a25d11ea418afc6ac69336
Rion Williams [Tue, 4 Apr 2017 17:47:54 +0000 (12:47 -0500)]
Removed Unused Local Random Instances (dotnet/coreclr#10696)
* Removed Unused Local Random Instances
Discovered two cases of a `Random` instance that weren't being used
within their respective methods and removed them.
* Retained Earlier Comment
Retained an earlier comment for consistency
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b8c3f3b9ea71929e719a86208fb950f18f3c82b
Matt Mitchell [Tue, 4 Apr 2017 15:29:26 +0000 (08:29 -0700)]
Use setMachineAffinity for arm64 (dotnet/coreclr#10558)
Commit migrated from https://github.com/dotnet/coreclr/commit/
13b43782ca7cf4447e27a86f2082fa62ef03bea5
Hanjoung Lee [Tue, 4 Apr 2017 14:25:40 +0000 (23:25 +0900)]
[x86/Linux] Fix crash when GC triggered inside funclets (dotnet/coreclr#10188)
* [x86/Linux] Fix crash when GC triggered inside funclets
* [x86/Linux] Make main function not to report
Commit migrated from https://github.com/dotnet/coreclr/commit/
8525460327cc2967cf30364588ce981b81ce2727
Hyeongseok Oh [Tue, 4 Apr 2017 12:07:09 +0000 (21:07 +0900)]
Pass crossbuild and linux-id to CMakeLists.txt using CMake arguments (dotnet/coreclr#10686)
Remove in CMakeLists.txt
1) read cross-build from environment variable
2) read linux-id from file system
Instead, pass cross-build and linux-id from gen-buildsys-clang.sh using cmake arguments
Commit migrated from https://github.com/dotnet/coreclr/commit/
dfce3af2ee5967ae53c7b47135f150f59452ded3
Jonghyun Park [Tue, 4 Apr 2017 08:50:02 +0000 (15:50 +0700)]
[x86/Linux] Correctly unwind esp frames (dotnet/coreclr#10685)
Commit migrated from https://github.com/dotnet/coreclr/commit/
53c88123a7f6216a31318f14062fd245730c74ba
Rahul Kumar [Tue, 4 Apr 2017 08:02:19 +0000 (01:02 -0700)]
Merge pull request dotnet/coreclr#10601 from rahku/c4996
1. Remove disable of C4996
Commit migrated from https://github.com/dotnet/coreclr/commit/
ebf4927d891757b1bd7f54119de2ad60900d3232
Bruce Forstall [Tue, 4 Apr 2017 05:32:22 +0000 (22:32 -0700)]
Merge pull request dotnet/coreclr#10682 from BruceForstall/CleanUpJitEEDefine
Remove unused code under typo define
Commit migrated from https://github.com/dotnet/coreclr/commit/
f66e306a08b3f8de10d6ad26faccd53b58a56b7e
Noah Falk [Tue, 4 Apr 2017 04:04:16 +0000 (21:04 -0700)]
Merge pull request dotnet/coreclr#10580 from noahfalk/fitjit_tier0_flag
Add Tier0 jit flag
Commit migrated from https://github.com/dotnet/coreclr/commit/
4c1df4be63a79a4375691b1de49e890913733cec
Matt Warren [Tue, 4 Apr 2017 01:37:48 +0000 (02:37 +0100)]
Move '#pragma warning(disable:21000)' to correct place (dotnet/coreclr#10455)
Whilst I was writing a blog post ['A Hitchhikers Guide to the CoreCLR Source Code'](http://mattwarren.org/2017/03/23/Hitchhikers-Guide-to-the-CoreCLR-Source-Code/#top-10-lists) I noticed that a `#pragma warning(disable:21000)` was mis-aligned.
I'm pretty sure that having it in the wrong place doesn't cause a problem (i.e. this doesn't actually *fix* anything), because the other methods are smaller, so I understand if you don't want to take the PR.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b8f4ad63fbd1c0401c49189fb1c05081d07fe6b3
Ben Adams [Tue, 4 Apr 2017 01:20:54 +0000 (02:20 +0100)]
Improve Guid.ToString (dotnet/coreclr#10669)
* Improve Guid.ToString
* revert HexToChar
Commit migrated from https://github.com/dotnet/coreclr/commit/
9264c062d0c2da0b38544da01a4d23e18df1d62c
Brian Sullivan [Tue, 4 Apr 2017 00:30:36 +0000 (17:30 -0700)]
Merge pull request dotnet/coreclr#10678 from briansull/contract-fix
Remove the SO_TOLERANT contact from CEEInfo::resolveVirtualMethodHelper
Commit migrated from https://github.com/dotnet/coreclr/commit/
acb4cc678cf0f145b33bcaa11c241e7c1bc44e1c
Dan Moseley [Tue, 4 Apr 2017 00:15:24 +0000 (17:15 -0700)]
Debug.Assert FF (dotnet/coreclr#10652)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d8250b52fc596cc9c13d6abbc5aa85dd1440b0d9
Igor Kulaychuk [Tue, 4 Apr 2017 00:10:40 +0000 (03:10 +0300)]
Fix 'this' pointer in struct methods (dotnet/coreclr#10668)
The 'this' method argument should always be a pointer.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4451f848e195ca554b96afddbee48b9ac5f3279e
Bruce Forstall [Mon, 3 Apr 2017 23:59:35 +0000 (16:59 -0700)]
Remove unused code under typo define
The code is under COR_JIT_EE_VER which never existed (it used to
be COR_JIT_EE_VERSION), thus the code has never been used.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9fd50477279cca8badc453dde294661693a111c
Dan Moseley [Mon, 3 Apr 2017 23:43:43 +0000 (16:43 -0700)]
remove fedora 23 (dotnet/coreclr#10667)
Commit migrated from https://github.com/dotnet/coreclr/commit/
425551a2c60fb20f462779a4dfa9a0aaf38c9e7b
Russell C Hadley [Mon, 3 Apr 2017 23:37:00 +0000 (16:37 -0700)]
Merge pull request dotnet/coreclr#10629 from russellhadley/EHWriteThru-design-doc
Add initial design document for EH WriteThru
Commit migrated from https://github.com/dotnet/coreclr/commit/
b2d4c3e903ab3b9371d213d602c7a29b9a0b0136
Koundinya Veluri [Mon, 3 Apr 2017 23:35:47 +0000 (16:35 -0700)]
Fix InternalsVisibleTo when it references an assembly with some DebuggableAttribute flags (dotnet/coreclr#10664)
Fixes dotnet/coreclr#3541
- Mask out the DebuggableAttribute bits from when comparing assembly spec flags for matching an InternalsVisibleTo reference to an assembly
Commit migrated from https://github.com/dotnet/coreclr/commit/
cb8cfba3b61f18f81787322f0a2563d118c26b8a
William Godbe [Mon, 3 Apr 2017 23:26:02 +0000 (16:26 -0700)]
Merge pull request dotnet/coreclr#10671 from wtgodbe/Redist
Publish VC Redist DLLs as part of CoreCLR Package
Commit migrated from https://github.com/dotnet/coreclr/commit/
99fd99e5f8821e4c25439bcf1997f9a026dde7bf
Brian Sullivan [Mon, 3 Apr 2017 23:01:23 +0000 (16:01 -0700)]
Remove the SO_TOLERANT contact from CEEInfo::resolveVirtualMethodHelper
that contract should only apply to CEEInfo::resolveVirtualMethod which uses the JIT_TO_EE_TRANSITION() transition macros.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b58c5b24f1a616a58f70fc026fe22a8ca0d6b438
Pat Gavlin [Mon, 3 Apr 2017 22:34:34 +0000 (15:34 -0700)]
Merge pull request dotnet/coreclr#10672 from pgavlin/FixExceptionReference
Fix a reference to System.Exception in a JIT test.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb1b3bbaadc4b205455cac37a3898397fed0c04f
Bruce Forstall [Mon, 3 Apr 2017 21:44:27 +0000 (14:44 -0700)]
Add Linux host support for arm32/arm64 altjit
Now, on Linux, the x64 build will build an arm64-targeting
altjit. The x86 build will build an arm32-targeting JIT.
The altjit is named libprotononjit.so/dylib. It can be
used for debugging or for generating asm diffs using jit-diff.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7a2eebf97893a3b7cf45e1713225805dddf8e71
wtgodbe [Mon, 3 Apr 2017 20:29:27 +0000 (13:29 -0700)]
Publish VC Redist DLLs as part of CoreCLR Package
Commit migrated from https://github.com/dotnet/coreclr/commit/
32aa2184cd26942aa01a6d44fc3eea1f80dc6600
Jarret Shook [Mon, 3 Apr 2017 20:56:40 +0000 (13:56 -0700)]
Merge pull request dotnet/coreclr#10326 from jashook/arm64_test_update_20_march
Update the arm64 test drop - WIP
Commit migrated from https://github.com/dotnet/coreclr/commit/
bd02f2e51368f96a4651e06236f4f17d6c9f3280
Pat Gavlin [Mon, 3 Apr 2017 20:53:04 +0000 (13:53 -0700)]
Fix a reference to System.Exception in a JIT test.
This bad reference was casuing a failure in the x64 pri1 R2R jobs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3849a0417a1639052849939d0c3ff983bc6572a4
Brian Robbins [Fri, 24 Mar 2017 16:38:28 +0000 (09:38 -0700)]
Basic EventPipe functionality that supports writing sample profile events to JSON. SampleProfiler that globally suspends the runtime every 1ms to walk stacks and write them to the EventPipe.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a387696646a1aa7413c2082a430845844e496313
ragmani [Mon, 3 Apr 2017 19:27:44 +0000 (04:27 +0900)]
[x86/Linux] add the process of handling when entry point is funclet. (dotnet/coreclr#10602)
* [x86/Linux] add the process of handling the entry point when it is funclet in case x86.
* [x86/Linux] enable only for TARGET_X86 && FEATURE_PAL.
Signed-off-by: ragmani <ragmani0216@gmail.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
079b6856bbae83e76836af1e0ef7962cfc4bda03
jashook [Mon, 20 Mar 2017 21:14:31 +0000 (14:14 -0700)]
Update the arm64 test drop
Commit migrated from https://github.com/dotnet/coreclr/commit/
3bc9f5979912ad8cbbbcc72aa72ad7fe48a527e3
Alexander Soldatov [Mon, 3 Apr 2017 14:43:30 +0000 (17:43 +0300)]
[RyuJIT/ARM32] Localloc implementation in codegen
Algorithm is almost the same as for other platforms but code
is little bit refactored to improve readability.
Added test to cover almost all possible branches of codegen.
Since arrays allocation of int type is needed multiplication and overflow
checks new tests cover only byte arrays.
Commit migrated from https://github.com/dotnet/coreclr/commit/
20917a1ece166167734f3ece02882e3c444da121
Alexander Soldatov [Mon, 3 Apr 2017 12:01:56 +0000 (15:01 +0300)]
[RyuJIT/ARM32] GS Cookie check implementation.
Implementation of GS Cookie check for RyuJIT/ARM32 almost the same as
for ARM64. So this code was moved to codegencommon with.
Also added optimization to use tmp register for emitting helper call.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f40552c88ac826647b787f6b433e359aacfe574
Dan Moseley [Mon, 3 Apr 2017 12:44:48 +0000 (05:44 -0700)]
Cut down FormatterServices (dotnet/coreclr#10653)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe7a5f082ca14f5945eedc8d0d23311c0d3701a0
Tarek Mahmoud Sayed [Sun, 2 Apr 2017 19:18:22 +0000 (12:18 -0700)]
Fix Double.ToString performance on Linux and OSX (dotnet/coreclr#10572)
* Fix Double.ToString performance on Linux and OSX
* some feedback fixes
* Remove the implementation depending on ecvt_r
Commit migrated from https://github.com/dotnet/coreclr/commit/
62849aabbad290a81349cc2a642f3bb240677c7f
Hugh Bellamy [Sun, 2 Apr 2017 16:12:29 +0000 (23:12 +0700)]
Bring back kApplicationException (dotnet/coreclr#10650)
Commit migrated from https://github.com/dotnet/coreclr/commit/
36137cf33f1c03abd7e95ff33139748c0b825d38
Dan Moseley [Sun, 2 Apr 2017 10:16:23 +0000 (03:16 -0700)]
Remove securitystate (dotnet/coreclr#10649)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0b1877f2e35a548f26fca05085232630e04b79b7
Jan Kotas [Sat, 1 Apr 2017 19:25:28 +0000 (12:25 -0700)]
Move identical Globalization files to shared partition
Commit migrated from https://github.com/dotnet/coreclr/commit/
b07ed5efbbc94a0a3dad203e0a88d25c746a6c93
Jan Kotas [Sat, 1 Apr 2017 18:40:23 +0000 (11:40 -0700)]
Move identical files to shared partition
Commit migrated from https://github.com/dotnet/coreclr/commit/
f8db01c0e175550cb696ea6ec608e662f1e3d286
Jan Kotas [Sat, 1 Apr 2017 18:26:05 +0000 (11:26 -0700)]
Move identical Interop files to shared partition
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9e6c160ffadc294367bf0f3f93cc301d3a7ecf6
Sean Gillespie [Sat, 1 Apr 2017 21:25:46 +0000 (14:25 -0700)]
[Local GC] Move some EE-specific finalize-on-unload logic out of the GC (dotnet/coreclr#10598)
* Move some EE-specific logic to a callback on GCToEEInterface
* Fix the sample
* Consistent style for pointers
* Code review feedback: Move app domain index check into EE callback and make ShouldFinalizeObjectForUnload always return true (due to CoreCLR not having app domains)
* Code review feedback: Fix a comment and add a TODO for bringing these changes to desktop
Commit migrated from https://github.com/dotnet/coreclr/commit/
41617fee235d22d9e6dc1fa31548de63637551fa
Sean Gillespie [Sat, 1 Apr 2017 21:25:07 +0000 (14:25 -0700)]
[Local GC] Remove static fields from GC interface (dotnet/coreclr#10566)
* Remove max_generation from GC interface
* [Local GC] Clean up the GC interface by removing all static fields
from it:
1) gcHeapType is replaced by g_heap_type (EE side) and g_gc_heap_type
(GC side), each of which is set on initialization. g_heap_type is
read by the DAC to determine what kind of heap is being used.
2) maxGeneration is not necessary due to the GC DAC changes.
* Rebase against master
* Comments and cleanup
* Use a heap allocation instead of alloca
* Code review feedback: remove a redundant cast and allocate generation count table once, on first use
* Address code review feedback: cache some calls to GetMaxGeneration
Commit migrated from https://github.com/dotnet/coreclr/commit/
ed57233f4d26114d45b1293ced80a09f879f72cf
Aditya Mandaleeka [Sat, 1 Apr 2017 19:25:08 +0000 (12:25 -0700)]
Merge pull request dotnet/coreclr#10584 from adityamandaleeka/handle_table_local_gc_init
Change how the VM calls ObjectFromHandle.
Commit migrated from https://github.com/dotnet/coreclr/commit/
036ff00ad33e3bdd8f0eef7513af331eb841d5b9
Matt Ellis [Sat, 1 Apr 2017 18:13:03 +0000 (11:13 -0700)]
Add .gitmirror file
Commit migrated from https://github.com/dotnet/coreclr/commit/
b1928070df5ab896e9b3f635f577b9be7e848385
Brian Sullivan [Sat, 1 Apr 2017 17:46:58 +0000 (10:46 -0700)]
Merge pull request dotnet/coreclr#10627 from briansull/profile-data
Added DisableInlining flag to the ProfileData.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f417d4af431d04080b8333bdbcaa3fa17c0cd910
Russell C Hadley [Mon, 27 Mar 2017 17:14:25 +0000 (10:14 -0700)]
Add initial design document for EH WriteThru
Document describes an initial approch to enregistering local variables
that live across EH flow. Today the JIT forces all local vars that are live
across EH flow that kills all registers to live on the stack. The transformation outlined ensures consistency on the stack across the EH kills but allows the enregistration with in either the normal flow of control or with in any EH handlers.
Commit migrated from https://github.com/dotnet/coreclr/commit/
36b53e0d9db3516d38c08f118025c2c74cd4812e
Luis G [Sat, 1 Apr 2017 09:00:12 +0000 (06:00 -0300)]
Refactor dotnet download code in init-tools.cmd (dotnet/coreclr#10527)
* Refactor dotnet download code in init-tools.cmd
This addresses the improvements proposed in issue dotnet/coreclr#10526.
Includes the init-tools.cmd script refactor and a new script called
dotnet-download.ps1 which includes the extracted code and logic
* Code review feedback changes
* Fix spacing
Commit migrated from https://github.com/dotnet/coreclr/commit/
8cfb891b135a24c6436647ec4ca9aa2a07eb9da5
Andy Ayers [Sat, 1 Apr 2017 07:56:33 +0000 (00:56 -0700)]
Jit: fix a few issues with single def local tracking (dotnet/coreclr#10633)
Fixes for three issues that came up in desktop testing.
1. Don't track class types for locals when in import only mode,
since the jit may be looking at an uninstantiated generic method.
In these cases the jit's use of TYP_REF to represent CORINFO_TYPE_VAR
confuses the tracking code. In import only mode the jit is not going
to use the information, so there is no need to track it at all.
Import only mode is tied to verification and CoreCLR runs in full
trust mode, so no test was added.
2. Allow `lvaUpdateClass` to be called more than once but assert
that the second and subsequent calls provide the exact same update
as the first call.
This can happen for single def ref class locals whose definition
block is reimported. Reimportation is triggered by some tolerable
non-ref type mismatches at block joins and so ref type information
should be consistent for each importation attempt.
Add a couple of IL test cases translated from destkop MC++ tests
that will trigger this kind of reimportation.
3. Bail out of devirtualization (for desktop only) if the base class
has precise initialization semantics, since desktop seems to trigger
class initialization for ref type callvirts (contrary to ECMA355 I.8.9.5).
See dotnet/coreclr#4853 for some discussion. Since this is desktop only behavior
no test was added.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a7ab04cfb152f133d130948709dd5ac4f1494a19
Andy Ayers [Sat, 1 Apr 2017 06:04:48 +0000 (23:04 -0700)]
Merge pull request dotnet/coreclr#10638 from AndyAyersMS/EmptyTryUpdateFinallyNestLevel
Jit: decrement finally nesting level when removing empty trys
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c8941ab25b3a4fa49c2a61b707075309b61a26e
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
Aditya Mandaleeka [Sat, 1 Apr 2017 00:12:03 +0000 (17:12 -0700)]
Change how VM calls ObjectFromHandle.
Commit migrated from https://github.com/dotnet/coreclr/commit/
958279de27e7f3c30ad53e35277653d1ec0f1e6e
Aditya Mandaleeka [Sat, 1 Apr 2017 00:09:46 +0000 (17:09 -0700)]
Add way to get table for handle and ADIndex for handletable.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dab2f6b76a1ed088a871374189e2133db9c9accb
noahfalk [Thu, 30 Mar 2017 07:07:59 +0000 (00:07 -0700)]
Add Tier0/1 jit flags
These flags provides a hook to change the JIT policy in the future and diverge tier0/tier1 compilation from min_opt/speed_opt respectively.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4561dad3f38f8dd5a9637fc3a0be418abac1f088
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
Andy Ayers [Sat, 1 Apr 2017 01:13:32 +0000 (18:13 -0700)]
Jit: decrement finally nesting level when removing empty trys
For non-funclet EH models, the GT_END_LFIN statement tracks the
nesting level of the associated finally. When removing a try-finally
with an empty try we need to decrement this level for any try-finallys
nested within the associated finally.
Added a test case with several levels of empty try and nesting.
Closes dotnet/coreclr#10621.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b65b40426527f7ee1813ea640ecf1701df66007c
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
Brian Sullivan [Fri, 31 Mar 2017 01:16:58 +0000 (18:16 -0700)]
Added DisableInlining flag to the ProfileData.
Extended CompileStatus to have both COMPILE_HOT_EXCLUDED and COMPILE_COLD_EXCLUDED.
Fixes the IsNull implementation
Fixes getBBProfileData to handle the case where pos can now be zero
Commit migrated from https://github.com/dotnet/coreclr/commit/
ed8ab5793008d3a87d5518458565a30e8d9a0414
Rahul Kumar [Wed, 29 Mar 2017 22:31:29 +0000 (15:31 -0700)]
1. Remove disable of C4996
2. delete some dead code
3. Remove implementation of GetOSVersion and hardcode OS version to be 0.0.0
4. Add implementation of IsWindows8OrAbove & IsWinrtSupported (donno why this was deleted earlier)
5. remove GetVersionEx from PAL
Commit migrated from https://github.com/dotnet/coreclr/commit/
201c70cc49ff2027fb8ed0ba5e25f56534b04a96