summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-06-07Explicitly set permission on the socket file created by DiagnosticServer ↵Sung Yoon Whang1-3/+30
(#24988) * Explicitly set permission on the socket file created by DiagnosticServer * Add an asserte and remove execute permission * Use umask to set permission instead of fchmod * use fchmod for linux, ifdef out osx specific permission sets * Set correct permission bit in call to umask * Forgot to recover umask on one of the error paths
2019-06-07Do not delete polymorphic objects without a virtual destructor (#23705)Omair Majid7-9/+8
SEI CERT C++ Coding Standard says: > Do not delete an object of derived class type through a pointer to its > base class type that has a non-virtual destructor. Instead, the base > class should be defined with a virtual destructor. Deleting an object > through a pointer to a type without a virtual destructor results in > undefined behavior. See https://wiki.sei.cmu.edu/confluence/display/cplusplus/OOP52-CPP.+Do+not+delete+a+polymorphic+object+without+a+virtual+destructor Clang generally warns about this, but we disabled the warning via -Wno-delete-non-virtual-dtor. This commit re-enables the warning and fixes up all the code that hits the warning.
2019-06-07Add docs for rejit on attach and the new profiler attach mechanism (#24868)David Mason5-1/+104
2019-06-07Reduce indirect function calls (#24980)David Wrighton19-373/+156
* Reduce indirect dispatch in hot paths in metadata * Remove allocation indirections in utilcode for coreclr - we no longer have a multi-dll distribution of code that needs to share heaps * Remove unused code in GetCLRFunction * Remove virtual dispatch around impl/decl methodtable access in MethodData
2019-06-07Address nullable feedback for System.Runtime and System.Runtime.Extensions ↵Santiago Fernandez Madero20-34/+37
(#25017) * Address last nullable feedback from System.Runtime * Address nullable feedback for System.Runtime.Extensions * PR Feedback
2019-06-07Fix blr printing (#24979)Carol Eidt1-1/+2
A blr instruction may have a result that is not a pointer size, but its target register is always EA_PTRSIZE. Fix #24940
2019-06-06Add [NotNull] to syncLock parameter of EnsureInitialized (#25012)Stephen Toub1-7/+7
2019-06-06Add DisplayUnits property to DiagnosticCounter (#24981)Sung Yoon Whang6-1/+13
2019-06-06Marking Vector128<T>.Count and Vector256<T>.Count as [Intrinsic] (#24991)Tanner Gooding9-7/+30
* Marking Vector128<T>.Count and Vector256<T>.Count as [Intrinsic] * Fixing NI_Vector128_Count and NI_Vector256_Count to use clsHnd when getting the simdSize and baseType * Applying the formatting patch. * Changing some comments to just be "vector element count". * Fixing impBaseIntrinsic to set the baseType so Vector128_Count and Vector256_Count don't return nullptr
2019-06-06Use CMake's C# support to build DacTableGen instead of manually invoking ↵Jeremy Koritzinsky24-210/+158
csc.exe ourselves. (#24342) * Use CMake's C# support to build DacTableGen instead of manually invoking csc.exe ourselves. * Fix x86 failures. * Disable DAC generation when building with NMake Makefiles and issue an error since the CMake C# support is VS-only. We don't actually support building with NMake (only configure) so this is ok. * Clean up rest of the macro=1's PR Feedback. * Fix Visual Studio generator matching. * Explicitly specify anycpu32bitpreferred for DacTableGen so the ARM64 build doesn't accidentally make it 64-bit * Fix bad merge
2019-06-06Move COM object lifetime control tests to CoreCLR. (#24990)Jeremy Koritzinsky1-5/+18
* Add COM object lifetime control tests to CoreCLR. * Combine cleanup control test into NETClientPrimitives.
2019-06-06Fix initializing BuildTools when the Platform environment variable is set ↵Elinor Fung2-0/+7
(#24998) * Make build-test.cmd exit if init-tools.cmd fails * Clear Platform variable before initializing BuildTools
2019-06-06Merge pull request #25011 from dotnet/revert-24987-ReenableStackTraceTestSergey Andreenko1-0/+3
Revert "Reenable StackTracePreserveTests."
2019-06-06Revert "Reenable StackTracePreserveTests."Sergey Andreenko1-0/+3
2019-06-06Clear syncblock early when `VERIFY_HEAP && DEBUG` to prevent verification ↵Vladimir Sadov2-0/+15
asserts. (#24992) Fixes:#24879
2019-06-06Reenable StackTracePreserveTests. (#24987)Sergey Andreenko1-3/+0
I was not able to repro any failures, maybe they were fixed already. Lets see what ci thinks.
2019-06-06Exclude tests that do not work without tailcalls on arm32 Unix. (#24995)Sergey Andreenko1-0/+6
2019-06-06Delete unnecessary security transparency attributes (#25007)Jan Kotas1-2/+0
2019-06-06Shortenning /Platform_Assemblies_Paths to just /p for convenience. Leaving ↵Fadi Hanna1-11/+11
the original switch name for compatibility reasons. (#24986)
2019-06-06Add R2R outerloop test mode without any stress modes (#24961)Fadi Hanna2-3/+6
* Add R2R outerloop test mode without any stress modes
2019-06-06PInvoke stubs for Unix platforms (#24834)Fadi Hanna9-34/+225
Enable pinvoke stub inlining on Unix Exclude x86 Unix platforms from inlining pinvoke stubs (limited support)
2019-06-06Update dependencies from ↵dotnet-maestro[bot]2-6/+6
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190606.1 (#25006) - optimization.IBC.CoreCLR - 99.99.99-master-20190606.1 - optimization.PGO.CoreCLR - 99.99.99-master-20190606.1
2019-06-06[master] Update dependencies from dotnet/arcade (#24969)dotnet-maestro[bot]5-15/+15
* Update dependencies from https://github.com/dotnet/arcade build 20190605.13 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19305.13 - Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19305.13 - Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19305.13 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19305.13
2019-06-06Update dependencies from https://github.com/dotnet/corefx build 20190606.1 ↵dotnet-maestro[bot]2-9/+9
(#25004) - Microsoft.Bcl.AsyncInterfaces - 1.0.0-preview7.19306.1 - Microsoft.NETCore.Platforms - 3.0.0-preview7.19306.1 - Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview7.19306.1
2019-06-06Fix tmp dir in configure.cmake (#25003)Jan Vorlicek1-3/+4
The ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS check was using a temp path that had some non-existent components. While this works fine on Linux, it fails to create the temp file on OSX. The fix is to use temp dir in the CMake's output dir.
2019-06-05Delete TwoKeywords test. (#24982)Sergey Andreenko3-88/+0
2019-06-05Merge two equal exclusion groups for arm32 All OS. (#24984)Sergey Andreenko1-40/+36
There were two: <!-- Arm32 All OS --> <ItemGroup Condition="'$(XunitTestBinBase)' != '' and ('$(BuildArch)' == 'arm' or '$(AltJitArch)' == 'arm')"> and <!-- arm32 All OS specific excludes --> <ItemGroup Condition="'$(XunitTestBinBase)' != '' and ('$(BuildArch)' == 'arm' or '$(AltJitArch)' == 'arm')">
2019-06-05Less work for OptimalMaxSpinWaitsPerSpinIteration fast-path (#21702)Ben Adams1-11/+13
2019-06-05APIs to allow profilers to use DoStackSnapShot on Linux (#24968)David Mason10-15/+109
2019-06-05Fix GCStress coverage for multi reg returns. (#24826)Sergey Andreenko8-248/+625
* Extract ReplaceInstrAfterCall. * Avoid GCStress when return multireg with pointers. Determinate when we need to protect the second register and do not cause GCStress in such cases. * Add a repro test. * Reenable MethodImplOptionsTests. * Extract IsGcCoveregeInterruptInstruction. That changes how we do checks for arm32 in `IsGcCoverageInterrupt`. * Tolerate direct call to JIT_RareDisableHelper. x86 ILStubClass:IL_STUB_PInvoke(byref,ref,int,byref):int generates it like: Generating: N119 ( 4, 7) [000118] ------------ * RETURNTRAP int REG NA IN0021: cmp dword ptr [0F9BF9F8H], 0 New Basic Block BB10 [0009] created. IN0022: je L_M6496_BB10 Call: GCvars=00000001 {V01}, gcrefRegs=00000000 {}, byrefRegs=00000000 {} IN0023: call CORINFO_HELP_STOP_FOR_GC * Support GC stress protect return 1/2/both Unix x64. * Fix arm64. Do not insert GC Stress instrucitons when we can't determinate the exact return kind. * Fix review1. * Fix review2. * Change the test as Andy suggested. * Fix some typos. * Replace all SLOT with PBYTE. * Disable assert that can fail because of multithreading.
2019-06-05Reenable StackTracePreserveTests.Sergey Andreenko1-3/+0
I was not able to repro any failures, maybe they were fixed already. Lets see what ci thinks.
2019-06-05Fix PAL_GetLogicalProcessorCacheSizeFromOS on mac (#24777)Andy Hanson3-0/+18
* Fix PAL_GetLogicalProcessorCacheSizeFromOS on mac In a previous PR (https://github.com/dotnet/coreclr/commit/ed52a006c01a582d4d34add40c318d6f324b99ba#diff-8447e54277bb962d167a77bb260760d7R1879), GetCacheSizePerLogicalCpu was changed to no longer rely on cpuid on amd64 systems; instead it uses GetLogicalProcessorCacheSizeFromOS(). Unfortunately that function consisted of a number of `#if`s, none of which were active on macs, and we just returned 0. This caused us to default to a gen0size of only 0.25MB, causing many GCs. Fixed by adding a new case that uses `sysctlbyname`. Fix #24658 * Fixes from code review * Check for function sysctlbyname instead of header
2019-06-05Shortenning /Platform_Assemblies_Paths to just /p for convenience. Leaving ↵fadimounir1-11/+11
the original switch name for compatibility reasons.
2019-06-05Zero initReg in genSetGSSecurityCookie (#24371)Egor Chesakov7-97/+188
Fix an issue that is reproduced when 1) a register is used in the prolog for initializing GSSecurityCookie (i.e. the register contains a random non-zero value) and 2) the same register holds a must-init GC variable in the next basic block and 3) the variable is live at the beginning of this basic block. The register was not zeroed at the end of the prolog and this was causing segmentation fault during GC.Collect().
2019-06-05Merge pull request #24937 from safern/FixNullableAnnotationsApiReviewSantiago Fernandez Madero63-275/+213
Fix some nullable annotations from API Review
2019-06-05Cleanup block stores and test for 24846 (#24950)Carol Eidt7-243/+164
* Cleanup block stores and test for 24846 Fix zero-length assert/bad codegen for initblk. Remove redundant assertions in codegen and those that don't directly relate to codegen requirements. Eliminate redundant LEA that was being generated by `genCodeForCpBlk`. Rename `genCodeFor[Cp|Init]Blk` to `genCodeFor[Cp|Init]BlkHelper` to parallel the other forms. Fix the test case for #24846.
2019-06-05Add test verifying reliable SafeHandle unmarshalling (#24959)Jeremy Koritzinsky8-161/+99
* Add test ensuring we correctly unmarshal a SafeHandle even when the stub throws an exception. * PR Feedback.
2019-06-05Use Modern CMake features instead of CMAKE_CXX_FLAGS (#24861)Jeremy Koritzinsky13-44/+31
* Convert C++ standard settings and warning options from CMAKE_<LANG>_FLAGS to Modern CMake isms. * More $<COMPILE_LANGUAGE> generator expressions instead of CMAKE_CXX_FLAGS. * Use $<COMPILE_LANGUAGE:CXX> for all -fpermissive usage * Fix generator expression that generates multiple flags * Fix invalid use of CMAKE_CXX_FLAGS instead of CMAKE_C_FLAGS. * Treat AppleClang as though it is Clang (match pre-3.0 behavior). * Update our build system to understand that AppleClang is distinct from Clang and remove CMP0025 policy setting. * PR Feedback.
2019-06-05Disable corefx testsSantiago Fernandez Madero1-0/+13
2019-06-05Small fixes around AST nodes. (#24957)Sergey Andreenko6-11/+11
* Fix MEASURE_NODE_SIZE and naming mistakes. * The additional fields were deleted in #14582 (~1.5 years ago). * Fix GT_INDEX_ADDR def. We created them as `new (this, GT_INDEX_ADDR) GenTreeIndexAddr` but used smaller `GenTreeIndex` as nessecary size. * Use LargeOpOpcode instead of GT_CALL.
2019-06-05Update dependencies from https://github.com/dotnet/core-setup build ↵dotnet-maestro[bot]2-3/+3
20190604.03 (#24971) - Microsoft.NETCore.App - 3.0.0-preview7-27804-03
2019-06-05Update dependencies from https://github.com/dotnet/corefx build 20190605.1 ↵dotnet-maestro[bot]2-9/+9
(#24970) - Microsoft.Bcl.AsyncInterfaces - 1.0.0-preview7.19305.1 - Microsoft.NETCore.Platforms - 3.0.0-preview7.19305.1 - Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview7.19305.1
2019-06-05Resolve Windows 10 Kits dir via the environment variable. (#24960)Jeremy Koritzinsky1-5/+2
* Resolve Windows 10 Kits dir via environment variable.
2019-06-05Update dependencies from ↵dotnet-maestro[bot]2-6/+6
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190605.1 (#24972) - optimization.IBC.CoreCLR - 99.99.99-master-20190605.1 - optimization.PGO.CoreCLR - 99.99.99-master-20190605.1
2019-06-04signedness (#24878)Sinan Kaya1-1/+1
2019-06-04Remove stale Task async extension methods from TaskExtensions (#24958)Santiago Fernandez Madero1-30/+0
2019-06-04Remove Collection<T> range APIs (#24938)Santiago Fernandez Madero1-113/+0
2019-06-04Synchronize managed and unmanaged Variant fields (#24951)Jan Kotas7-214/+106
* Synchronize managed and unmanaged Variant fields Fixes #24948
2019-06-04More PR FeedbackSantiago Fernandez Madero6-58/+30
2019-06-04Make sure we can enable auto-trace when the root level define is added (#24955)Andrew Au1-0/+3