From ba4e8d364bb350ee94398117f10aa7eb701f922b Mon Sep 17 00:00:00 2001
From: David Lovemore
Date: Thu, 17 May 2012 13:19:45 +0100
Subject: [PATCH] Temporary fixes for 64-bit windows build
Copied from Perforce
Change: 178190
ServerID: perforce.ravenbrook.com
---
mps/code/amssshe.c | 7 ++++++-
mps/code/mpsicv.c | 18 +++++++++++++-----
mps/code/segsmss.c | 7 ++++++-
mps/code/steptest.c | 11 ++++++++---
4 files changed, 33 insertions(+), 10 deletions(-)
diff --git a/mps/code/amssshe.c b/mps/code/amssshe.c
index a042a06d3ed..d80a83f7aaa 100644
--- a/mps/code/amssshe.c
+++ b/mps/code/amssshe.c
@@ -28,7 +28,8 @@
#define totalSizeMAX 800 * (size_t)1024
#define totalSizeSTEP 200 * (size_t)1024
/* objNULL needs to be odd so that it's ignored in exactRoots. */
-#define objNULL ((mps_addr_t)0xDECEA5ED)
+/* @@@@ Temporary fix for W3I6MV build ull */
+#define objNULL ((mps_addr_t)0xDECEA5EDull)
#define testArenaSIZE ((size_t)16<<20)
#define initTestFREQ 6000
static mps_gen_param_s testChain[1] = { { 160, 0.90 } };
@@ -89,7 +90,11 @@ static void *test(void *arg, size_t s)
for(i = 0; i < exactRootsCOUNT; ++i)
exactRoots[i] = objNULL;
for(i = 0; i < ambigRootsCOUNT; ++i)
+/* @@@@ Temporary fix W3I6MV */
+#pragma warning( push )
+#pragma warning( disable : 4306 )
ambigRoots[i] = (mps_addr_t)rnd();
+#pragma warning( pop )
die(mps_root_create_table_masked(&exactRoot, arena,
MPS_RANK_EXACT, (mps_rm_t)0,
diff --git a/mps/code/mpsicv.c b/mps/code/mpsicv.c
index f2d3aa6f2da..0d4fcf88361 100644
--- a/mps/code/mpsicv.c
+++ b/mps/code/mpsicv.c
@@ -29,7 +29,8 @@
#define patternFREQ 100
/* objNULL needs to be odd so that it's ignored in exactRoots. */
-#define objNULL ((mps_addr_t)0xDECEA5ED)
+/* @@@@ Temporary fix W3I6MV ull */
+#define objNULL ((mps_addr_t)0xDECEA5EDull)
#define FILLER_OBJECT_SIZE 1023
#define genCOUNT 2
@@ -261,9 +262,11 @@ static void addr_pool_test(mps_arena_t arena,
mps_bool_t b;
mps_addr_t addr;
/* DISTInguished values are to observe overwrites. */
- mps_pool_t poolDistinguished = (mps_pool_t)0x000d1521;
+ /* @@@@ Temporary fix W3I6MV ull */
+ mps_pool_t poolDistinguished = (mps_pool_t)0x000d1521ull;
mps_pool_t pool = poolDistinguished;
- mps_fmt_t fmtDistinguished = (mps_fmt_t)0x000d1521;
+ /* @@@@ Temporary fix W3I6MV ull */
+ mps_fmt_t fmtDistinguished = (mps_fmt_t)0x000d1521ull;
mps_fmt_t fmt = fmtDistinguished;
/* 0a -- obj1 in pool1 (unformatted) */
@@ -427,13 +430,18 @@ static void *test(void *arg, size_t s)
exactRoots[j] = objNULL;
}
for(j = 0; j < ambigRootsCOUNT; ++j) {
+/* @@@@ Temporary fix W3I6MV */
+#pragma warning( push )
+#pragma warning( disable : 4306 )
ambigRoots[j] = (mps_addr_t)rnd();
+#pragma warning( pop )
}
+/* @@@@ Temporary fix W3I6MV ull */
die(mps_root_create_table_masked(&exactRoot, arena,
MPS_RANK_EXACT, (mps_rm_t)0,
&exactRoots[0], exactRootsCOUNT,
- (mps_word_t)1),
+ (mps_word_t)1ull),
"root_create_table(exact)");
die(mps_root_create_table(&ambigRoot, arena,
MPS_RANK_AMBIG, (mps_rm_t)0,
@@ -474,7 +482,7 @@ static void *test(void *arg, size_t s)
collections = mps_collections(arena);
for(i = 0; i < OBJECTS; ++i) {
- unsigned c;
+ mps_word_t c;
size_t r;
c = mps_collections(arena);
diff --git a/mps/code/segsmss.c b/mps/code/segsmss.c
index 71036b3edbb..c0b18af8f6f 100644
--- a/mps/code/segsmss.c
+++ b/mps/code/segsmss.c
@@ -714,7 +714,8 @@ static mps_class_t mps_class_amst(void)
#define totalSizeMAX sizeScale * 800 * (size_t)1024
#define totalSizeSTEP 200 * (size_t)1024
/* objNULL needs to be odd so that it's ignored in exactRoots. */
-#define objNULL ((mps_addr_t)0xDECEA5ED)
+/* @@@@ Temporary fix W3I6MV */
+#define objNULL ((mps_addr_t)0xDECEA5EDDECEA5ED)
#define testArenaSIZE ((size_t)16<<20)
#define initTestFREQ 6000
#define stressTestFREQ 40
@@ -778,7 +779,11 @@ static void *test(void *arg, size_t s)
for(i = 0; i < exactRootsCOUNT; ++i)
exactRoots[i] = objNULL;
for(i = 0; i < ambigRootsCOUNT; ++i)
+/* @@@@ Temporary fix W3I6MV */
+#pragma warning( push )
+#pragma warning( disable : 4306 )
ambigRoots[i] = (mps_addr_t)rnd();
+#pragma warning( pop )
die(mps_root_create_table_masked(&exactRoot, arena,
MPS_RANK_EXACT, (mps_rm_t)0,
diff --git a/mps/code/steptest.c b/mps/code/steptest.c
index 16477d10f8e..0f357c511ea 100644
--- a/mps/code/steptest.c
+++ b/mps/code/steptest.c
@@ -63,7 +63,8 @@ static int test_number = 0;
/* objNULL needs to be odd so that it's ignored in exactRoots. */
-#define objNULL ((mps_addr_t)0xDECEA5ED)
+/* @@@@ Temporary fix W3I6MV */
+#define objNULL ((mps_addr_t)0xDECEA5EDull)
static mps_pool_t pool;
static mps_ap_t ap;
@@ -83,7 +84,7 @@ double total_clock_time; /* Time spent reading the clock */
long clock_reads; /* Number of times clock is read */
long steps; /* # of mps_arena_step calls returning 1 */
long no_steps; /* # of mps_arena_step calls returning 0 */
-long alloc_bytes; /* # of bytes allocated */
+size_t alloc_bytes; /* # of bytes allocated */
long commit_failures; /* # of times mps_commit fails */
@@ -323,7 +324,11 @@ static void *test(void *arg, size_t s)
for(i = 0; i < exactRootsCOUNT; ++i)
exactRoots[i] = objNULL;
for(i = 0; i < ambigRootsCOUNT; ++i)
- ambigRoots[i] = (mps_addr_t)rnd();
+/* @@@@ Temporary fix W3I6MV */
+#pragma warning( push )
+#pragma warning( disable : 4306 )
+ ambigRoots[i] = (mps_addr_t)rnd();
+#pragma warning( pop )
die(mps_root_create_table_masked(&exactRoot, arena,
MPS_RANK_EXACT, (mps_rm_t)0,