summaryrefslogtreecommitdiff
path: root/src/vm/gcenv.h
AgeCommit message (Collapse)AuthorFilesLines
2019-05-15Remove concept of AppDomains from the GC (#24536)David Wrighton1-18/+0
* Remove concept of AppDomains from the GC - Leave constructs allowing for multiple handle tables, as scenarios for that have been proposed - Remove FEATURE_APPDOMAIN_RESOURCE_MONITORING
2019-04-03Remove ADID and ADIndex from CoreCLR (#23588)David Wrighton1-0/+18
- Remove concept of AppDomain from object api in VM - Various infrastructure around entering/leaving appdomains is removed - Add small implementation of GetAppDomain for use by DAC (to match existing behavior) - Simplify finalizer thread operations - Eliminate AppDomain::Terminate - Remove use of ADID from stresslog - Remove thread enter/leave tracking from AppDomain - Remove unused asm constants across all architectures - Re-order header inclusion order to put gcenv.h before handletable - Remove retail only sync block code involving appdomain index
2017-06-12[Arm64/Unix] Add 64K page support (#10981)Steve MacLean1-0/+6
* [Arm64/Unix] Support 64K pages * GC move GCToOSInterface::Initialize() into InitializeGarbageCollector()
2017-02-15Remove never defined FEATURE_UEF_CHAINMANAGERdanmosemsft1-4/+0
2017-02-14Remove never defined FEATURE_REMOTINGdanmosemsft1-3/+0
2017-01-06[Local GC] Move Software Write Watch's write barrier updates to ↵Sean Gillespie1-2/+0
GCToEEInterface::StompWriteBarrier (#8605) * Move Software Write Watch's write barrier updates to use the new GCToEEInterface::StompWriteBarrier to stomp the EE's write barrier. * Address code review feedback, move SetCardsAfterBulkCopy to EE side of the interface
2016-11-16Enable GCToOSInterface to be defined on the GC side of the GC interface (#8121)Sean Gillespie1-2/+0
* Re-introduce changes lost in a merge conflict * Enable GCToOSInterface to be defined behind the GC interface when building the GC in standalone mode. Provide a skeleton Windows implementation and the framework for a Unix implementation. * Address code review feedback
2016-09-28Add option to measure time spent inside calls to the CLR. (#7357)Peter Kukol1-0/+1
* Add option to measure time spent inside calls to the CLR (off by default).
2016-09-26Introduce "IGCToCLR" and use it within the GC to interface with the EE (#7295)Sean Gillespie1-1/+0
* Introduce a feature define FEATURE_STANDALONE_GC that allows the GC to communicate with the EE through a virtual interface. * Split GCToEEInterface definition out of gc.h into its own header * Address code review feedback * Address code review feedback
2016-04-12Implement software write watch and make concurrent GC functional outside WindowsKoundinya Veluri1-0/+2
- Implemented software write watch using write barriers - A new set of write barriers is introduced, each corresponding to an existing one, but which also updates the write watch table. The GC switches to a write watch barrier during concurrent GC, and switches back to a non write watch barrier after the final query for dirty pages. - The write watch table is alloacted along with the card table - Since the card table is used differently, different synchonization is used for the write watch table. The runtime is suspended during resize since that is the most infrequently occuring operation, of that, ResetWriteWatch, and GetWriteWatch. - ResetWriteWatch() doesn't need a suspend, but since the software WW version is much faster than the Windows version, moved it into the suspended region to avoid some synchronization that would otherwise be required - The background calls to GetWriteWatch() don't need or do a suspend. They only need to synchronize with the resize path, not for the purpose of correct functionality, but to not miss dirty pages such that concurrent GC is effective. Miscellaneous: - Fixed runtests.sh to copy mscorlib.dll and delete the Windows version of mscorlib.ni.dll
2016-01-27Update license headersdotnet-bot1-4/+3
2016-01-26Update GC from CoreRTJan Kotas1-0/+6
https://github.com/dotnet/corert/tree/master/src/Native/gc 0dcc350dae128b6fcca6b1ed74b580ed3240460a
2015-12-24GC OS interface refactoringJan Vorlicek1-88/+6
This change replaces all calls of OS specific functions in the GC by a call to a platform agnostic interface. Critical sections were abstracted too. The logging file access was changed to use CRT functions instead of Windows specific APIs. A "size" member was added to the card_table_info so that we can pass the right size to the VirtualRelease method when destroying the card table. I have also fixed a bug in the gc_heap::make_card_table error path where when VirtualCommit failed, it called VirtualRelease with size that was not the reserved size, but the committed size. Other related changes - All interlocked operations moved to Interlocked class as static methods - Removed unused function prototypes - Shuffled stuff in the root CMakeLists.txt to enable building the GC sample using the settings inherited from the root CMakeLists.txt and to clean up some things that have rotted over time, like the FEATURE_xxx macros not being in one alphabetically ordered block - Fixed the VOLATILE_MEMORY_BARRIER macro in the gcenv.base.h - Replaced uint32_t thread id by EEThreadId - Removed thread handles storage (g_gc_thread) from the GC. The thread handle is closed right after the thread is launched. That allowed me to get rid of the GCThreadHandle - Renamed the methods of the EEThreadId to be easier to understand - Moved the gcenv.windows.cpp and gcenv.unix.cpp to the sample folder
2015-12-08Fix build breaks after GC updateJan Kotas1-5/+4
2015-11-20Fix build breaks after GC updateJan Kotas1-1/+17
2015-11-18Replace most windows style types by c++ typesJan Vorlicek1-1/+1
This change replaces DWORD, LONGLONG, ULONGLONG, SIZE_T, BYTE, LONG32 and few more by standard c++ types. The DWORD still remains present in signatures of Windows APIs used by the GC. There are few issues with those that need to get fixed.
2015-10-15Cleanup GC-EE InterfaceJan Kotas1-0/+28
- Add proper abstractions for threading methods to GCToEEInterface - Split sample gcenv into multiple files to avoid redundant content - Add handle table methods needed by .NET Native WinRT implementation Part of #1550
2015-01-30Initial commit to populate CoreCLR repo dotnet-bot1-0/+108
[tfs-changeset: 1407945]