Brian Sullivan [Fri, 24 Mar 2017 22:42:04 +0000 (15:42 -0700)]
Fix for JitStress test failures
Jan Kotas [Fri, 24 Mar 2017 21:59:25 +0000 (14:59 -0700)]
Merge pull request #10459 from dotnet/mirror-merge-9061692
Mirror changes from dotnet/corert
Jan Kotas [Fri, 24 Mar 2017 20:16:39 +0000 (13:16 -0700)]
Delete moved file
Alex Perovich [Fri, 24 Mar 2017 18:40:21 +0000 (11:40 -0700)]
Use Array.Copy with index and remove coreclr specific function
Atsushi Kanamori [Thu, 23 Mar 2017 22:34:07 +0000 (15:34 -0700)]
NS2.0 Complete DBNull's surface area. (#3085)
* Copy over CoreCLRs' DBNull.cs
* Make it presentable, then move it into the shared partition.
dotnet bot [Fri, 24 Mar 2017 17:39:37 +0000 (10:39 -0700)]
Update CoreClr to beta-25123-08 (#10435)
Joseph Tremoulet [Fri, 24 Mar 2017 16:55:01 +0000 (12:55 -0400)]
Merge pull request #10149 from JosephTremoulet/DestSingleField
Scalarize single-field-to-lclVar block copy
Bruce Forstall [Fri, 24 Mar 2017 15:57:23 +0000 (08:57 -0700)]
Merge pull request #10451 from ionuttamas/patch-1
Update ryujit-overview.md
Igor Kulaychuk [Fri, 24 Mar 2017 15:52:47 +0000 (18:52 +0300)]
[Linux][GDB-JIT] Add lexical scopes info for local variables (#10307)
* Fix memory leak when getting local variable names
* Pass locals from SymbolReader using new LocalVarInfo struct
* Map IL to native addresses for variable scopes
* Dump variables with scopes
* Add scope info to VarDebugInfo
* Remove unnecessary usage of lines info in BuildDebugInfo
* Use holders for scopes and local var names
* Move array of FunctionMember from global scope to local scope
* Move SymbolNames from global scope to local scope
Ilya [Fri, 24 Mar 2017 15:48:02 +0000 (18:48 +0300)]
Copy-paste errors found by PVS-Studio. (#10450)
I used PVS-Studio static analyzer to check this project. I would like to suggest a variant of the way to fix the copy-paste errors, detected with the help of V778 diagnostic. Description of the diagnostic: https://www.viva64.com/en/w/V778/
Ionut Tamas [Fri, 24 Mar 2017 11:58:53 +0000 (13:58 +0200)]
Update ryujit-overview.md
Hyeongseok Oh [Fri, 24 Mar 2017 07:16:47 +0000 (16:16 +0900)]
Update ci-trigger-phrases.md (#10444)
- Add Linux arm/x86 CI trigger phrases
- Add Ubuntu16.10 x64 pri0 trigger phrase
- Remove Ubuntu15.10 x64 pri0 trigger phrase
Dan Moseley [Fri, 24 Mar 2017 06:47:38 +0000 (23:47 -0700)]
Add PNSE messages (#10440)
* PNSE messages
* threading
* marshal
* interop svc
* More
* more
* Remove env var special casing for UWP
* Pending question
* remove pinvoke
Jan Kotas [Fri, 24 Mar 2017 04:02:52 +0000 (21:02 -0700)]
Merge pull request #10426 from BruceForstall/FixIlasmRoundtrip
Enable FEATURE_METADATA_EMIT_ALL for non-crossgen compiles
Sean Gillespie [Fri, 24 Mar 2017 01:40:56 +0000 (18:40 -0700)]
[Local GC] Redirect fatal errors to the EE (#10436)
* [Local GC] Redirect fatal errors to the EE
* Address code review feedback: don't fetch the IP when reporting a fatal error
Maoni Stephens [Fri, 24 Mar 2017 01:24:55 +0000 (18:24 -0700)]
GetContainingObject is inconsistent with the lowest address it chooses. (#10438)
For profiling purpose it only cares about condemned ranges; for byref
validation it cares about any object on the heap.
Brian Sullivan [Fri, 24 Mar 2017 01:24:40 +0000 (18:24 -0700)]
Merge pull request #10400 from briansull/ibc-counts
Change setBBProfileWeight so that we no longer multiply a profile counts by 100
Jan Kotas [Fri, 24 Mar 2017 00:39:59 +0000 (17:39 -0700)]
Merge pull request #10434 from dotnet/mirror-merge-9060302
Mirror changes from dotnet/corert
Alex Perovich [Thu, 23 Mar 2017 23:33:46 +0000 (18:33 -0500)]
Move StringBuilder to shared partition (#10357)
* Move StringBuilder to shared partition
* Fix PR comments
* s/CoreClr/CoreCLR
* Remove unused ThreadSafeCopy overload
* Actually rename the file
Jan Kotas [Thu, 23 Mar 2017 18:55:26 +0000 (11:55 -0700)]
Delete NewMerger
This was only used as part of C++ link.exe for IJW
Bruce Forstall [Thu, 23 Mar 2017 16:31:35 +0000 (09:31 -0700)]
Enable FEATURE_METADATA_EMIT_ALL for non-crossgen compiles
This allows ilasm roundtrip test to work with NetStandard 2.0
changes where C# compiler emits a ".permissionset" attribute
into the assembly that ildasm emits. This define enables the
APIs that ilasm uses to process this attribute.
Re-enable ilasm roundtrip test.
Fixes #8418
Aditya Mandaleeka [Thu, 23 Mar 2017 22:14:48 +0000 (15:14 -0700)]
Merge pull request #10417 from viva64/master
Missing comma
Alex Perovich [Thu, 23 Mar 2017 22:08:35 +0000 (15:08 -0700)]
Add missing
Alex Perovich [Thu, 23 Mar 2017 21:49:30 +0000 (14:49 -0700)]
Remove moved files
Maoni Stephens [Thu, 23 Mar 2017 21:37:47 +0000 (14:37 -0700)]
porting desktop changes to enable up to 1024 CPUs (#10404)
porting desktop changes to enable up to 1024 CPUs
Atsushi Kanamori [Thu, 23 Mar 2017 13:54:08 +0000 (06:54 -0700)]
Move IReflect.cs to shared partition. (#3074)
Split AssemblyAttributes.cs into properly named files.
Atsushi Kanamori [Wed, 22 Mar 2017 18:16:35 +0000 (11:16 -0700)]
Move the easy files in System\Reflection to the shared partition. (#3060)
* Prepare the "easy" System\Reflection .cs files for move to shared partition
Files to be moved the shared partition (after https://github.com/dotnet/coreclr/pull/10387 side is in)
AmbiguousMatchException.cs
AssemblyAttributes.cs
AssemblyContentType.cs
AssemblyNameFlags.cs
Binder.cs
BindingFlags.cs
CallingConventions.cs
CustomAttributeFormatException.cs
DefaultMemberAttribute.cs
EventAttributes.cs
ExceptionHandlingClauseOptions.cs
FieldAttributes.cs
GenericParameterAttributes.cs
ICustomAttributeProvider.cs
ImageFileMachine.cs
InterfaceMapping.cs
IntrospectionExtensions.cs
InvalidFilterCriteriaException.cs
IReflectableType.cs
ManifestResourceInfo.cs
MemberFilter.cs
MemberTypes.cs
MethodAttributes.cs
MethodImplAttributes.cs
Missing.cs
ModuleResolveEventHandler.cs
ParameterAttributes.cs
ParameterModifier.cs
PortableExecutableKinds.cs
ProcessorArchitecture.cs
PropertyAttributes.cs
ReflectionContext.cs
ReflectionTypeLoadException.cs
ResourceAttributes.cs
ResourceLocation.cs
StrongNameKeyPair.cs
TargetException.cs
TargetInvocationException.cs
TargetParameterCountException.cs
TypeAttributes.cs
TypeFilter.cs
* Prepare the "easy" System\Reflection .cs files for move to shared partition
Files to be moved the shared partition (after https://github.com/dotnet/coreclr/pull/10387 side is in)
AmbiguousMatchException.cs
AssemblyAttributes.cs
AssemblyContentType.cs
AssemblyNameFlags.cs
Binder.cs
BindingFlags.cs
CallingConventions.cs
CustomAttributeFormatException.cs
DefaultMemberAttribute.cs
EventAttributes.cs
ExceptionHandlingClauseOptions.cs
FieldAttributes.cs
GenericParameterAttributes.cs
ICustomAttributeProvider.cs
ImageFileMachine.cs
InterfaceMapping.cs
IntrospectionExtensions.cs
InvalidFilterCriteriaException.cs
IReflectableType.cs
ManifestResourceInfo.cs
MemberFilter.cs
MemberTypes.cs
MethodAttributes.cs
MethodImplAttributes.cs
Missing.cs
ModuleResolveEventHandler.cs
ParameterAttributes.cs
ParameterModifier.cs
PortableExecutableKinds.cs
ProcessorArchitecture.cs
PropertyAttributes.cs
ReflectionContext.cs
ReflectionTypeLoadException.cs
ResourceAttributes.cs
ResourceLocation.cs
StrongNameKeyPair.cs
TargetException.cs
TargetInvocationException.cs
TargetParameterCountException.cs
TypeAttributes.cs
TypeFilter.cs
* Move to shared.
Noah Falk [Thu, 23 Mar 2017 20:21:48 +0000 (13:21 -0700)]
Merge pull request #10336 from noahfalk/wer_resource
Support Windows Minidump
Steve MacLean [Thu, 23 Mar 2017 20:05:55 +0000 (16:05 -0400)]
Mark b425314 Incompatible (#10431)
b425314 has internal logic to determine if it making forward progress
If test takes too long, test self check fails and test aborts with a
failure. This makes this test difficult in GCStress/HeapVerify situations
where run time is substantially longer.
This test was already marked incompatible for x86. Remove x86 condition
to mark incompatible on al platforms.
Andy Ayers [Thu, 23 Mar 2017 20:03:07 +0000 (13:03 -0700)]
Merge pull request #10432 from AndyAyersMS/ImproveTypes3
Jit: track ref types for inlinee locals and args
dotnet bot [Thu, 23 Mar 2017 19:34:59 +0000 (12:34 -0700)]
Update CoreClr to beta-25123-07 (#10428)
chcosta [Thu, 23 Mar 2017 18:56:52 +0000 (11:56 -0700)]
Use roslyn common props (#10430)
Jonghyun Park [Thu, 23 Mar 2017 18:51:13 +0000 (03:51 +0900)]
[PAL] Do NOT check execute bit in INIT_FindEXEPath (#10342)
* Do NOT check execute bit in INIT_FindEXEPath
* Do NOT lookup path during PAL_Initialize
This commmit removes path lookup inside INIT_FindEXEPath, and renames
INIT_FindEXEPath as INIT_EXEPath.
Atsushi Kanamori [Thu, 23 Mar 2017 18:49:42 +0000 (11:49 -0700)]
Migrate the Reflection serialization holders to the shared partition. (#10429)
* String => string, SR.GetResourceString() => SR.
* Copy over CoreRT files verbatim.
* Get things building and running again.
* Don't bring CoreRT's visibility sins into CoreCLR
* String => string, Object => object
* De-"m_" the field names.
* Move the files to the shared directory.
Rahul Kumar [Thu, 23 Mar 2017 18:35:12 +0000 (11:35 -0700)]
Merge pull request #10411 from rahku/fix10197
Re-enable tests
Brian Sullivan [Thu, 23 Mar 2017 18:30:05 +0000 (11:30 -0700)]
Merge pull request #10397 from briansull/ibc-dump
Improve the dumping of BasicBlock weights and edge counts in the JIT
Bruce Forstall [Thu, 23 Mar 2017 17:57:49 +0000 (10:57 -0700)]
Merge pull request #10402 from BruceForstall/FixMulCseBug
Fix CSE bug with GT_MUL and GTF_MUL_64RSLT
Andy Ayers [Mon, 20 Mar 2017 18:12:05 +0000 (11:12 -0700)]
Jit: track ref types for inlinee locals and args
The jit may use new temporaries for inline locals and args. For temps
representing ref type locals and args, propagate the class handle from
the appropriate signature. This makes more types to be available for
devirtualization.
Also in addition to capturing arg ref types, cleanup `impInlineFetchArg`
by commoning out the table lookups and adding a header comment.
Steve MacLean [Thu, 23 Mar 2017 17:38:50 +0000 (13:38 -0400)]
[Unix] runtest.sh crossgen should exit on failure (#9907)
* Fix crossgen segfault
* Check crossgen in runtests.sh
* Do not use test -v
CI showed bash 4.2 feature test -v is not present on
OSX CI systems. Fall back to more standard bash test
Ilya Ivanov [Thu, 23 Mar 2017 14:46:08 +0000 (17:46 +0300)]
We have found and fixed a security weakness (CWE-188) using PVS-Studio tool: Analyzer warning: V557 Array overrun is possible. The value of 'dwCode - 1' index could reach 8.
PVS-Studio is a static code analyzer for C, C++ and C#: https://www.viva64.com/en/pvs-studio/
Joseph Tremoulet [Mon, 13 Mar 2017 18:49:16 +0000 (11:49 -0700)]
Scalarize single-field-to-lclVar block copy
Morph has some logic to scalarize struct copies where the RHS is a scalar
and the LHS is a single-field struct. This change adds the symmetric
logic where the LHS is a scalar and the RHS is a single-field struct.
This pattern shows up in Span<T> methods that initialize the data pointer
field, due to the way scalar replacement operates on spans.
Atsushi Kanamori [Thu, 23 Mar 2017 14:02:28 +0000 (07:02 -0700)]
Move IReflect.cs to shared partition. (#10415)
Ilya [Thu, 23 Mar 2017 13:58:18 +0000 (16:58 +0300)]
I used PVS-Studio static analyzer to check this project. I would like to suggest a variant of the way to fix the error, detected with the help of V534 diagnostic. Description of the diagnostic: https://viva64.com/en/examples/v534/ (#10414)
Incorrect variable 'i' from the outer loop is used in condition of the inner loop.
Stephen Toub [Thu, 23 Mar 2017 13:41:12 +0000 (09:41 -0400)]
Merge pull request #10412 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-25123-03, beta-25122-02, respectively (master)
ragmani [Thu, 23 Mar 2017 09:09:09 +0000 (18:09 +0900)]
[x86/Linux] fix broken stack in DelayLoad_Helper when converting to AT&T syntax assembly. (#10383)
* fix broken stack in DelayLoad_Helper when converting to AT&T syntax assembly.
"push \frameFlags" was changed to "pushw $0x0" by converting to AT&T syntax assembly.
Signed-off-by: ragmani <ragmani0216@gmail.com>
* [x86/Linux] modify pushing frameFlags stack from Intel syntax to AT&T syntax.
Signed-off-by: ragmani <ragmani0216@gmail.com>
dotnet-bot [Thu, 23 Mar 2017 08:57:36 +0000 (08:57 +0000)]
Update CoreClr, CoreFx to beta-25123-03, beta-25122-02, respectively
Rahul Kumar [Thu, 23 Mar 2017 08:13:54 +0000 (01:13 -0700)]
Merge pull request #10064 from rahku/cgroup
memory limit in containers on linux
Rahul Kumar [Thu, 23 Mar 2017 07:51:55 +0000 (00:51 -0700)]
Re-enable tests
rahul [Thu, 9 Mar 2017 02:55:24 +0000 (18:55 -0800)]
memory limit in containers on linux
Gaurav Khanna [Thu, 23 Mar 2017 06:25:57 +0000 (23:25 -0700)]
Various fixes for generating portable RID packages (#10409)
Luis G [Thu, 23 Mar 2017 05:51:45 +0000 (02:51 -0300)]
Add handling of multiple CMake installations in probe-win (#9980)
* Add handling of multiple CMake installations in probe-win
Check if multiple CMake versions are installed, and use by default the first path available
Fixes #8221
* Fix typo in value accessor
* Restore previous null check in probe_win
* Remove redundant assignment
Tanner Gooding [Thu, 23 Mar 2017 05:44:40 +0000 (22:44 -0700)]
Removing the special handling in classlibnative for atan2(±∞, ±∞) and pow(-1.0, ±∞). (#10295)
* Removing the special handling in classlibnative for atan2(±∞, ±∞) and pow(-1.0, ±∞).
* Fixing up the logic for HAVE_COMPATIBLE_POW in the PAL layer.
Jan Kotas [Thu, 23 Mar 2017 05:43:36 +0000 (22:43 -0700)]
Fix fallout from switching corelib to use resx (#10407)
Fixes #https://github.com/dotnet/corefx/issues/17413
Gaurav Khanna [Thu, 23 Mar 2017 04:35:24 +0000 (21:35 -0700)]
Unify command line arg for portable RID build (#10408)
Jon Hanna [Thu, 23 Mar 2017 04:25:58 +0000 (04:25 +0000)]
Named Multiply and Divide methods on TimeSpan (#10366)
dotnet/corefx#16476
Swaroop Sridhar [Wed, 22 Mar 2017 22:22:46 +0000 (15:22 -0700)]
Add reflect.xml for a abstract* tests
For the abstract* tests in question:
The tests check for TypeLoad exception from a derived class that doesn't implement an abstract method in base class.
However, the Linker removed the abstract method from base, so there is no exception.
Therefore, add reflect.xml to override the linker's behavior and enable testing for TypeLoadException.
Swaroop Sridhar [Wed, 22 Mar 2017 22:22:04 +0000 (15:22 -0700)]
Exclude some tests from Linker testing.
Exclude some tests while testing via ILLINK.
The reasons are mentioned in issues.targets.
Swaroop Sridhar [Mon, 20 Mar 2017 18:20:12 +0000 (11:20 -0700)]
Linker Testing: Use a central target for copying reflection roots.
Copy the test.refect.xml file (if one exists) as part of the
AfterBuild job -- so that individual tests need not identify
the CopyReflectionRoots explicitly as a default target.
Drew Scoggins [Thu, 23 Mar 2017 00:21:13 +0000 (17:21 -0700)]
Merge pull request #9947 from DrewScoggins/xunitApi
Update CoreCLR to use xunit perf api
Sean Gillespie [Wed, 22 Mar 2017 23:39:14 +0000 (16:39 -0700)]
Opt-out of GC Stress for FEATURE_STANDALONE_GC (#10391)
Bruce Forstall [Wed, 22 Mar 2017 23:36:53 +0000 (16:36 -0700)]
Jump stubs (#10398)
Add document on CLR Jump Stubs
Bruce Forstall [Wed, 22 Mar 2017 23:21:04 +0000 (16:21 -0700)]
Fix CSE bug with GT_MUL and GTF_MUL_64RSLT
Unconditionally set op1 and op2 as GTF_DONT_CSE.
Previously, this was only done if the cast was not
a GT_NOP. It is possible for it already to come in
as GT_NOP, thus leading to the possibility to CSE
the operand, and leading to this assert firing:
```
assert(tree->gtIsValid64RsltMul());
```
Atsushi Kanamori [Wed, 22 Mar 2017 22:28:14 +0000 (15:28 -0700)]
Move Type.IsSerializable and Type.DefaultBinder to shared file. (#10395)
This will pave the way for the mirrorbot to fix
https://github.com/dotnet/corert/issues/3061.
Jonghyun Park [Wed, 22 Mar 2017 22:25:19 +0000 (07:25 +0900)]
[x86/Linux] 16-byte aligned TheUMEntryPrestub (#10376)
Brian Sullivan [Wed, 22 Mar 2017 21:53:51 +0000 (14:53 -0700)]
Change setBBProfileWeight so that we no longer multiply the profile count by 100
Fix fgAddSyncMethodEnterExit to properly set the IBC profile weight when we have profile data
In fgComputeEdgeWeights properly set fgCalledCount when we inserted a new first block using fgFirstBBisScratch
Fix fgOptimizeUncondBranchToSimpleCond to properly set the new BasicBlock's weight and flags
Brian Sullivan [Wed, 22 Mar 2017 18:23:19 +0000 (11:23 -0700)]
Improve the dumping of BasicBlock weights and edge counts in the JIT
Weights are now printed to fit into a 6 character field in one of three forms:
standard (ddd or ddd.dd), large (ddddd.) or very large (dddddk)
Gaurav Khanna [Wed, 22 Mar 2017 20:54:41 +0000 (13:54 -0700)]
Switch tests to use OSX.10.12 RID (#10394)
Gaurav Khanna [Wed, 22 Mar 2017 20:30:49 +0000 (13:30 -0700)]
Enable Portable Windows RID (#10365)
* Enable Portable RID support for Windows and OSX.
Drew Scoggins [Tue, 21 Mar 2017 21:01:03 +0000 (14:01 -0700)]
Add updated timeout
Drew Scoggins [Fri, 3 Mar 2017 22:51:37 +0000 (14:51 -0800)]
Update CoreCLR to use xunit perf api
This updates the CoreCLR performance runs to use the new xunit
performance api. This will unblock several people who were wanting to
move tests forward from netstandard1.4 which is were we have been locked
because of using the old desktop runner.
Atsushi Kanamori [Wed, 22 Mar 2017 17:51:46 +0000 (10:51 -0700)]
Reconcile the "easy" System\Reflection .cs files with their CoreRT versions. (#10387)
Files to be moved the shared partition (after CoreRT side is in)
AmbiguousMatchException.cs
AssemblyAttributes.cs
AssemblyContentType.cs
AssemblyNameFlags.cs
Binder.cs
BindingFlags.cs
CallingConventions.cs
CustomAttributeFormatException.cs
DefaultMemberAttribute.cs
EventAttributes.cs
ExceptionHandlingClauseOptions.cs
FieldAttributes.cs
GenericParameterAttributes.cs
ICustomAttributeProvider.cs
ImageFileMachine.cs
InterfaceMapping.cs
IntrospectionExtensions.cs
InvalidFilterCriteriaException.cs
IReflectableType.cs
ManifestResourceInfo.cs
MemberFilter.cs
MemberTypes.cs
MethodAttributes.cs
MethodImplAttributes.cs
Missing.cs
ModuleResolveEventHandler.cs
ParameterAttributes.cs
ParameterModifier.cs
PortableExecutableKinds.cs
ProcessorArchitecture.cs
PropertyAttributes.cs
ReflectionContext.cs
ReflectionTypeLoadException.cs
ResourceAttributes.cs
ResourceLocation.cs
StrongNameKeyPair.cs
TargetException.cs
TargetInvocationException.cs
TargetParameterCountException.cs
TypeAttributes.cs
TypeFilter.cs
Hyeongseok Oh [Wed, 22 Mar 2017 17:32:11 +0000 (02:32 +0900)]
Change default CI job for ARM and clean-up (#10370)
- Change ARM CI job triggered by PR: ubuntu16.04 debug, ubuntu release, tizen debug/release
- Clean-up: remove emulator build/test
- Change ubuntu16.04 x64 default job name and trigger phrase: conflict triggerring with arm
Sean Gillespie [Wed, 22 Mar 2017 17:25:08 +0000 (10:25 -0700)]
Fix an issue where GCStress allocated objects using the Gen 0 alloc context (#10322)
* Fix an issue where GCStress allocated objects using the Gen 0 alloc context
* Remove a GCStress MaybeTrigger on LOH allocations that attempted to use the gen 0 alloc context
Andy Ayers [Wed, 22 Mar 2017 17:23:56 +0000 (10:23 -0700)]
Merge pull request #10371 from AndyAyersMS/FixDevirt
Fix several devirtualization issues
Gaurav Khanna [Wed, 22 Mar 2017 15:55:53 +0000 (08:55 -0700)]
Move OSX packages to use 10.12 as the RID (#10354)
Jan Kotas [Wed, 22 Mar 2017 15:03:09 +0000 (08:03 -0700)]
Merge pull request #10374 from dotnet/mirror-merge-9057970
Mirror changes from dotnet/corert
Atsushi Kanamori [Wed, 22 Mar 2017 11:37:12 +0000 (04:37 -0700)]
Move DefaultBinder.cs to the shared partition. (#10355)
Jeremy Kuhne [Tue, 21 Mar 2017 23:07:53 +0000 (16:07 -0700)]
FileStream redirection got changed. Add ThreadPoolBoundHandle redirect.
https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems?id=398142&_a=edit
[tfs-changeset: 1651640]
Stephen Toub [Wed, 22 Mar 2017 06:09:22 +0000 (02:09 -0400)]
Fix leak in Task.WaitAny(..., int) (#10331)
WaitAny is effectively built on top of WhenAny, creating a continuation from the supplied tasks and then blocking on that continuation. When a timeout is provided, it blocks with that timeout. But if it doesn't complete within the timeout, it ends up leaking the continuations it created into the constituent tasks. The fix is simply to force the returned continuation to complete, such that its continuation logic does all of the appropriate cleanup.
dotnet bot [Wed, 22 Mar 2017 05:04:42 +0000 (22:04 -0700)]
Update CoreClr, CoreFx to beta-25121-02, beta-25122-01, respectively (#10310)
Alex Perovich [Wed, 22 Mar 2017 05:02:47 +0000 (00:02 -0500)]
Switch coreclr corelib to use resx (#10372)
* Revert "Revert "Switch coreclr corelib to use resx (#10268)""
* Add resources.target override
This fixes the GenerateResource task running on the arm emulator runs.
* Fix run.sh to have a working Tools-Override
Sean Gillespie [Wed, 22 Mar 2017 05:00:12 +0000 (22:00 -0700)]
[Local GC] Forbid inclusion of gcscan.h from VM and DAC directories (#10332)
* Forbid inclusion of gcscan.h from VM and DAC directories
* Address code review feedback - hoist IsGCHeapInitialized check to an assert, since the heap should definitely be initialized if we are validating objects that ostensibly came from it
Andy Ayers [Tue, 21 Mar 2017 20:17:28 +0000 (13:17 -0700)]
Fix several devirtualization issues
When doing interface devirtualization, if the object type is canonical,
ensure that the owner type is too. The jit may present a mixed set
when inlining a shared method into a non-shared method. Ideally the
jit would also be able to present exact object types in such cases but
currently it cannot guarantee this. Closes #10311.
Adjust contracts to address some contract violations seen in desktop
testing. Make the helper non-static and fold in some of the info that
was passed from the caller to bring the desktop and CoreCLR implementations
closer.
Disallow interface devirt if the method is final but the class is not
exact or final, since derived classes can still override final methods
when implementing interfaces.
Don't try and devirtualize interface calls from com objects.
Add some related test cases.
Jan Kotas [Wed, 22 Mar 2017 00:45:57 +0000 (17:45 -0700)]
Merge pull request #10363 from jkotas/revert
Revert "Switch coreclr corelib to use resx (#10268)"
noahfalk [Tue, 21 Mar 2017 00:06:59 +0000 (17:06 -0700)]
Support Windows Minidump
This is the coreclr portion of the work to complete issue #10334. It adds a resource to coreclr with a well-known name and format
that can be used by MiniDumpWriteDump to discover and load custom dump collection extensions.
At this time the OS work hasn't been implemented yet and the scenario won't work until their part is complete.
Jan Kotas [Tue, 21 Mar 2017 23:24:52 +0000 (16:24 -0700)]
Revert "Switch coreclr corelib to use resx (#10268)"
This reverts commit
12ef04c22b07f1e4ec5a63009298e4537a2c8e1a.
Bruce Forstall [Tue, 21 Mar 2017 22:27:07 +0000 (15:27 -0700)]
Fix Linux/x86 call alignment calculation and insertion (#10266)
* Fix Linux/x86 call alignment calculation and insertion
The existing system of calculating per-call alignment adjustments
did not consider the possibility of nested calls. On x86, some
arguments for a call might be pushed on the stack before a
nested call's arguments start being pushed. Thus, a call can't
consider only its own arguments when determining the stack level.
Instead, use the existing genStackLevel variable, updated
dynamically during code generation, to determine the baseline
stack alignment when a call first needs to push something on
the stack, or if it has no stack arguments, whether it needs to
align the stack before a call.
One wrinkle here is that the fgAddCodeRef() function for adding
throw blocks for array bounds checks, and other similar helpers,
need to know the stack level on entry, and this stack level is
computed during argument morphing. There is a tough phase ordering
problem here. So, we bail out and force an EBP frame if there are
any such throw helpers in the function. When using an EBP frame,
the helper block doesn't need to know the stack level -- it is
only needed for ESP frames, needed for unwinding. Note that this
bail out already existed if the same helper needed multiple different
stack levels on entry. We could do slightly better without too much
work by not bailing out for top-level calls with no stack arguments.
* Track max alignment added for nested calls during codegen
This information is needed by Linux/x86 for an assert about
maximum emitter stack depth.
* Make max stack align tracking available in release as well
The assert these are used in is a noway_assert.
* Formatting
Hanjoung Lee [Tue, 21 Mar 2017 22:00:56 +0000 (07:00 +0900)]
[x86/Linux] Invoke gcResetForBB() in genFuncletProlog (#10186)
Andy Ayers [Tue, 21 Mar 2017 20:08:01 +0000 (13:08 -0700)]
Merge pull request #10343 from parjong/fix/self_override
Fix bogus assert in resolveVirtualMethodHelper and update related ilproj
Bruce Forstall [Tue, 21 Mar 2017 20:01:52 +0000 (13:01 -0700)]
Add /silent option to crossgen (#10350)
This sets the NGenOptions.fSilent flag, which prevents displaying
the final output message.
This is useful for JIT asm diff generation.
Alex Perovich [Tue, 21 Mar 2017 19:55:39 +0000 (14:55 -0500)]
Switch coreclr corelib to use resx (#10268)
* Switch to resx
* Use roslyn rewriter to switch from GetResourceString to SR
* More GetResourceString changes
* Add missing resource
* Remove Environment.GetResourceString and replace final usages with SR
* Remove comment
* Fix spacing
* Replace final instances of Environment.GetResourceString
* Add another missing resource
* Add back Environment.GetResourceStringLocal because the runtime needs it
Viktor Hofer [Tue, 21 Mar 2017 19:36:25 +0000 (20:36 +0100)]
System.IO.Path.IsPathRooted does not check if valid drive letter on Windows (#10323)
Aditya Mandaleeka [Tue, 21 Mar 2017 19:01:53 +0000 (12:01 -0700)]
Merge pull request #10254 from sdmaclea/PR-FIX-SCRIPT-ERROR
Fix script ERRORLEVEL typo
Koundinya Veluri [Tue, 21 Mar 2017 18:47:32 +0000 (11:47 -0700)]
Temporarily disable frequently failing Sleep PAL tests (#10313)
See #8321
Ian Hays [Tue, 21 Mar 2017 17:37:51 +0000 (10:37 -0700)]
Merge pull request #10321 from WinCPP/issue-7060
Issue #7060 - Make StreamReader.ReadBuffer non-virtual
Joseph Tremoulet [Tue, 21 Mar 2017 15:06:24 +0000 (11:06 -0400)]
Merge pull request #10327 from mikedn/assertion-info
Refactor GenTree assertion information storage
Jonghyun Park [Tue, 21 Mar 2017 09:31:04 +0000 (18:31 +0900)]
[x86/Linux] Log UpdateRegDisplay calls (#10335)
Jonghyun Park [Tue, 21 Mar 2017 06:10:30 +0000 (15:10 +0900)]
Fix bogus assert in resolveVirtualMethodHelper and update related ilproj
Jonghyun Park [Tue, 21 Mar 2017 04:36:27 +0000 (13:36 +0900)]
[x86/Linux] Use 4-byte align for double in struct (#10340)
Jonghyun Park [Tue, 21 Mar 2017 04:26:19 +0000 (13:26 +0900)]
[x86/Linux] Correct update on ResumableFrame (#10339)