summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-06-03Disable event pipe tests for investigationJuan Hoyos1-0/+6
2019-06-03Reenable tests turned off in #24772Juan Sebastian Hoyos Ayala1-6/+0
2019-06-03Fix event pipe session provider list clearJuan Sebastian Hoyos Ayala1-6/+2
2019-06-03Update dependencies from https://github.com/dotnet/arcade build 20190602.2 ↵dotnet-maestro[bot]3-12/+12
(#24918) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19302.2 - Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19302.2 - Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19302.2 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19302.2
2019-06-03JIT HW Intrinsic implementation doc (#23622)Carol Eidt1-0/+124
* JIT HW Intrinsic implementation doc
2019-06-02Final touchAndrew Au2-2/+2
2019-06-02Productize auto_traceJohn Salem2-15/+49
2019-06-02AutoTrace - launch dotnet trace to capture trace as soon as the runtime is ↵Andrew Au4-1/+98
available to trace
2019-06-02[master] Update dependencies from dotnet/arcade (#24906)dotnet-maestro[bot]7-40/+243
* Update dependencies from https://github.com/dotnet/arcade build 20190601.2 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19301.2 - Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19301.2 - Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19301.2 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19301.2
2019-06-02Improve fatal err msg (#24390)Dan Moseley11-76/+35
* Improve fatal err msg * Match SO format * a * Remove dead define * More adjustments to ex msg * And PAL * Remove special case for SOE * Remove excess Debug.Assert newline * Remove excess newline * typo * New format * Remove DebugProvider redundancy * Adjustments * Remove preceding newline * Make other SOE and OOM consistent * Tidy up assertion msg * Fix missing newline after inner exception divider * CR when no inner exception * ToString never CR terminated * disable corefx tests temporarily
2019-05-31Move EventPipeEventSource deletion to a better place (#24901)Sung Yoon Whang1-2/+5
* Move EventPipeEventSource deletion to a better place * typo
2019-05-31Fix FileStream.FlushAsync() to behave like Flush() (#24902)Stephen Toub1-18/+2
Flush() behaves like Flush(false) and writes out any buffered data but doesn't P/Invoke to FlushFileBuffers/FSync to flush the OS buffers. But whereas FlushAsync() is supposed to just be an async equivalent of Flush(), it's actually behaving like Flush(true). This makes FlushAsync() inconsistent and much more expensive. (This is separate from FlushAsync not actually being async, which is an impactful problem to be solved separately.) This changes FlushAsync to behave like Flush()/Flush(false) rather than Flush(true). If someone wants the FlushFileBuffers/FSync behavior, they can call Flush(true).
2019-05-31Add workaround for native tool installation CI hang (#24899)Juan Hoyos2-1/+7
2019-05-31Revert "Update dependencies from https://github.com/dotnet/arcade build ↵William Godbe7-243/+40
20190530.2 (#24882)" (#24898) This reverts commit aa26688ee5e2b03945a22cda324887341e10595f.
2019-05-31Update branding to preview7 in master (#24895)William Godbe2-2/+2
2019-05-31Update dependencies from https://github.com/dotnet/core-setup build ↵dotnet-maestro[bot]2-3/+3
20190530.01 (#24884) - Microsoft.NETCore.App - 3.0.0-preview6-27730-01
2019-05-31Update dependencies from https://github.com/dotnet/arcade build 20190530.2 ↵dotnet-maestro[bot]7-40/+243
(#24882) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19280.2 - Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19280.2 - Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19280.2 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19280.2
2019-05-31Handle a zero byte cpblk (#24871)Carol Eidt9-31/+108
Fix #24846
2019-05-31Fix overlooked moduleIndex initial value (#24881)Jan Vorlicek1-1/+1
When adding the signature copying some time ago, I have overlooked one place where the moduleIndex was set to -1 instead of MODULE_INDEX_NONE. I was using the -1 during the development and replaced it by creating MODULE_INDEX_NONE during final cleanup at all but one places. This caused issues during crossgen even without large version bubble enabled. Methods requiring generic constraint were not crossgen-ed due to this.
2019-05-31Makes GetTotalAllocatedBytes monotonic in nonprecise case. (#24875)Vladimir Sadov1-5/+23
* Makes GetTotalAllocatedBytes monotonic in nonprecise case. Fixes:#24615 * read `dead_threads_non_alloc_bytes` atomically on 32bit platforms * Update src/vm/comutilnative.cpp Co-Authored-By: Jan Kotas <jkotas@microsoft.com>
2019-05-30Delete dead code (#24876)Jan Kotas2-51/+0
2019-05-30Check that we are using a valid IDispatch invocation flag earlier to limit ↵Jeremy Koritzinsky1-0/+5
the amount of work we do when we're going to return early anyway. (#24872)
2019-05-30Fix #24867 (#24870)Jarret Shook6-8/+8
Pre SDK 3.0, a project type that is not .csproj would not include Directory.Build.targets. Change empty.proj to empty.csproj to allow source build, which uses a 2.1 sdk to build, correctly import Directory.Build.targets.
2019-05-30Remove unused code in vm/util.* (#24863)Aaron Robinson4-431/+8
* Remove unused code in vm/util.*
2019-05-30Add information in docs for required Windows SDK version for test build. ↵Jeremy Koritzinsky1-0/+1
(#24865)
2019-05-30Merge pull request #24869 from briansull/desktop-build-fixesBrian Sullivan4-1/+7
Fixes for building the Desktop JIT in CodegenMirror
2019-05-30Create NearDiffer in SuperPMI based on specified targetArchitecture (#24860)Egor Chesakov1-1/+13
2019-05-30Support running SuperPMI with ARM protononjit.dll (#24840)Egor Chesakov3-12/+50
2019-05-30Remove BuildTools from product build (#24841)Elinor Fung15-159/+60
* Remove BuildTools imports from product build * Split scripts for installing dotnet vs BuildTools
2019-05-30Fixes for building the Desktop JIT in CodegenMirrorBrian Sullivan4-1/+7
2019-05-30Add build-tools.cmd (#24817)Jan Vorlicek5-7/+6
* Add build-tools.cmd This script builds selected tools in the src/tools directory (for the time being, it builds just the runincontext tool). This is a preparation step to enable nightly runs with unloadability tests. The build-tools.cmd should build helper tools needed during test runs. * Remove the build-tools.cmd * Build the tools as part of the managed runtime build. * Update the R2RDump project to put binaries into the bin/Product/... * Update runincontext.cmd/sh scripts Reflect the new location of the runincontext binary
2019-05-30Move CI to supported queuesRuss Keldorph1-3/+3
2019-05-30[master] Update dependencies from dotnet/arcade (#24854)dotnet-maestro[bot]4-14/+14
* Update dependencies from https://github.com/dotnet/arcade build 20190529.5 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19279.5 - Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19279.5 - Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19279.5 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19279.5 * Work around dotnet/arcade#2673
2019-05-30Update CoreClr to preview6.19280.1 (#24848)dotnet-maestro-bot2-3/+3
2019-05-30Add Environment.TickCount64 (#24857)Stephen Toub4-1/+21
2019-05-30Implement R2R helpers for synchronized methods (#24646)Michal Strehovský4-6/+17
Synchronized methods show up when `Console` is used and the missing helper mapping would cause us not to AOT compile them.
2019-05-30Update dependencies from https://github.com/dotnet/corefx build 20190529.8 ↵dotnet-maestro[bot]2-9/+9
(#24855) - Microsoft.Bcl.AsyncInterfaces - 1.0.0-preview6.19279.8 - Microsoft.NETCore.Platforms - 3.0.0-preview6.19279.8 - Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview6.19279.8
2019-05-30Update dependencies from https://github.com/dotnet/core-setup build ↵dotnet-maestro[bot]2-3/+3
20190529.07 (#24856) - Microsoft.NETCore.App - 3.0.0-preview6-27729-07
2019-05-30Frkaya/gcc fix 052919 (#24845)Sinan Kaya3-2/+5
* fix compilation with gcc7.x In file included from src/inc/sstring.h:1029:0, from src/inc/ex.h:19, from src/inc/stgpool.h:28, from src/inc/../md/inc/metamodel.h:18, from src/inc/../md/inc/metamodelro.h:19, from src/inc/metadata.h:17, from src/inc/corpriv.h:21, from src/md/compiler/stdafx.h:20, from src/md/compiler/mdutil.cpp:12: src/inc/sstring.inl: In member function ‘const WCHAR* SString::GetUnicode() const’: src/inc/sstring.inl:650:5: error: nonnull argument ‘this’ compared to NULL [-Werror=nonnull-compare] if (this == NULL) ^~ add version check * Use the abstracted version of __nodebug__ * cc1: warning: command line option ‘-fpermissive’ is valid for C++/ObjC++ but not for C
2019-05-30Allow generating HW intrinsics in crossgen (#24689)Michal Strehovský2-9/+32
We currently don't precompile methods that use hardware intrinsics because we don't know the CPU that the generated code will run on. Jitting these methods slows down startup and accounts for 3% of startup time in PowerShell. With this change, we're going to lift this restriction for CoreLib (the thing that matters for startup) and support generating HW intrinsics for our minimum supported target ISA (SSE/SSE2).
2019-05-29Remove all uses of CanRunManagedCode() (#24847)Aaron Robinson16-559/+177
* Remove all uses of CanRunManagedCode()
2019-05-29Use /proc/<pid>/mem to read memory in remote DBI data target. It makes the ↵Mike McLaughlin4-9/+46
test case run at (#24844) least 4 to 5 times faster than before. Fallback to old transport ReadMemory if /proc/<pid>/mem can't be opened. This happens on attach because of permissions/access, but works fine on the launch (the most important case).
2019-05-29Add COMPlus_LTTng environment variable (#24733)John Salem2-5/+21
* default value is 1, and when set to 0 will disable loading LTTng. Co-Authored-By: Jan Kotas <jkotas@microsoft.com>
2019-05-29[master] Update dependencies from dotnet/arcade (#24780)dotnet-maestro[bot]5-13/+14
* Update dependencies from https://github.com/dotnet/arcade build 20190524.6 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19274.6 - Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19274.6 - Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19274.6 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19274.6 * Update dependencies from https://github.com/dotnet/arcade build 20190528.1 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19278.1 - Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19278.1 - Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19278.1 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19278.1 * Work around native initialization
2019-05-29Sort out ARM load/store instruction size issues (#20126)mikedn10-264/+148
* Avoid using ins_Load/ins_Store with constant type * Use ldr to load array lengths/lower bounds genCodeForArrIndex and genCodeForArrOffset emit a ldrsw on ARM64 but that's not necessary. Array lengths are always positive. Lower bounds are signed but then the subsequent subtract is anyway EA_4BYTE so sign extension isn't actually needed. Just use ldr on both ARM32 and ARM64. * Use ldr to load array length (part 2) genCodeForIndexAddr's range check generation is messed up: - It uses ldrsw to load array length on ARM64. Not needed, the length is positive. - It uses sxtw to sign etxend the array length if the index is native int. But it was already extended by the load. - It creates IND and LEA nodes out of thin air. Just call the appropiate emitter functions. - It always generates a TYP_I_IMPL cmp, even when the index is TYP_INT. Well, that's just bogus. * Stop the using the instruction size for immediate scaling on ARM32 The scaling of immediate operands is a property of the instruction and its encoding. It doesnt' make sense to throw the instruction size (emitAttr) into the mix, that's a codegen/emitter specific concept. On ARM32 it's also almost meaningless, at least in the case of integer types - all instructions are really EA_4BYTE, even ldrb, ldrh etc. The ARM64 emitter already extracts the scaling factor from the instruction. It can't use the instruction size as on ARM64 the size is used to select between 32 bit and 64 bit instructions so it's never EA_1BYTE/EA_2BYTE. * Stop using ldrsw for TYP_INT loads ARM64's ins_Load returns INS_ldrsw for TYP_INT but there's nothing in the JIT type system that requires sign extending TYP_INT values on load. The fact that an indir node has TYP_INT doesn't even imply that the value to load is signed, it may be unsigned and indir nodes will never have type TYP_UINT nor have the GTF_UNSIGNED flag set. XARCH uses a mov (rather than movsxd, the equivalent of ldrsw) so it zero extends. There's no reason for ARM64 to behave differently and doing so makes it more difficult to share codegen logic between XARCH and ARM64 Other ARM64 compilers also use ldr rather than ldrsw. This requires patching up emitInsAdjustLoadStoreAttr so EA_4BYTE loads don't end up using EA_8BYTE, which ldrsw requires. * Cleanup genCodeForIndir/genCodeForStoreInd In particular, cleanup selection of acquire/release instructions. The existing code starts by selecting a "normal" instruction, only to throw it away and redo the type/size logic in the volatile case. And get it wrong in the process, it required that "targetType" be TYP_UINT or TYP_LONG to use ldar. But there are no TYP_UINT indirs. Also rename "targetType" to "type", using "target" is misleading. The real target type would be genActualType(tree->TypeGet()). * Remove ARM32/64 load/store instruction size inconsistencies - Require EA_4BYTE for byte/halfword instructions on ARM32. - Remove emitInsAdjustLoadStoreAttr on ARM64. Getting the correct instruction size simply requires using emitActualTypeSize, that will provide the correct size on both ARM32 and ARM64. - Replace emitTypeSize with emitActualTypeSize as needed. * Remove unnecessary insUnscaleImm parameter
2019-05-29Stop using %~dp0 in build scripts after args processing (#24842)Elinor Fung2-3/+3
2019-05-29Update CoreClr to preview6.19279.1 (#24829)dotnet-maestro-bot2-3/+3
2019-05-29Refactor native build to remove the compiler-override files (#23897)Jeremy Koritzinsky13-106/+79
* On systems that have both cmake 2 and cmake 3, use cmake 3. Move CMAKE_EXPORT_COMPILE_COMMANDS to top level instead of in gen-buildsys-*. Define the CMake install prefix in gen-buildsys-* instead of pulling from an environment variable. Define C++ standard as CMake property instead of as flag. Move CLR_DEFINES_*_INIT out of overrides and into configurecompiler.cmake Move flags that generate debug info into configurecompiler.cmake Remove the CMAKE_USER_RULES_OVERRIDE files. Add cmake version output for determining what cmake versions each CI system has. Fix syntax in gen-buildsys-clang. Change add_compile_definitions back to add_definitions Add -D prefix for adding definitions via add_definitions Remove extraneous double-quote Change default config definition adding to the syntax in master Switch back to old CMAKE_<LANG>_FLAGS way of setting the language standards and try to go back to 2.8.12 minimum Switch back setting compile definitions for non-Windows branch too. Use SET with CMAKE_<LANG>_FLAGS. Convert some usages of appending to CMAKE_<LANG>_FLAGS to add_compile_options where possible. Set CMAKE_<LANG>_FLAGS_INIT instead of CMAKE_<LANG>_FLAGS Make sure configureopimitzation.cmake is included correctly in test build. Try to add brackets to get the Linux ARM compilation working correctly. Define standard language version in configurecompiler.cmake instead of root CMakeLists (so tests get it) Try to move langauge standard check to configure.cmake define language standard in each root CMakeLists.txt Fix off-Windows test build. Set CMAKE_EXPORT_COMPILE_COMMANDS after the project() call * Set CMAKE_USER_MAKE_RULES_OVERRIDE to "" to not break incremental builds after building on a branch that had it set to a path. * Remove CMake version output. * Move comment outside of multiline command. * Retry setting CMAKE_USER_MAKE_RULES_OVERRIDE * Remove unnecessary variable wrappers. * Simplify cmake 3 resolution. * Explicitly use CMAKE_CXX_FLAGS for C++-only flags that GCC complains about on C files. * Set -Wall via CMAKE_<LANG>_FLAGS until we can move all flag settings to add_compile_options * Fix typos * Another temporary precedence issue. * include configureoptimization.cmake in configurecompiler.cmake * Move setting CMAKE_EXPORT_COMPILE_COMMANDS to configurecompiler.cmake. * Rename configure.cmake -> verify_lto.cmake. * Fix path to verify-lto * Try using CMAKE_<LANG>_FLAGS instead of CMAKE_<LANG>_FLAGS_INIT. * Revert name change to configure.camek
2019-05-29Use Ubuntu 14.04-on-16.04 Docker image for arm cross builds. (#23999)Jeremy Koritzinsky1-1/+1
2019-05-29Stop specifying cdecl for ComponentEntryPoint (default to stdcall) (#24833)Elinor Fung1-1/+0