Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-11W^X support (#54954)Jan Vorlicek
* W^X support This change is the last part of enabling the W^X support. It adds the actual executable allocator that handles all double mapped memory allocations and creating the writeable mappings. The platform specific functionality is placed in a new minipal that is going to be a basis for future removal of Windows APIs usage from the native runtime. The last state of the change was tested on all the platforms that we support using coreclr pri 1 tests with both the W^X enabled and disabled using the COMPlus_EnableWriteXorExecute variable. The debugger changes were tested using the managed debugger testing suite on Windows x64, x86 and on Apple Silicon so far. Further testing on other platforms is in progress. * Replace LeafLock in UMEntryThunkFreeList by a new lock * Also allocate LoaderHeapFreeBlock from regular heap. * Set the W^X default to disabled
2021-06-15Add the concept of "notification profilers" to the runtime (#53122)David Mason
2021-06-15Fix PAL_JitWriteProtect export on Linux (#54190)Jan Vorlicek
* Fix PAL_JitWriteProtect export on Linux I have not realized that we actually export that symbol on Linux too and that mscordac then have the dummy function missing. * Code review feedback * Disable PAL_JitWriteEnable usage in DBI / DAC * Fix typo in amd64 version Co-authored-by: Mike McLaughlin <mikem@microsoft.com>
2021-06-12Unify macOS ARM64 write protection holders with W^X ones (#54067)Jan Vorlicek
* Unify macOS ARM64 write protection holders with W^X ones This change removes the original holders that were added for changing memory protection for executable code and moves the actual switching to the recently added W^X holders. The unixexports files don't support target specific symbols. So I needed to export a dummy version of the PAL_JitWriteProtect for macOS x64.
2021-05-15Runtime support for static virtual interface methods (#52173)Tomáš Rylek
This change implements initial CoreCLR runtime support for static virtual interface methods and adds over 1700 test cases covering various aspects of this new runtime feature. 1) In the JIT, we are relaxing the assumption that ".constrained" must be always followed by a "callvirt" by allowing two more IL instructions to be constrained, "call" and "ldftn". 2) In the JIT interface, we're adding bits of code to CEEInfo::getCallInfo to properly handle the new static virtual methods. We're extending constrained method resolution to cater for the static virtual method case in a new method "ResolveStaticVirtualMethod". 3) In our work on the implementation we found a pre-existing JIT interface issue - the interplay between getCallInfo and embedGenericHandle doesn't work well in case of constrained calls as the existing API surface doesn't provide any means for communicating compile-time resolution of the constraint from getCallInfo to embedGenericHandle. In this change we're working around this by deferring to runtime resolution of the constraint in the presence of shared generics. 4) In the method table builder, we're newly tracking a flag saying whether we're implementing an interface declaring static virtual methods (fHasVirtualStaticMethods) that is used to speed up the runtime checks by skipping irrelevant interfaces. 5) For Crossgen / Crossgen2, this change only adds minimalistic support in the form of bailing out in getCallInfo whenever we hit a call to a static virtual method, cancelling AOT compilation of the caller and deferring it to runtime JIT.
2021-05-13Low level API support for Objective-C interop. (#52146)Aaron Robinson
* Add Objective-C interop support. * Include handling of HNDTYPE_REFCOUNTED when FEATURE_OBJCMARSHAL is defined (#47534) * Allow overriding of Objective-C message send P/Invokes (#47721) * Add new flag to MethodTable for types with ObjectiveCTrackedTypeAttribute. Discover attribute during type load and set bit. Update EagerFinalizer callout to query bit. * Add testing for API * Bridge API for propagating managed exception to native. * Update GCEE interface to support GCServer scenario for Objective-C. The new callbacks now fire when before the GC scans handles and is non-concurrent. * Comment added for ExceptionTracker non-NULL condition. Co-authored-by: Jeremy Koritzinsky <jekoritz@microsoft.com> Co-authored-by: Elinor Fung <elfung@microsoft.com> Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-05-12Allow overriding processor count via configuration setting (#52492)Anton Lapounov
2021-05-07Fix mscordbi RPATH to find libmscordaccore.dylib (#51751)Ilia
Now LC_RPATH for libmscordbi.dylib on macOS ARM64 is set to @loader_path again. This commit partly reverts #45978. Similar to #50932.
2021-04-15Add stub definitions of inject debug resources targets to fix runtimeinfo ↵Jeremy Koritzinsky
build dependency issues. (#51254)
2021-04-10Install crossgen, jitinterface, clrjit into the sharedframework folder in ↵Jeremy Koritzinsky
crosscomponent build. (#51004) * Install crossgen, jitinterface, clrjit into the sharedframework folder. * Remove unneeded dependency * Add dac/dbi to cross-component sharedFramework folder. * Don't install the cross-os dac in crosscomponents in cross-bitness scenarios. * Jit Interface doesn't need to go into the sharedFramework folder (it wasn't there in 6.0.0p3)
2021-04-06Reorganize CoreCLR native build to reduce CMake reconfigures when the build ↵Jeremy Koritzinsky
system is untouched (#49906)
2021-04-05Make Ninja the default CMake generator on Windows for the repo (#49715)Jeremy Koritzinsky
Co-authored-by: Juan Hoyos <juan.hoyos@microsoft.com>
2021-04-01Support DOTNET_ prefix (#50507)Aaron Robinson
* Support and prefer DOTNET_ prefix. Add support for EnableDOTNETPrefix to disable respecting the DOTNET_ prefix. Enable environment variable caching on non-Windows platforms.
2021-03-27Delete unreachable code for emitting PE fixups and obj files (#50259)Jan Kotas
* Delete unrechable code for emitting PE fixups and obj files * Fold ICeeGen into ICeeGenInternal and change IID
2021-03-27Add CoreCLR implementation of CallConvMemberFunction. (#47828)Jeremy Koritzinsky
* Add CoreCLR implementation of CallConvMemberFunction. * Add tests and make a few fixes to get them passing. * Fix Clang build * Fix argument ordering for calling a cdecl or stdcall instance method from managed. * Update src/coreclr/dlls/mscorrc/mscorrc.rc Co-authored-by: Jan Kotas <jkotas@microsoft.com> * Fix UnmanagedCallersOnly instance method calls for stdcall and cdecl. * Update issues.targets. * Fix formatting. * Add dummy param to validate param order. Rewrite traversal to second-to-last argument. * Merge implementations of call conv modopt name comparison. Use a macro-based implementation initially since it allows us to add new calling conventions by adding one line and the macro-ized code is relatively small. * Fix assignment alignment. * SAL and contracts. * Add assert * Fix UnmanagedCallersOnly parsing in the refactored parser. Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2021-03-03Embedding dac and other debugging resources into singlefilehost (#49033)Vladimir Sadov
* Embedding dac and other debugging resources into singlefilehost * Embed DAC later, when it had a chance to be signed. * MINIDUMP_EMBEDDED_AUXILIARY_PROVIDER Co-authored-by: Juan Hoyos <juan.hoyos@microsoft.com> * fix for cross builds Co-authored-by: Juan Hoyos <juan.hoyos@microsoft.com>
2021-02-21Enable Hot Reload API on Linux (#48497)Mike McLaughlin
Enable Hot Reload API on Linux Only define EnC_SUPPORTED for vm/ee on xplat. Doesn't enable the ENC ICorDebug API. Enable hotreload api tests on Linux/MacOS. API not implemented on arm/arm64 Remove all the ENC_DELTA_HACK code. Remove more ENC_DELTA_HACK code from ilasm
2021-02-20Building singlefilehost with clr partition. (#48254)Vladimir Sadov
* building single file host with clr partition * make coreclr_static a STATIC lib again
2021-02-17Fix using .NET COM server with `dynamic` keyword (#48037)Elinor Fung
2021-02-03Add ability to update the friend assembly set of an assembly with Reflection ↵David Wrighton
Emit (#47784) - Add routine/lock for updating friend assemblies - Unify all assembly handling custom attribute updates in the runtime - This adjusts the handling of the DebuggableAttribute, which in the past would have worked even if it was applied to anything via the CustomAttributeBuilder apis Co-authored-by: Krzysztof Wicher <kwicher@microsoft.com>
2021-01-28Stop localizing '<Unknown>' and '<In Memory Module>' strings (#47437)Andy Gocke
GetFullyQualifiedName returns special strings for modules without paths. Those names are currently localized. To improve predictability, this change removes localization for these strings.
2021-01-22Export DotNetRuntimeInfo symbol from singlefile host (#47299)Vladimir Sadov
* Exporting DotNetRuntimeInfo from singlefilehost * move runtimeinfo into a separate lib * enable runtimeinfo on macOS * export only runtimeinfo * fix FreeBSD build * revert DLLEXPORT change
2020-12-23Replace AWK with Bash scripts (#46313)Adeel Mujahid
* Replace AWK with Bash scripts * Replace awk usage with Bash or POSIX tr * Simplify genmoduleindex.sh
2020-12-13Fix macos DAC & DBI search dependency paths (#45978)Steve MacLean
* Fix macos DAC & DBI search dependency paths * Only apply changes to macos-arm64
2020-12-08December infra rollout - remove duplicated 'src' from coreclr subrepo ↵Tomáš Rylek
(src/coreclr/src becomes src/coreclr) (#44973) * Move src/coreclr/src/Directory.Build.targets to src/coreclr Merge src/coreclr/src/CMakeLists.txt into src/coreclr/CMakeLists.txt * Mechanical move of src/coreclr/src to src/coreclr * Scripts adjustments to reflect the changed paths