summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-04-07Add Alpine.38.Arm64.Open Helix queueEgor Chesakov1-1/+2
2019-04-07Update image coreclr uses for arm64 musl crossbuildEgor Chesakov1-1/+1
2019-04-07Fix two new nullable warnings with latest compilerStephen Toub2-2/+3
2019-04-07Update BuildTools, CoreClr to preview4-03906-01, preview5-27606-71, respectivelydotnet-maestro-bot3-5/+5
2019-04-06Merge pull request #23775 from sandreenko/reenableFixedCoreFXSergey Andreenko2-2/+0
Reenable System.Runtime.Tests. for arm64.
2019-04-06Normalize directory separators before calling LoadLibrary (#23776)Jeremy Koritzinsky1-0/+16
* Normalize directory separators when loading native library via ALC.LoadUnmanagedDllFromPath
2019-04-06Remove remaining devdocs and cleanup ComponentModel code (#23175)Hugh Bellamy5-137/+126
* Remove remaining devdocs and cleanup ComponentModel code
2019-04-06Merge pull request #23781 from sergiy-k/addcrossgenforcoreroot1Sergiy Kuryata1-0/+75
Add crossgen option to build-test.sh
2019-04-06Update dependencies from https://github.com/dotnet/arcade build 20190405.6 ↵dotnet-maestro[bot]4-8/+8
(#23784) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19205.6 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19205.6
2019-04-06[master] Update dependencies from dotnet/corefx (#23785)dotnet-maestro[bot]3-9/+6
* Update dependencies from https://github.com/dotnet/corefx build 20190405.9 - Microsoft.NETCore.Platforms - 3.0.0-preview5.19205.9 - Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview5.19205.9 * System.Data.DataSetExtensions is not a package anymore
2019-04-06Make GCToOSInterface::FlushProcessWriteBuffers use ↵Vladimir Sadov1-35/+102
MEMBARRIER_CMD_PRIVATE_EXPEDITED if available (#23778) Basically a port of https://github.com/dotnet/coreclr/pull/20949 to GCToOSInterface
2019-04-06Update CoreClr to preview5-27605-73 (#23782)dotnet-maestro-bot2-3/+3
2019-04-05Match PtrToStringUTF8 to the other PtrToString* families. (#23731)Jeremy Koritzinsky2-8/+27
* Match PtrToStringUTF8 to the other PtrToString* families. * Make PtrToString*(IntPtr,int) exceptions consistent. * Exclude out-of-date tests in CoreFX. * Update exclusions to cover tests that are now throwing ArgumentOutOfRangeExceptions instead of ArgumentExceptions. * Fix parameter order for exception. * Pass value to exception.
2019-04-05Fix typo in Buffer.BlockCopy (#23636)Egor Bogatov2-1/+5
2019-04-05Fix broken links (#23748)Gergely Kalapos1-2/+2
2019-04-05Add crossgen option to build-test.shSergiy Kuryata1-0/+75
This option will cause the script to call crossgen to precompile the managed assemblies in CORE_ROOT after generating layout. Most of this code has been transferred from tests/bringup_runtest.sh.
2019-04-05Fedora.28.Amd64 queue is dead. Use container instead (#23765)Tomas Weinfurt1-1/+1
* Fedora.28.Amd64 queue is dead. Use container instead * udpate ubuntu to Ubuntu * do not escape () as rest of the coreclr does not do it either.
2019-04-05Reenable System.Runtime.Tests. for arm64.Sergey Andreenko2-2/+0
2019-04-05Merge pull request #23728 from briansull/FixConstByrefBrian Sullivan3-23/+24
Fix for Issue #23538
2019-04-05Merge pull request #23770 from wtgodbe/Preview5William Godbe1-1/+1
Update branding to preview5
2019-04-05Replacing some calls to GetThread with an inlined version (#23771)Fadi Hanna3-7/+12
2019-04-05Whitespace (#23772)Steve MacLean3-125/+125
2019-04-05Fix rounding to UINT32_MAX (#23764)Ludovic Henry2-21/+7
In case you would have UINT32_MAX - 1 CPUs, you would round up to return UINT32_MAX CPUs.
2019-04-05Fix issue 23713: handle TypeDesc field handles (#23767)Fadi Hanna1-1/+2
2019-04-05[master] Update dependencies from dotnet/arcade (#23718)dotnet-maestro[bot]5-27/+115
* Update dependencies from https://github.com/dotnet/arcade build 20190404.16 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19204.16 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19204.16
2019-04-05Update CoreClr to preview4-27605-71 (#23710)dotnet-maestro-bot2-3/+3
2019-04-05[master] Update dependencies from dotnet/core-setup (#23719)dotnet-maestro[bot]2-3/+3
* Update dependencies from https://github.com/dotnet/core-setup build 20190404.13 - Microsoft.NETCore.App - 3.0.0-preview4-27604-13
2019-04-05Update the JIT to recognize the IsSupported property for all HWIntrinsics ↵Tanner Gooding27-138/+162
(#23751) * Moving some JITDUMP calls into Compiler::lookupNamedIntrinsic * Marking the IsSupported methods as Intrinsic for all HWIntrinsic ISAs * Updating the hwintrinsic importation to more generally handle IsSupported and ThrowPNSE * Applying formatting patch. * Adding using System.Runtime.CompilerServices to the various x86 PlatformNotSupported HWIntrinsic files
2019-04-05Enable return buffers on Windows ARM64 for struct-returning member functions ↵Jeremy Koritzinsky9-32/+111
(#23625) * Enable return buffers on Windows ARM64 for struct-returning member functions. Fixes #23577. * Update comment to match new condition. * Enable byref return on all Windows (excluding arm64 HFA. Add more test cases for ThisCall. * On x86, if we have a normalized return value in an instance method, get back the actual type so that we correctly marshal it via a return buffer. * Fix param ordering. * Clean up based on PR feedback. * Fix accidental variable shadowing.
2019-04-05Update branding to preview5wtgodbe1-1/+1
2019-04-05Don't null out references in Stream/BinaryReader/Writer (#23725)Stephen Toub5-326/+194
These types null out some fields on Dispose, and some of those fields are accessible directly via exposed properties, which means that nulling them out would either force us to annotate those properties as being nullable or would require us to lie about them being nullable. Nulling them out also makes it easier to accidentally null ref in the implementation, and prevents us from making the fields readonly. It should be exceedingly rare that you dispose of one of these objects and then keep it alive while also being concerned about keeping alive the other helper objects the type uses. So this change just uses a separate flag to track disposal, and avoids nulling out the fields, which is not a common practice elsewhere in the framework. This will be a visible change in that after Dispose, properties like StreamWriter.BaseStream/Encoding will now return the stream/encoding rather than null. In theory that could break someone if they were using those properties to determine whether the writer had been disposed, but that seems unlikely / similar fallout from most any bug fix, and objects generally aren't supposed to be touched after Dispose, anyway.
2019-04-05Change the backing storage for Byref constants in ValueNumber-ing to use size_t.Brian Sullivan3-23/+24
Fixes #23538
2019-04-05Partially improve support for `--cpus` from Docker CLI (#23747)Ludovic Henry3-9/+17
* Round up the value of the CPU limit In the case where `--cpus` is set to a value very close to the smaller integer (ex: 1.499999999), it would previously be rounded down. This would mean that the runtime would only try to take advantage of 1 CPU in this example, leading to underutilization. By rounding it up, we augment the pressure on the OS threads scheduler, but even in the worst case scenario (`--cpus=1.000000001` previously being rounded to 1, now rounded to 2), we do not observe any overutilization of the CPU leading to performance degradation. * Teach the ThreadPool of CPU limits By making sure we do take the CPU limits into account when computing the CPU busy time, we ensure we do not have the various heuristic of the threadpool competing with each other: one trying to allocate more threads to increase the CPU busy time, and the other one trying to allocate less threads because there adding more doesn't improve the throughput. Let's take the example of a system with 20 cores, and a docker container with `--cpus=2`. It would mean the total CPU usage of the machine is 2000%, while the CPU limit is 200%. Because the OS scheduler would never allocate more than 200% of its total CPU budget to the docker container, the CPU busy time would never get over 200%. From `PAL_GetCpuBusyTime`, this would indicate that we threadpool threads are mostly doing non-CPU bound work, meaning we could launch more threads.
2019-04-05Fix invalid use of stack memory (#23758)Aaron Robinson1-18/+16
* Fix invalid use of stack memory
2019-04-05Revert optimization (#23759)Grant1-11/+11
2019-04-04Disable marshalling delegates as _Delegate and enable marshalling delegates ↵Jeremy Koritzinsky8-97/+143
as IDispatch. (#23738) * Disable marshalling delegates as _Delegate and enable marshalling delegates as IDispatch. * ifdef out the new IDispatch marshalling on non-COM-supporting platforms. * PR feedback.
2019-04-04Improve performance of Memory<T>.Span property getter (#23750)Levi Broderick2-6/+22
2019-04-04Disable a couple of S.R.InteropServices tests (#23697)Koundinya Veluri1-0/+8
Disabled the two tests that were fixed in PR https://github.com/dotnet/corefx/pull/34968
2019-04-04Merge pull request #23633 from dotnet/NullableFeatureSantiago Fernandez Madero450-2599/+2969
Nullable feature into master
2019-04-04Fix Debug.Assert in GenericDelegateCache (#23755)Santiago Fernandez Madero1-1/+1
2019-04-04Fix SystemV AMD64 Explicit structure classification (#22041)Jeremy Koritzinsky12-202/+723
* Don't bail out on enregistering explicit structs if there are no overlapping fields. * Don't enregister if any unaligned fields. * Enable passing explicit structs by-value by enregistering on systemv. Some edge cases are likely still broken, but just removing our blanket opt-out makes the current tests pass. * Enable MarshalstructAsLayoutExp off-Windows. * Start adding additional tests for explicit layout to try to catch edge cases in SystemV classification. * Added a test that spans across multiple eightbytes and has an overlap in the second eightbyte. * Change repro to use an array of floats and an int field in managed and use a float array for padding in native to force an SSE classification on the first byte. * New algorithm to calculate eightbyte classification by going throw the structure byte-by-byte instead of field-by-field. * Fix updating eightbyte classifications in the loop to actually used the iterated-upon variable. * Consider each element of a fixed array as a separate field (to match native implementations). * Implement correct SystemV classification for fixed buffers in non-blittable structures. Fixed buffers in blittable structures have the managed layout assign classifications, which still is buggy. * Add tests. * Correctly classify blittable fixed buffers. Move "is this field a fixed buffer" tracking into one of the unused bits in FieldDesc as code that isn't in marshalers needs to know about it. * Handle the case where we have a struct that has no fields in an eightbyte that contains (i.e. no fields in the first eight bytes of the structure). * PR feedback. * Only look up FixedBufferAttribute when the type is a value class and the type of the field is a value type. * Use heuristic to determine if a type is a fixed buffer for SystemV classification. * Revert tracking if a field is a fixed buffer in the FieldDesc. * Update comments. * Classify aligned, nonoverlapping, float/double only structures as HFAs even if explicitly laid out * Enable overlapping fields in HFAs. Update NativeType HFA to check for alignment. I checked Godbolt to verify that HFAs for overlapping fields are allowed. * Add HFA tests. * Fix compile errors from HFA alignment check. * Non-valuetypes will never have their managed layout used to classify SystemV eightbytes. * Don't classify a struct with no zero-offset field as an HFA. * Remove duplicate semicolon. * PR feedback. * Add test with 2-field double HFA. * Clean up and add static asserts for struct size. * Add define for static_assert_no_msg to the native test headers * Fix build breaks. * Remove unneeded "size = X bytes" comments. They were holdovers from the .NET Framework test tree. * Use GetNumInstanceFieldBytes instead of GetLayoutInfo()->GetManagedSize() * Fix build break. * Centralize FieldMarshaler offsettting in ClassifyEightBytesWithNativeLayout. * Fix signed/unsigned mismatch * Fix condition to also detect arm64. * Change ifdef to if defined. * Remove duplicate declaration (broken in rebase) * Add some logging in one of the unreproable OSX test failures. * Mark System.Numerics.Vector as intrinsic and don't use the eightbyte classifier to enregister it. * Also explicitly opt-out of HFAs for System.Numerics.Vector`1 for consistency. * Update R2R required version to 3.0. * Remove debugging prints.
2019-04-05Merge pull request #23537 from janvorli/remove-gc-cpu-group-knowledgeJan Vorlicek17-483/+955
Remove CPU groups notion from the gc.cpp
2019-04-04Merge pull request #23735 from safern/merge-master-nullableStephen Toub545-4919/+43053
Pull master changes into NullableFeature
2019-04-04Run on Ubuntu.1604.Arm32.Open in pull requests and scheduled builds (#23729)Egor Chesakov1-1/+1
2019-04-04Use BYOC pools in "Publish to BAR" job (#23733)Egor Chesakov1-1/+2
2019-04-04Fix merge conflicts on Delegate and String.resxSantiago Fernandez Madero3-100/+57
2019-04-04Merge remote-tracking branch 'dotnet/master' into merge-master-nullableSantiago Fernandez Madero545-4951/+43128
2019-04-04Runtime support for upcoming .NET Core WinRT Host (#23402)Jeremy Koritzinsky22-27/+187
* First pass at adding winrt host entry-point. * There's no way to specify HResult-swapping on a function called via hosted-interop so just return the HResult instead. * Use the WindowsRuntimeMarshal class to create the activation factory and initialize it. * Implement loading the dependent assemblies of a WinRT assembly into an isolated load context. * PR Feedback. * Fail to get the activation factory if the found type is not a managed type exported from a winmd. * Rearrange parameters based on PR feedback. * Remove unneeded include. * Make ActivationFactoryLoader internal. * Fix null-ref in WinRT-dependent-assembly loading * Remove extraneous "System."
2019-04-04Support simple assembly name in startup hook (#23517)Jan Kotas2-20/+89
* Add support for specifying only assembly name for startup hook. * Implement checking for simple assembly names in startuphook. Also wrap load exceptions. * Avoid global alloc * Allow extra path separators in the startup hook variable * Fixes for extra path separators
2019-04-04Merge pull request #23721 from janvorli/fix-musl-arm64-crossbuildJan Vorlicek2-3/+1
Fix MUSL ARM64 cross build