summaryrefslogtreecommitdiff
path: root/cheri
diff options
context:
space:
mode:
authorRobert Norton2017-11-01 18:42:17 +0000
committerRobert Norton2017-11-01 18:42:17 +0000
commit40a85677707395199a005c2742304b80be87e117 (patch)
tree9576799000f8c2b12cb7e53cb5a54a7e765e8e4d /cheri
parent8e5d44d17c71cf946e65e15de8df42de2af4c652 (diff)
workaound for another odd interpreter error where top level let variable got truncated to 64 bits...
Diffstat (limited to 'cheri')
-rw-r--r--cheri/cheri_prelude_256.sail4
1 files changed, 2 insertions, 2 deletions
diff --git a/cheri/cheri_prelude_256.sail b/cheri/cheri_prelude_256.sail
index 1b13e408..b2bc8b1f 100644
--- a/cheri/cheri_prelude_256.sail
+++ b/cheri/cheri_prelude_256.sail
@@ -155,12 +155,12 @@ function (bit[257]) memBitsToCapBits256((bool) tag, (bit[256]) b) =
this ensures that canonical null_cap is always all-zeros in memory
even though it may have bits set logically (e.g. length or exponent *)
-let (bit[256]) null_cap_bits = capStructToMemBits256(null_cap)
-
function (bit[256]) capStructToMemBits((CapStruct) cap) =
+ let (bit[256]) null_cap_bits = capStructToMemBits256(null_cap) in
capStructToMemBits256(cap) ^ null_cap_bits
function (bit[257]) memBitsToCapBits((bool) tag, (bit[256]) b) =
+ let (bit[256]) null_cap_bits = capStructToMemBits256(null_cap) in
memBitsToCapBits256(tag, b ^ null_cap_bits)
function (CapReg) capStructToCapReg((CapStruct) cap) =