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-18Fix Linux x86 build (#50836)Gleb Balykov
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-10NSAutoreleasePool instance should be added to all threads. (#52023)Aaron Robinson
Add an NSAutoreleasePool to all managed create threads including the Main and Finalizer. This expands the current support where support was only added to ThreadPool threads. New feature switch was created and the ThreadPool one was removed. - System.Threading.Thread.EnableAutoreleasePool Updated AutoReleaseTest for the new scenarios.
2021-04-28Initial support for Hot Reload on ARM (#51902)Tom McDonald
* Initial support for Hot Reload on ARM * AssemblyExtensionsTest fix for ARM
2021-03-12[mono][debugger] Implementing mscordbi to support iCorDebug on mono runtime ↵Thays Grazia
(#47639) * Implementing mscordbi on mono to support icordebug * Fix eval, fix step and cancel step, remove suspend status on mscordbi * Using log from coreclr as mscordbi does * Missing files * Removing eglib from implementation * Compiling on Mac * Compiling and Working on windows. Changing what @lambdageek suggested about mono_atomic_inc_i32 * Generating libmscordbi on mac * Fix socket on mac * Counting references, deleting objects, removing unecessary properties, formating with cland-format, renaming properties to follow the used pattern. * Checking error when get reply from debugger * Fix format, reuse regmeta from coreclr and try to fix compilation on windows * Dont build when target is android or ios or wasm * Fix error unused variable * Fixing error: 'CFUserNotificationDisplayAlert' is unavailable: not available on macCatalyst * Fix compilation error on Linux * Fix function not found in maccatalyst Fix warning as error of macro redefinition * Dont compile mscordbi on maccatalyst * Fix compilation on linux * Fix compilation on android, ios and browser * Fix compilation on linux * Fix cross compiling * Fix compilation x86 windows * Fix x86 compilation * Fix compilation on windows * Fix cmake error * Fix cmake * Fix arm64 mac * Fix windows compilation * Fix memory leak * Returning E_NOTIMPL where it was possible and it's not implemented as suggested by @cshung * Fix what @cshung * Use only one ref count * Adding ex_try everywhere that we could have an allocation failure. * Implementing get class * Apply suggestions from code review Co-authored-by: Noah Falk <noahfalk@users.noreply.github.com> * Fix what @noahfalk suggested in his review. * Fixing what was suggested by @viniciusjarina * Fix what was suggested by @viniciusjarina * Changing what @noahfalk suggested * Accept more than 1 stepper per thread * Changing what was suggested by @noahfalk * Using CORDB_ADDRESS to return addresses from debugged process * Fix eval * Update src/mono/mono/mini/debugger-agent.c Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com> * Using 1:1 with runtime for cordbtype and cordbclass * Rnaming methods as suggested by @lambdageek * Update src/mono/dbi/cordb-process.h Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com> * Update CMakeLists.txt * Fix arm64 compilation * Fix arm64 compilation * Fix error cmake * fix arm64 compilation * Fix arm64 compilation * Fix arm64 compilation * Fix arm64 compilation * Revert "Fix arm64 compilation" This reverts commit 25f24bc7ac66966fe59805e54e4009c909608b2c. * Revert "Fix arm64 compilation" This reverts commit a8f0318881d7b3e6b5a69b1b56c17478a71fdb4f. * Revert "fix arm64 compilation" This reverts commit b5de06dcf00bf296f2c8f4b47aa2492afbd73acd. * Revert "Fix error cmake" This reverts commit 2aae4636499d073ca5aa6fb9319d84875be6e08e. * Revert "Fix arm64 compilation" This reverts commit ae5f701589c3bd8ca04b9d9369af2b285a5d9bd0. * Revert "Fix arm64 compilation" This reverts commit 94d957c7416a900c9e90dec53900a104572ea6a1. * Removing arm64 compilation * Remove arm64 compilation Co-authored-by: Noah Falk <noahfalk@users.noreply.github.com> Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
2021-02-24Hot reload for xplat change broke DAC (#48672)Mike McLaughlin
On Linux/MacOS only enabled ENC for the debug/ee and vm directories and that through some the EE's data structure's vtables between the runtime and DAC.
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-20Fix JIT rolling build (#48552)Adeel Mujahid
2021-02-15Unset FEATURE_EVENTSOURCE_XPLAT in macOS builds (#48244)Sung Yoon Whang
2021-02-05Fix armel build (#47771)Gleb Balykov
2021-02-01Use C EventPipe implementation by default (#47665)John Salem
2021-01-14Prefer ucontext.h over sys/ucontext.h (#46790)Adeel Mujahid
* Prefer ucontext.h over sys/ucontext.h * Cleanup redundant _XOPEN_SOURCE definitions * Remove unused makefile from PAL tests
2020-12-15Implementation of full EventPipeDiagnosticServer C library CoreClr shim. ↵Johan Lorensson
(#45354) Break out build of eventpipe library into vm/eventing/eventpipe (both for C++ as well as C library). Introduce ability to build CoreClr with C++ or C version of EventPipe/DiagnosticServer library. Beneficial during transition to have both library useable, C++ library is still default, but new cmake feature FEATURE_PERFTRACING_C_LIB can be defined in order to build and use C library instead of C++ version. Due to restrictions around standard headers in CoreClr, moved out C library IPC PAL into debug_pal (where C++ library has its IPC PAL). This unfortunately came with some additional needed changes since library had dependencies against runtime, so needed to make PAL sources independent of majority of EventPipe library. Added same feature as for EventPipe/DiagnosticServer library, possible to build debug_pal with C or C++ IPC PAL sources. Complemented a couple of CoreClr types with NoThrow methods so they could be used in shim containers without need for try/catch, CQuickArray::PushNoThrow, SHash::AddNoThrow. Missing strtoull on non Windows, add PAL_strtoull into PAL (PAL already included UTF16 version of the same functionality).
2020-12-02Add OSX arm64 jit. (#45467)Sergey Andreenko
* CMake changes. * use unix_osx.
2020-11-13Remove the experimental Utf8String type and tests from the runtime repo (#44574)Tomáš Rylek
2020-09-10Build infra changes to enable building a more universal cross target jit ↵David Wrighton
builds (#41126) This change is part of a larger effort to enable crossgen2 to perform general purpose cross compilation from any architecture to any other architecture. This portion of the change is to begin generating cross targeting jits with a consistent naming scheme with a minimal amount of code change. The practical output of this change is replacement of the current practice of building protojit/protononjit/etc. with `clrjit_<targetos>_<target_arch>_<host_arch>` binaries. In addition I've defined a couple of new subsets so that this can be less impactful to the inner dev loop. clr.alljits, which will build all of the jits. clr.jit, which will build only non-cross targeting jits. clr.runtime which has been enhanced to not trigger the alljits build. Current restrictions of the change: 1. This change does not support 32bit to 64bit compilation. I've built a larger change that includes the necessary work for that, but the changes are more disruptive, and I would prefer to scope this work to make it reviewable. 2. This work builds different compilers for the unix targetting and windows targetting compilers. This is due to the different ABIs that the architectures support. Upon investigation, I've determined that the actual product differences in these cases is small for ARM and ARM64. In the future, once we have testing, I believe it would be reasonable to unify the generated compiler binaries. 3. These changes do not build an armel targeting compiler for all scenarios, but it does build one with the current naming scheme as was done before. Again, like in condition 2, I believe we can make a single arm targetting compiler that will work. 4. These changes include changes to crossgen2 to use the new compiler binaries. However, there is no expanded testing to cover test the newly available cross compilation capabilities. That will appear in follow-on work.
2020-07-25MacOS managed debugging perf fix (#39804)Mike McLaughlin
* MacOS managed debugging perf fix This PR adds PAL_OpenProcessMemory, PAL_ReadProcessMemory and PAL_CloseProcessMemory that encapsulate the remote read memory functions for both MacOS and Linux. The DBI code that reads memory using the runtime IPC messages to use these new functions and fallback to the IPC message if the open fails. On MacOS, this won't have any affect on VSCode performance until vsdbg/vsdbgui are signed with the "com.apple.security.cs.debugger" entitlement. Sample entitlements.plist file: ``` <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.cs.debugger</key> <true/> </dict> </plist> ``` Example of locally signing with entitlement command: codesign -s <local-cert> --entitlements entitlements.plist Fix FreeBSD build. Remove FEATURE_DATATARGET4 for macOS so managed debugging uses faster OOP unwind for HelpMethodFrames
2020-06-19Delete FEATURE_APPX (#38112)Jan Kotas
2020-06-19Merge FEATURE_CLASSIC_COMINTEROP into FEATURE_COMINTEROP (#38107)Jan Kotas
Also deleted some dead code
2020-05-30Remove built-in WinRT support from the runtime (#36715)Jeremy Koritzinsky
2020-05-27Simple sideloaded profile guided optimization support (#36887)Andy Ayers
1. Add code so the runtime can read profile data from a text file and then make this data available to the jit, so it will be easier to test the jit's behavior when profile data is available. 2. Add code so the runtime can create profile text files by telling the jit to insert probes into jitted code that write into a persistent buffer, which is saved to text at shutdown. This is mainly intended to make creation of the sideloaded profile data files easier, since their internal structure must exactly match artifacts from jitted methods. 3. Add a mode where jit-instrumented Tier0 code can feed counts into Tier1 jitting. This is an experiment to see what benefit, if any, might accrue from having profile data available for Tier1 jitting. External format is text so it can be edited by hand or checked into the repo alongside tests. Binary format would be more compact but opaque. In all cases the jit internally sees a profile buffer identical to the one it sees with IBC; the only minor changes in the jit are to initialize the count field of each probe entry to zero and to only emit the entry helper call for prejitted IBC. Only root methods are instrumented, and only root method blocks are given profile weights. Broadening to handle inlinees is future work, facilitated by the new capabilites added here.
2020-05-07Delete FEATURE_CORRUPTING_EXCEPTIONS (#35938)Jan Kotas
* Delete HCORMODULE * Delete FEATURE_CORRUPTING_EXCEPTIONS Ability to catch corrupting exceptions was disabled in .NET Core since early days for security reasons. This is still disabled after this change, but achieved in much simpler way without the full corrupting exceptions machinery. * Delete unused bSecurityCheck argument of GetComIPFromObjectRef
2020-03-24Rename TARGET_DARWIN to TARGET_OSX (#33959)Alexander Köplinger
https://github.com/dotnet/runtime/pull/33716 set TARGET_DARWIN for iOS too but most of the logic is really OSX-specific. Unset TARGET_DARWIN for iOS and rename the rest of the occurrences to TARGET_OSX.
2020-03-18Disable warnings-as-errors for release branches (#33664)Jan Kotas
Fixes #33627
2020-03-17Implement simple version of On Stack Replacement (OSR) (#32969)Andy Ayers
Add support to runtime and jit to allow switching from unoptimized to optimized code for a method while the method has active stack frames. Details in the included document.
2020-03-07Implement new COM interop API for RCW/CCW creation/management (#32091)Aaron Robinson
* Implement RuntimeHelpers.AllocateTypeAssociatedMemory(). * Add tests for RuntimeHelpers.AllocateTypeAssociatedMemory(). * Implement ComWrappers API. * Add tests for ComWrappers API. * Add a FEATURE_COMWRAPPERS feature flag.
2020-02-25Fix build without FEATURE_EVENT_TRACE (#32746)Adeel Mujahid
2020-02-16Define FEATURE_PROFAPI_ATTACH_DETACH always (#32293)Ilia
Allow to use profiler attach/detach feature because it seems to work on other platforms (macOS in particular). Also, remove unused DATA_PROFAPI_ATTACH_DETACH definition. Fixes #32093
2020-02-06Use common CLR_CMAKE_* variables in more places (#31659)Adeel Mujahid
* Use common CLR_CMAKE_* variables in more places * Remove obsolete paragraph from README
2020-02-01 Rename cross compilation related defines (#2256)Steve MacLean
* Rename identifiers to be more consistent This patch was a machine generated search and replace of identifiers. The replacement was done in the order listed for the path specified. A regex was used to find the identifiers. s/(^|[^A-CE-Za-z0-9_])${find}($|[^A-Za-z0-9_]) The 'D' character was specifically allowed a s a prefix to catch add_definitions(-D${find}). The patch also reverts all managed code changes after replacement. _ARM_ -> HOST_ARM in src/coreclr _ARM64_ -> HOST_ARM64 in src/coreclr _AMD64_ -> HOST_AMD64 in src/coreclr _X86_ -> HOST_X86 in src/coreclr _HOST_UNIX_ -> HOST_UNIX in src/coreclr _HOST_AMD64_ -> HOST_AMD64 in src/coreclr _HOST_ARM64_ -> HOST_ARM64 in src/coreclr _HOST_ARM_ -> HOST_ARM in src/coreclr _HOST_X86_ -> HOST_X86 in src/coreclr DBG_TARGET_AMD64 -> TARGET_AMD64 in src/coreclr DBG_TARGET_ARM64 -> TARGET_ARM64 in src/coreclr DBG_TARGET_ARM -> TARGET_ARM in src/coreclr DBG_TARGET_X86 -> TARGET_X86 in src/coreclr _TARGET_AMD64_ -> TARGET_AMD64 in src/coreclr _TARGET_ARM_ -> TARGET_ARM in src/coreclr _TARGET_ARM64_ -> TARGET_ARM64 in src/coreclr _TARGET_X86_ -> TARGET_X86 in src/coreclr _TARGET_ARMARCH_ -> TARGET_ARMARCH in src/coreclr _TARGET_XARCH_ -> TARGET_XARCH in src/coreclr _HOST_64BIT_ -> HOST_64BIT in src/coreclr BIT64 -> HOST_64BIT in src/coreclr _TARGET_64BIT_ -> TARGET_64BIT in src/coreclr DBG_TARGET_64BIT -> TARGET_64BIT in src/coreclr HOST_IS_WINDOWS_OS -> HOST_WINDOWS in src/coreclr PLATFORM_UNIX -> HOST_UNIX in src/coreclr/*.cmake PLATFORM_WINDOWS -> HOST_WINDOWS in src/coreclr/*.cmake _TARGET_MAC64 -> TARGET_OSX in src/coreclr FEATURE_PAL -> TARGET_UNIX in src/coreclr _TARGET_UNIX_ -> TARGET_UNIX in src/coreclr _TARGET_WINDOWS_ -> TARGET_WINDOWS in src/coreclr PLATFORM_UNIX -> TARGET_UNIX in src/coreclr PLATFORM_WINDOWS -> TARGET_WINDOWS in src/coreclr * Miscellaneous manual fixes to fix compilation Remove unused defines Remove BIT32 Remove DBG_TARGET_AMD64_UNIX Remove DBG_TARGET_ARM64_UNIX Remove DBG_TARGET_ARM_UNIX Remove DBG_TARGET_32BIT Fixes for HOST_<arch> rename Move TARGET_<Arch> and TARGET_<bit> Move from clrdefinitions.cmake to configurecompiler.cmake so it is used globally. More jit.h * Whitespace by clang-format
2020-01-28Add FEATURE_REMOTE_PROC_MEM (#2244)Steve MacLean
The /proc/mem filesystem is only available on Linux hosts. Revise #ifdef to use FEATURE_PROC_MEM to enable disable the use of /proc/mem on the debug target shim. Enable only when HOST and target are Unix, but not Darwin.
2020-01-25Refactor CMake system to allow cross OS DAC compile (#2054)Steve MacLean
* Refactor CMake system to allow cross OS DAC compile Add CLR_CMAKE_HOST_OS Add rules to determine which cross OS combinations are valid Make add_definitions depend on TARGET OS properties. Wherever reasonable make C++ defines depend on runtime target rather than host.
2020-01-21Rename CLR_CMAKE_PLATFORM* CLR_CMAKE_HOST* (#1974)Steve MacLean
The term platform was ambiguous. Migrate to using common terminology for cross compilation. Host is the platfrom which will execute the code Target is the platform which will be debugged or for which code will be generated. In most cases HOST == TARGET. The exceptions are the cross component crossgen tools and the future cross DAC.
2019-11-21Implement instantiating and unboxing through portable stublinker code… (#106)David Wrighton
* Implement instantiating and unboxing through portable stublinker code - Handle only the cases with register to register moves - Shares abi processing logic with delegate shuffle thunk creation - Architecture specific logic is relatively simple - Do not permit use of HELPERREG in computed instantiating stubs - Fix GetArgLoc such that it works on all architectures and OS combinations Add a JIT stress test case for testing all of the various combinations - Use the same calling convention test architecture that was used as part of tail call work Rename secure delegates to wrapper delegates - Secure delegates are no longer a feature of the runtime - But the wrapper delegate lives on as a workaround for a weird detail of the ARM32 abi
2019-11-06Enable rejit feature on all cpu architectures (dotnet/coreclr#27576)David Mason
Commit migrated from https://github.com/dotnet/coreclr/commit/6d06f54a6b2bf0ddcc69d12cfc11e09ddb6d4ec0
2019-11-02Remove FEATURE_VERSIONING_LOG define (dotnet/coreclr#27618)Elinor Fung
Commit migrated from https://github.com/dotnet/coreclr/commit/989e7c7050d848f0aace9d1a79a777e033a4d3dd
2019-10-16Manually managed card bundles windows (dotnet/coreclr#27087)Peter Sollich
* Changes to set gen0 bricks always. This reduces the time spent in find_first_object when finding the start of objects for marking interior pointers. * Revert "Changes to set gen0 bricks always. This reduces the time spent in find_first_object when finding the start of objects for marking interior pointers." This reverts commit dotnet/coreclr@9d53ff910ceb5482c67350a88e6687b8f94d5634. * Initial check point for manually managed card bundles on x64 Windows. * Small optimization in JIT_ByRefWriteBarrier - instead of memory access, use lea from a register to restore destination address. * Fix issue with arm64 - forgot to push my local change. * Address code review change request - make arm64 Windows write barrier trash only x12 and x15, but not x16 for consistency with Linux. Commit migrated from https://github.com/dotnet/coreclr/commit/c3432f0f43b5669413b3a9c80f5a74736e5b0558
2019-10-07Clean up our CMake scripts using features introduced between 3… ↵Jeremy Koritzinsky
(dotnet/coreclr#26980) * Try to remove the CLR_CMAKE_COMPILER weirdness. * Cleanup phase 1. Fixes CMake's incremental build, but makes MSBuild complain about it's incremental build possibly not working. * Drive dac and crossgen-specific defines through target properties. * First pass of consolidation of singularly nested CMakeLists.txt files. * Convert metadata libraries to not use leaf folders for dac/runtime/crossgen/dbi variations. * Clean up some of the non-arm assembly file handling. * Encapsulate arm/arm64 manual preprocessing and compilation of assembly files into a cmake function preprocess_compile_asm. * Fix typo. * Convert usages of add_precompiled_header to target_precompile_header everywhere except the jit. * Clean up/remove some leaf CMake files that are just simple target creation (where most of the work was done in the parent). * Remove unused CMakeLists file and folder. * Clean up coreclr/CMakeLists.txt * Remove conditions based on CMake version (since we're unifying on CMake 3.14) * Convert final usages of add_precompiled_header to target_precompile_header and remove add_precompiled_header. * Handle the AsmConstants.inc inclusion in cee_wks by marking it a header file instead of making a custom target. * Move from deprecated FindPythonInterp module to FindPython module. * Remove unused jitpch.cpp * Fix typo. * Have get_compile_definitions correctly split out generator expressions for multiple-valued generator expressions. * preprocess_def_file -> preprocess_file and make it work xplat. * Fix test build. * Fix typo in flag. * Fix resource building on non-windows. * Fix other linker flag typo I missed. * Add missing eventing_headers dependency. * Fix multivalued generator expression. * Use CMake 3.x features to significantly simplify toolchain.cmake. * Remove references to LLDB from gen-buildsys-* (these aren't needed since SOS moved out of the repo). * Remove debugging line * Check check_pie_supported * Clean up link flags. * Fix copy-paste typo * Cleanup. Change some conditions in configurecompiler to check for MSVC specifically, not Windows. * Restore the llldb include and library path searching. * Restore asmconstants_inc custom target. Commit migrated from https://github.com/dotnet/coreclr/commit/59c7b7e84ab3a74d3939abd0c0f973d2bb9e8a70
2019-10-01Disable nop padding in R2R images and remove jumpstamps from the runtime ↵David Mason
(dotnet/coreclr#26740) Jumpstamps were used to version methods before we had the tiered compilation versioning mechanism. Jumpstamps had some negatives, that it was only supported on x86 and x64, that it required padding methods (bloated on disk IL code size), and that it required a runtime suspension to write the jumpstamps. By consolidating to one code versioning scheme we can delete a lot of code and support all architectures that tiered compilation does for rejit. Commit migrated from https://github.com/dotnet/coreclr/commit/7fd79859530d6d6a05ae3b69adf2e0ca8a746bab
2019-09-14More PAL cleanup (dotnet/coreclr#26709)Jan Kotas
* Delete more unused methods from PAL * Delete PAL_EntryPoint * Delete always defined FEATURE_PAL_SXS and related code Commit migrated from https://github.com/dotnet/coreclr/commit/59002f56b5a2a4e13d4adee9f21942855c0955d3
2019-08-21Rename WIN64EXCEPTIONS to FEATURE_EH_FUNCLETS. (dotnet/coreclr#26220)Sergey Andreenko
* Use FEATURE_EH_FUNCLETS in jit as WIN64EXCEPTIONS is used in VM. It will help as to add this as global defenition and replace WIN64EXCEPTIONS with it. * Make FEATURE_EH_FUNCLETS available for VM. Note that we do not add this define to jit\linuxnonjit for x86, because it needs FEATURE_PAL to be defined on x86 Linux and FEATURE_PAL is not defined when we are running linux altjit on Windows. * Rename WIN64EXCEPTIONS to FEATURE_EH_FUNCLETS. * Delete WIN64EXCEPTIONS. That was confusing because it was defined on Linux x64/arm64 and on Windows arm32. * Define DFEATURE_EH_FUNCLETS later in the file, with a condition. * Fix two typos in comments. Commit migrated from https://github.com/dotnet/coreclr/commit/84d4ed44b5c7f1b3db6e9ae3c71e8e1bb585bbaf
2019-08-16Enable MHR support on OSX (dotnet/coreclr#26193)Jan Vorlicek
* Enable MHR support on OSX * Move JIT_WriteBarrier that is modified at runtime to a dynamically allocated memory instead of making a page in libcoreclr.dylib RWX. * Update PAL to add MEM_JIT flag for allocations and reservations of executable memory. * Update native runtime in EH and stack unwinding areas so that it can unwind from the write barrier copy. That code has no unwind info, so without special handling, runtime would not be able to unwind from it. * Fix JIT_Stelem_Ref calls to JIT_WriteBarrier Commit migrated from https://github.com/dotnet/coreclr/commit/0e64ecf712da163d0f091c76705e400e55a2b87a
2019-08-13Rename _WIN64 define to BIT64 (dotnet/coreclr#26080)Jan Kotas
Avoids confusion with _WIN64 being defined even on Unix Commit migrated from https://github.com/dotnet/coreclr/commit/ab2f9caaf35c96d029b96aa171ee65d04253cf7c
2019-08-09ARM32 out of proc unwind support (dotnet/coreclr#26082)Mike McLaughlin
ARM32 out of proc unwind support Removed the old dwarf unwind info decoding and use libunwind for both dwarf and arm exidx. Commit migrated from https://github.com/dotnet/coreclr/commit/e8f08ff064b406d0ab0f36217abe6328ea61c081
2019-08-02arm64 out of proc unwind for DAC (dotnet/coreclr#25909)Mike McLaughlin
arm64 out of proc unwind for DAC Removed FEATURE_DATATARGET4 for arm64 Added SP check to createdump's native unwind loop to make it more robust. Commit migrated from https://github.com/dotnet/coreclr/commit/0d5a6395fce4a3bdfb249645bad9724cd120b50f
2019-07-20Arm64 define FEATURE_DATATARGET4 (dotnet/coreclr#25804)Steve MacLean
FEATURE_DATATARGET4 enables the portable out of process stack unwind Commit migrated from https://github.com/dotnet/coreclr/commit/0b8c84535b267ee6a99ba5059146ba5b93dd6c0a
2019-07-20Revert "Enable MHR support on OSX (dotnet/coreclr#25716)" (dotnet/coreclr#25803)Jan Vorlicek
This reverts commit dotnet/coreclr@7a970842ebd88686851af53edee689a3149737bf. Commit migrated from https://github.com/dotnet/coreclr/commit/1991a9ac761e8684ada594bc5a9fef0817c98602
2019-07-17Enable MHR support on OSX (dotnet/coreclr#25716)Jan Vorlicek
* Enable MHR support on OSX * Move JIT_WriteBarrier that is modified at runtime to a dynamically allocated memory instead of making a page in libcoreclr.dylib RWX. * Update PAL to add MEM_JIT flag for allocations and reservations of executable memory. * Update native runtime in EH and stack unwinding areas so that it can unwind from the write barrier copy. That code has no unwind info, so without special handling, runtime would not be able to unwind from it. Commit migrated from https://github.com/dotnet/coreclr/commit/7a970842ebd88686851af53edee689a3149737bf
2019-07-04arm64singlestepper (dotnet/coreclr#25512)Steve MacLean
Add single step emulation for arm64 Linux Add a copy and rework armsinglestepper to arm64singlestepper Add arm64 emulation of all armv8 user space instructions which read or write PC. - ADR, ADRP - Branch instructions: B, BL, B.cond, BR, BLR, RET - LDR (literal) * Add FEATURE_EMULATE_SINGLESTEP * Enable for ARM64 linux * Debugging fixes Fix IsSSFlagEnabled bug Fix opcode type Fix code buffer asserts Fix CBZ typo Fix BitExtract Fix m_targetPc Minimize written instructions Fix comments Fix Bypass address truncation Fix false assert Add additional logging Use %lx to log addresses Remove stray LOG Remove stray assert Commit migrated from https://github.com/dotnet/coreclr/commit/613f9f233abde4159a85aa8130b7fcb57dc7a4ef