<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'>Agreed.<div><br><div><br></div><div>TRY<br><div>FOR i := 1 TO 100 DO</div><div> TRY</div><div><span style="font-size: 12pt; "> FOR j := 1 TO 100 DO</span></div><div> END;</div><div> FINALLY</div><div>END</div><div>FINALLY</div><div><br></div><div>should have two variables, allocate 2 * sizeof(jmpbuf), call alloca twice (most likely -- obviously it could be optimized), not 200 times.</div><div><br></div><div><br></div><div> - Jay<br><br><br><div><div id="SkyDrivePlaceholder"></div><hr id="stopSpelling">CC: m3devel@elegosoft.com<br>From: antony.hosking@gmail.com<br>Subject: Re: [M3devel] another reminder -- jmpbuf size independence?<br>Date: Thu, 4 Oct 2012 09:25:14 -0400<br>To: jay.krell@cornell.edu<br><br><div>Don't you need separate jmpbuf per exception scope?</div><div><br>Sent from my iPad</div><div><br>On Oct 4, 2012, at 1:45 AM, Jay K <<a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a>> wrote:<br><br></div><div></div><blockquote><div>
<style><!--
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:12pt;font-family:Calibri;}
--></style>
<div dir="ltr">Along with cooperative suspend, it'd be great if jmpbuf size was not known to cm3.<div>We know roughly how to fix this -- use alloca(Csetjmp_jmpbuf_size).</div><div>At function entry. Not in any loop.</div><div>Or possibly in loop, but with a null check.</div><div>VAR jmpbuf: ADDRESS := NIL;</div><div>LOOP</div><div> IF jmpbuf = NIL THEN jmpbuf := alloca(Csetjmp_jmpbuf_size); END;</div><div><br></div><div><br></div><div>:)</div><div><br></div><div><br></div><div>Granted, I want all layout optionally out of the frontend, and this is only part of the problem.</div><div><span style="font-size:12pt"><br></span></div><div><span style="font-size:12pt"><br></span></div><div>Thanks,</div><div> - Jay<br><br><br></div> </div>
</div></blockquote></div></div></div></div> </div></body>
</html>