diff options
author | David Wrighton <davidwr@microsoft.com> | 2016-01-14 02:26:02 +0300 |
---|---|---|
committer | David Wrighton <davidwr@microsoft.com> | 2016-01-14 02:26:02 +0300 |
commit | 01c9649895256ecf6eb45d8a3287debf5b3f2ccf (patch) | |
tree | 9307cc7c8bcb44b94990e888401765fbd4bcaa4a /src/Native/Runtime/thread.h | |
parent | 958104ec01624d42f169d48297814d3f69a8c2a2 (diff) |
Explicit Conservative Memory Region Reporting
In implementation of the calling convention converter it has been discovered that we need to conservatively report the callee arguments to the GC in some cases.
This change implements a mechanism for conservative reporting (As discussed with SMosier)
- New mrt100_app api surface for initializing and disabling conservative reporting
- RuntimeAugment that supports using the new conservative reporting. It utilizes the extra call/fixed statement to set up for the correct reporting
- Actual mrt100_app changes to implement conservative reporting (See changes to gcrhenv.cpp)
[tfs-changeset: 1564327]
Diffstat (limited to 'src/Native/Runtime/thread.h')
-rw-r--r-- | src/Native/Runtime/thread.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/Native/Runtime/thread.h b/src/Native/Runtime/thread.h index 9f35fbb78..419e45ff4 100644 --- a/src/Native/Runtime/thread.h +++ b/src/Native/Runtime/thread.h @@ -273,6 +273,7 @@ struct DacScanCallbackData // different references are reported for each void* token; // the callback data passed to GCScanRoots void* pfnUserCallback; // the callback passed in to GcScanRoots + uintptr_t stack_limit; // Lowest point on the thread stack that the scanning logic is permitted to read }; typedef DacScanCallbackData EnumGcRefScanContext; |