summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-01-20Cleanup array related FCalls (#22097)Jan Kotas22-348/+170
* Cleanup Array FCalls * Disable outdated CoreFX tests https://github.com/dotnet/corefx/pull/34700
2019-01-19Fix CoreCLR build for changes in shared partitionJan Kotas7-165/+84
2019-01-19Fix build for ProjectN/WinRTInterop Delete superfluous AsyncCausalityTracer ↵Jan Kotas5-51/+49
arguments Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-19Fix buildMarek Safar2-2/+2
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-19Update Newtonsoft.Json (#22060)Ben Adams1-1/+1
2019-01-19Cleanup: Remove MethodDesc::GetLoaderAllocatorForCode (#22067)Jan Vorlicek12-30/+16
This function was recently changed to just return the MethodDesc::GetLoaderAllocator. This is a cleanup that removes the function completely and replaces all of its usages.
2019-01-19Removed unused 'Stack Walking' code (#22039)Matt Warren1-43/+0
As fair as I can tell `ECWGCFCrawlCallBack(..)` is not wired-up anywhere (I've successfully compiled CoreCLR locally with this change under `x86` and `x64`)
2019-01-18Strip symbols on unix in release builds (#22083)Sven Boemer1-1/+7
Fixes https://github.com/dotnet/coreclr/issues/22082
2019-01-18Fix calling conventions on reverse PInvoke callbacks. (#22044)Jeremy Koritzinsky2-5/+10
2019-01-18Run Azure DevOps builds against pull requests in coreclr/master (#22051)Egor Chesakov3-19/+12
And disable Windows_NT and Ubuntu arm32 and arm64 default triggers in Jenkins CI
2019-01-18SuperPMI Collect/Replay/AsmDiff tool (#21252)Jarret Shook5-5/+1731
This change adds superpmi.py. The tool feature three modes, collection, replay, and asmdiffs. Collection The collection logic is very similar to the logic in our superpmi-collect test. Mostly it just allows running a script which will run managed code and it will produce a .mch which is clean to be run against. See superpmi.md for more information on specific usage and problems. Replay Replay will take an existing .mch file and run the current jit over the collection. If there is no .mch file on disk, the script will download the latest collection and run against that. AsmDiffs superpmi.md has the latest information on what platforms support asmdiffs. So far, I have an updated OSX and Windows collection that I have run against. If there are binary diffs, the tool will automatically generate base & diff folders with the asm under each one. Future work would include automatically running jit-analyze over those locations. In addition, the tool has the option to automatically run and diff jit dumps, I have found this to be useful to looking into diffs created, as re-running superpmi with different jits to collect this same information is somewhat tedious. Future work This change is in no way the end of the work needed to leverage superpmi effectively. Instead, it is a good first step. Below are some suggestions for future superpmi work: Automated collections Add pmi collection support Leverage some of the new corefx work to use superpmi shim for collections of corefx runs To be added/changed I will unset zapdisable being set by default, it creates too much data, although it is useful it should be opt in Will include example usage in superpmi.md.
2019-01-18Move AsyncCausality to shared partition (#22062)Marek Safar6-74/+87
* Move AsyncCausality to shared partition * Set FeatureAsyncCausalityTracer property
2019-01-18Re-enable signing of System.Private.CoreLib (#22068)Sven Boemer3-6/+6
* Re-enable signing for System.Private.CoreLib Now that https://github.com/dotnet/arcade/issues/1582 is fixed. Addresses https://github.com/dotnet/coreclr/issues/21946. * Use uppercase build config For consistency with other builds. Doesn't impact functionality, but will result in the build logs showing the bin directory with the uppercase build config during this step. * Override arcade version of SignTool package
2019-01-18Add Per-assembly Load Native Library callbacks (#21555)Swaroop Sridhar15-70/+412
Add Per-assembly Load Native Library callbacks This Change implements the Native Library resolution Call-backs proposed in https://github.com/dotnet/corefx/issues/32015
2019-01-18Update dependencies from dotnet/arcade (#22035)dotnet-maestro[bot]5-12/+82
* Update dependencies from https://github.com/dotnet/arcade build 20190116.1 This change updates the following dependencies - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19066.1 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19066.1 * Update dependencies from https://github.com/dotnet/arcade build 20190117.6 This change updates the following dependencies - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19067.6 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19067.6
2019-01-18Enable detection of HW intrinsics (dotnet/corert#6836)Michal Strehovský25-4/+81
I took the liberty of marking the types containing the hardware intrinsics as [Intrinsic] to avoid doing a name check on everything in the system module. It feels like we should take advantage of this attribute in CoreCLR too. This doesn't actually enable the support because RyuJIT unconditionally disables HW intrinsics for prejit (both CoreRT and CPAOT are considered prejit). We might want to do something about this on the RyuJIT side to address that (for CPAOT, to be able to pregenerate best code possible ahead of time, assuming a fixed ISA; and for CoreRT without JIT, where the concerns about AVX-SSE penalty don't apply). See conversation in dotnet/coreclr#21603 Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-18Fix defines in TaskAwaiter (dotnet/corert#6846)Marek Safar1-34/+34
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-18Handle complex constrained calls with default interface methods (#21978)Michal Strehovský5-630/+182
This adds handling for the interface dispatch corner case where: * We have a constrained callsite to a method on a generic interface in shared code * The callsite cannot be statically resolved because the result of dispatch depends on the generic context * At runtime, the dispatch resolves to a default interface method This would require us to have infrastructure to build "boxing thunks" - thunks that would box their first argument before dispatching to the default interface method implementation. Since this is a corner case and the fix is actually quite involved, we're making the runtime just throw in this situation. The test is written so that it should pass both if the runtime chooses to throw, or if the runtime makes the boxing thunk (we're not hardcoding the implementation limitation).
2019-01-18Use correct resolution scope when checking default implementations (#22036)Michal Strehovský5-3/+199
We need to use the module of the interface. Fixes #22021.
2019-01-18Add comments on headers that gets parsed by Mono linker for whoever touches ↵Sung Yoon Whang5-1/+34
this next (#22054) * Add comments on headers that gets parsed by Mono linker for whoever touches this next * add more comments to the targets file
2019-01-17Move Environment to shared CoreLib (dotnet/corefx#34654)Stephen Toub41-0/+2737
Rather than having Environment partially live in corefx and call into an EnvironmentAugments type in CoreLib that in turn calls into an Environment type in CoreLib, we're just moving Environment to live in CoreLib. To start that, this PR moves Environment and its dependencies from their current locations into the shared CoreLib. Those changes will mirror over to coreclr. After that, I'll fix it up to work in CoreLib. And once those changes are built and available back to corefx, I'll update System.Runtime.Extensions to just use the functionality from CoreLib and delete remaining unnecessary code from corefx. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-17Unify xplatform.h and platformdefines.h (#21389)Jeremy Koritzinsky94-428/+349
* Move most of xplatform.h into platformdefines.h and clean up the interop CMake files. * Fix build-break off Windows. * Fix typo. * Fix another break off-Windows. * Fix signed/unsigned mismatch
2019-01-17Unblock Azure DevOps-as-CI (#22042)Egor Chesakov6-25/+19
* Disable JIT.Methodical/doublearray/dblarray3_cs_do * Disable readytorun.r2rdump/R2RDumpTest * Disable RedHat.6.Amd64.Open queue * Rename Creator coreclr/pulls -> coreclr-pulls * IsExternal is deprecated as of https://github.com/dotnet/arcade build 20190115.6 * Increase timeout for all test jobs
2019-01-17Merge pull request #22002 from dotnet-maestro-bot/master-UpdateDependenciesWilliam Godbe3-11/+11
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-03617-02, preview-27316-02, preview.19066.1, master-20190116.5, respectively (master)
2019-01-17Remove ToString from RuntimeAssembly.GetManifestResourceStream (#22012)Stephen Toub2-4/+10
* Remove ToString from RuntimeAssembly.GetManifestResourceStream A small allocation we can avoid with the span-based string.Concat. * Address PR feedback
2019-01-17Update BuildTools, CoreClr, CoreFx, PgoData to preview1-03617-02, ↵dotnet-maestro-bot3-11/+11
preview-27316-02, preview.19066.1, master-20190116.5, respectively
2019-01-17Split ContractsBCL into separate classes and move them to shared CoreLib ↵Filip Navara9-407/+368
(#22006) * Split up ContractsBCL into separate classes. * Move remaining Contract, ContractHelper code to shared partition. * Split ContractHelper to allow custom debugging experience in CoreRT. * Simplify ContractHelper.InternalContractFailed. * Use resource loading code from CoreRT. * Remove unused parameter.
2019-01-17Clean up a few minor Span-related uses (#22038)Stephen Toub6-10/+10
Some unnecessary Span to ReadOnlySpan casts. Some places where new Span(...).Slice(...) can be replaced with AsSpan(...). Etc.
2019-01-17Remove a few stale resource strings for ConcurrentStack (#22037)Stephen Toub1-9/+0
2019-01-17Avoid allocations in Utf8Formatter.TryFormat(float/double, ...) (#22011)Stephen Toub2-41/+81
* Avoid allocations in Utf8Formatter.TryFormat(float/double, ...) Currently every call to Utf8Formatter.TryFormat for a float or a double allocates two strings, one for the format string and one for the resulting number. This avoids those in the common case where we can use float/double.TryFormat and format directly into a stack buffer. Also removes some unsafe code; the performance of StandardFormat.ToString isn't currently worth the extra nanoseconds gained by using unsafe code. * Delete assert There's a test that uses unsafe code to cause this to fail and validate that no exception is thrown.
2019-01-17Merge pull request #22022 from fiigii/reenabletestCarol Eidt11-0/+1664
Re-enable Avx.PermuteVar tests
2019-01-17Fix AsyncMethodBuilder build on Mono (#22034)Marek Safar1-1/+1
2019-01-17Fix CoreCLR build of AsyncMethodBuilder.Filip Navara1-5/+9
2019-01-17Add new members to AsyncCausalitySupport.Filip Navara3-1089/+13
Remove file moved to shared partition. Fix builds without FeatureCominterop.
2019-01-17Move AsyncMethodBuilder to shared. (dotnet/corert#6832)Filip Navara3-0/+1140
* Move AsyncMethodBuilder to shared. * Bring back PROJECTN. * #if-out TrackAsyncMethodCompletion for CoreRT. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-16Re-enable Avx.PermuteVar testsFei Peng11-0/+1664
2019-01-16Update dependencies from https://github.com/dotnet/arcade build 20190115.6 ↵dotnet-maestro[bot]9-37/+64
(#22007) This change updates the following dependencies - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19065.6 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19065.6
2019-01-16Merge pull request #21997 from BruceForstall/FixFpRelativeInstructionsBruce Forstall3-7/+640
Fix two cases of FP-relative immediate offsets possibly not encodable
2019-01-16Reduce steps for string.Contains(string value) (#22008)Ben Adams1-3/+8
2019-01-16Update linux/OSX build instructions (#21679)Jarret Shook2-176/+87
* Update linux/OSX build instructions * Update based on feedback * Address PR feedback * Update to address feedback
2019-01-16 Fix imm-operand encoding for SSE/AVX instructions (#21999)Fei Peng55-2565/+7743
* Move more SSE2 tests to the template * Improve Insert test template to involve more codegen situations * Fix imm-operand encoding for SSE/AVX instructions
2019-01-16Fix generate_layout_only (#21996)Jarret Shook1-17/+138
* Fix generate_layout_only * Correctly add all opons * Clean run for cross built device
2019-01-16Enable BenchmarksGame when BuildTestsAgainstPackages (see #21554) in ↵Egor Chesakov1-18/+0
tests/issues.targets
2019-01-16Make JIT\superpmi\superpmicollect compatible with HelixEgor Chesakov4-38/+46
Related issue: https://github.com/dotnet/coreclr/issues/21698
2019-01-15String -> stringJan Kotas8-16/+16
2019-01-15Delete files moved to shared partitionJan Kotas6-224/+0
2019-01-15Move more COM exceptions to shared partition (dotnet/corert#6829)Marek Safar6-0/+212
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-15WIP: Re-enable ObjectStackAllocationTests for arm32Eugene Rozenfeld1-3/+0
2019-01-15Use MSBuild to generate __TestEnv files (#21966)Egor Chesakov4-136/+200
2019-01-15Fix two cases of FP-relative immediate offsets not being checked for ↵Bruce Forstall3-7/+640
encodability For ARM32/ARM64, the immediate offsets in addressing modes have limited range that varies by instruction. A couple cases were not checking for that range, leading to generating potentially un-encodable instruction. In particular, the test case shows a case where a very large frame in a function with a stored generic context would fail on ARM64. There are no code diffs from this change for ARM64, except we sometimes get better assembly comments where the local variable referenced is annotated on the store instruction. For ARM32, the "secret stub param" is now stored using SP-relative addressing, not FP-relative, if possible (which we generally prefer in main function bodies).