<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Ideally I could have a TextLiteral on a 64bit machine larger than 2GB or 4GB.<br>I would not be able to unpickle it on a 32bit machine and that would be ok.<br><br><br>There a long standing problem though anyway in the frontend where INTEGER<br>is used in place of TInt.T or LONGINT, giving 32bit limits to 64bit targets.<br><br><br>I put in a hack actually to change MaxBytes to be a 32bit limit, to fix<br>cross compiling from 32bit to 64bit. Maybe this is something different though.<br><br><br>I realize that is quite a TextLiteral but I think, generally, if it fits in target address space, it should work.<br>Heck, we should think about "persistant disk based" data structures that don't even fit in memory.<br>e.g. file systems, movies, etc.<br><br><br> - Jay<br><br><br><div>> Date: Sat, 3 Aug 2013 00:25:54 +0000<br>> To: m3commit@elegosoft.com<br>> From: rodney@elego.de<br>> Subject: [M3commit] CVS Update: cm3<br>> <br>> CVSROOT:   /usr/cvs<br>> Changes by:      rodney@birch.   13/08/03 00:25:54<br>> <br>> Modified files:<br>>    cm3/m3-libs/libm3/src/pickle/ver2/: Tag: devel_unicode <br>>                                       Pickle2.m3 <br>> <br>> Log message:<br>>         An almost solution to the problem of TextLiteral.T's having MaxBytes<br>>      dependent on word size, making pickling of TextLiteral.T fail across<br>>      different word sizes.<br>>     <br>>  Hard code the fingerprint for the 64-bit case and translate it to<br>>         the one for 32-bit systems, in pickles. Also vice-versa.<br>>  <br>>  The best long-term solution also involves making TextLiteral.MaxBytes<br>>     word-size-independent.  This could invalidate some preexisting pickles,<br>>   but only if they contain heap objects with a field or element with<br>>        declared static type TextLiteral.T, which seems quite unlikely.  If<br>>       such fields/methods are declared as TEXT, the actual allocated type of<br>>    their referents can be TextLiteral.T and all will work.<br>> <br></div>                                      </div></body>
</html>