<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'><span style="font-size: 12pt; "> Ideally:</span><br><div>  1 32bit host could target 64bit target </div><div>  2 32bit texts could be as large as the address space/OS allows. </div><div>  3 ditto 64bit texts -- larger than 4GB </div><div>  4 be unpicklable between 32bit and 64bit, as long as they fit into the address space.</div><div> </div><div>  </div><div> Currently only #4 is true. </div><div> TEXTs for any target can only be about 500MB. </div><div><br></div><div><br></div><div> To fix 2 and 3 requires m3front to use TInt more.</div><div>  </div><div><br></div><div> This fixes #1 and likely breaks #4. Cutting the limit just a little. </div><div> Can we special case somehow?</div><div> Is there some construct we can use that has no stated limit, like 0..cnt - 1?</div><div> Should/can we introduce one?</div><div><br></div><div>  </div><div>jbook2:src jay$ git diff  "../src/text/TextLiteral.i3"</div><div>diff --git a/m3-libs/m3core/src/text/TextLiteral.i3 b/m3-libs/m3core/src/text/TextLiteral.i3</div><div>index fa72589..4d16a44 100644</div><div>--- a/m3-libs/m3core/src/text/TextLiteral.i3</div><div>+++ b/m3-libs/m3core/src/text/TextLiteral.i3</div><div>@@ -14,7 +14,7 @@ IMPORT RTHooks, TextClass;</div><div> CONST</div><div>  (* DIV BITSIZE should not be here! *)</div><div>  (* MaxBytes = LAST (INTEGER) DIV BITSIZE (Byte) - 7 - 8 * ORD(BITSIZE(INTEGER) = 64); *)</div><div>- MaxBytes = 16_7FFFFFFF DIV BITSIZE (Byte) - 7; </div><div>+ MaxBytes = 16_7FFFFFFF DIV BITSIZE (Byte) - 15; </div><div>     (* - 8 * ORD(BITSIZE(INTEGER) = 64) *) </div><div>     (* Do not adjust this for INTEGER size.  It makes T have different </div><div>        fingerprints on 32- and 64-bit machines, which undermines pickling/</div><div><br></div><div><br></div><div><br></div><div>otherwise we have:</div><div><br></div><div><br></div><div><div>new source -> compiling TextLiteral.i3</div><div>"../src/text/TextLiteral.i3", line 27: CM3 restriction: record or object type is too large</div><div>1 error encountered</div></div><div><br></div><div><br></div><div> Ok?</div><div> </div><div><span style="font-size: 12pt; "> </span></div><div>  - Jay</div>                                           </div></body>
</html>