summaryrefslogtreecommitdiff
path: root/src/gc/softwarewritewatch.h
diff options
context:
space:
mode:
authorSteve MacLean <sdmaclea.qdt@qualcommdatacenter.com>2017-06-08 19:02:33 -0400
committerMaoni Stephens <Maoni0@users.noreply.github.com>2017-06-08 16:02:33 -0700
commit4af0f91b0f3b9a99b8cb9bc3551576494b058732 (patch)
tree54b855573e05e30f41086d7e9713741295ebbd63 /src/gc/softwarewritewatch.h
parent46201b3b92bcacfff7518bf98b3627879158c322 (diff)
downloadcoreclr-4af0f91b0f3b9a99b8cb9bc3551576494b058732.tar.gz
coreclr-4af0f91b0f3b9a99b8cb9bc3551576494b058732.tar.bz2
coreclr-4af0f91b0f3b9a99b8cb9bc3551576494b058732.zip
[Arm64/Unix] Fix SOFTWARE_WRITE_WATCH for 64K pages (#11413)
* Decouple Software Write Watch from page size * Use WRITE_WATCH_UNIT_SIZE in revisit_written_page(s) * GC add align_write_watch_lower_page
Diffstat (limited to 'src/gc/softwarewritewatch.h')
-rw-r--r--src/gc/softwarewritewatch.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gc/softwarewritewatch.h b/src/gc/softwarewritewatch.h
index 0e6e6c8191..e59fd61d04 100644
--- a/src/gc/softwarewritewatch.h
+++ b/src/gc/softwarewritewatch.h
@@ -8,6 +8,8 @@
#include "gcinterface.h"
#include "gc.h"
+#define WRITE_WATCH_UNIT_SIZE 0x1000
+
#ifdef FEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP
#ifndef DACCESS_COMPILE
@@ -249,7 +251,7 @@ inline void *SoftwareWriteWatch::GetPageAddress(size_t tableByteIndex)
void *pageAddress = reinterpret_cast<void *>(tableByteIndex << AddressToTableByteIndexShift);
assert(pageAddress >= GetHeapStartAddress());
assert(pageAddress < GetHeapEndAddress());
- assert(ALIGN_DOWN(pageAddress, OS_PAGE_SIZE) == pageAddress);
+ assert(ALIGN_DOWN(pageAddress, WRITE_WATCH_UNIT_SIZE) == pageAddress);
return pageAddress;
}