aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code/mpm.h
diff options
context:
space:
mode:
Diffstat (limited to 'mps/code/mpm.h')
-rw-r--r--mps/code/mpm.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/mps/code/mpm.h b/mps/code/mpm.h
index 371319aeee6..979ccaec360 100644
--- a/mps/code/mpm.h
+++ b/mps/code/mpm.h
@@ -405,11 +405,14 @@ extern double TraceWorkFactor;
405 405
406#define TRACE_SCAN_BEGIN(ss) \ 406#define TRACE_SCAN_BEGIN(ss) \
407 BEGIN \ 407 BEGIN \
408 Shift SCANzoneShift = (ss)->zoneShift; \ 408 /* Check range on zoneShift before casting to Shift. */ \
409 ZoneSet SCANwhite = (ss)->white; \ 409 AVER((ss)->zoneShift < MPS_WORD_WIDTH); \
410 RefSet SCANsummary = (ss)->unfixedSummary; \ 410 { \
411 Word SCANt; \ 411 Shift SCANzoneShift = (Shift)(ss)->zoneShift; \
412 { 412 ZoneSet SCANwhite = (ss)->white; \
413 RefSet SCANsummary = (ss)->unfixedSummary; \
414 Word SCANt; \
415 {
413 416
414/* Equivalent to <code/mps.h> MPS_FIX1 */ 417/* Equivalent to <code/mps.h> MPS_FIX1 */
415 418
@@ -431,8 +434,9 @@ extern double TraceWorkFactor;
431/* Equivalent to <code/mps.h> MPS_SCAN_END */ 434/* Equivalent to <code/mps.h> MPS_SCAN_END */
432 435
433#define TRACE_SCAN_END(ss) \ 436#define TRACE_SCAN_END(ss) \
437 } \
438 (ss)->unfixedSummary = SCANsummary; \
434 } \ 439 } \
435 (ss)->unfixedSummary = SCANsummary; \
436 END 440 END
437 441
438extern Res TraceScanArea(ScanState ss, Addr *base, Addr *limit); 442extern Res TraceScanArea(ScanState ss, Addr *base, Addr *limit);