From 463afcd8127d9328096c19013edfc8c4f4a80624 Mon Sep 17 00:00:00 2001 From: Richard Brooksby Date: Sun, 27 Mar 2016 12:13:53 +0100 Subject: [PATCH] Implementing ``rangesetbase`` and ``rangesetlimit`` function equivalents. Copied from Perforce Change: 190446 ServerID: perforce.ravenbrook.com --- mps/code/range.c | 14 ++++++++++++++ mps/code/range.h | 2 ++ 2 files changed, 16 insertions(+) diff --git a/mps/code/range.c b/mps/code/range.c index f535fed85f7..a9627e39077 100644 --- a/mps/code/range.c +++ b/mps/code/range.c @@ -107,6 +107,20 @@ Addr (RangeLimit)(Range range) return RangeLimit(range); } +void (RangeSetBase)(Range range, Addr addr) +{ + AVERT(Range, range); + AVER(addr >= RangeBase(range)); + RangeSetBase(range, addr); +} + +void (RangeSetLimit)(Range range, Addr addr) +{ + AVERT(Range, range); + AVER(addr <= RangeLimit(range)); + RangeSetLimit(range, addr); +} + Size (RangeSize)(Range range) { AVERT(Range, range); diff --git a/mps/code/range.h b/mps/code/range.h index 5ef6371ad8f..1275f1fa3d2 100644 --- a/mps/code/range.h +++ b/mps/code/range.h @@ -35,6 +35,8 @@ extern Bool RangesNest(Range outer, Range inner); extern Bool RangesEqual(Range range1, Range range2); extern Addr (RangeBase)(Range range); extern Addr (RangeLimit)(Range range); +extern void (RangeSetBase)(Range range, Addr addr); +extern void (RangeSetLimit)(Range range, Addr addr); extern Size (RangeSize)(Range range); extern void RangeCopy(Range to, Range from);