summaryrefslogtreecommitdiff
path: root/deps/v8/src/base/address-region.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/base/address-region.h')
-rw-r--r--deps/v8/src/base/address-region.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/deps/v8/src/base/address-region.h b/deps/v8/src/base/address-region.h
index 1fdc479f6f..0f4809f9e8 100644
--- a/deps/v8/src/base/address-region.h
+++ b/deps/v8/src/base/address-region.h
@@ -45,6 +45,13 @@ class AddressRegion {
return contains(region.address_, region.size_);
}
+ base::AddressRegion GetOverlap(AddressRegion region) const {
+ Address overlap_start = std::max(begin(), region.begin());
+ Address overlap_end =
+ std::max(overlap_start, std::min(end(), region.end()));
+ return {overlap_start, overlap_end - overlap_start};
+ }
+
bool operator==(AddressRegion other) const {
return address_ == other.address_ && size_ == other.size_;
}