<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
diff attached<BR><BR> <BR>
> Date: Sat, 6 Mar 2010 13:38:38 +0000<BR>> To: m3commit<BR>
> From: jkrell<BR>> Subject: [M3commit] CVS Update: cm3<BR>> <BR>> CVSROOT: /usr/cvs<BR>> Changes by: jkrell@birch. 10/03/06 13:38:38<BR>> <BR>> Modified files:<BR>> cm3/m3-sys/m3back/src/: M3x86.m3 Stackx86.i3 Stackx86.m3 <BR>> <BR>> Log message:<BR>> some cleanup ahead of other fixes (the free_temp problem)<BR>> <BR>> in particular:<BR>> - replace RegSet{} with AllRegisters<BR>> This makes some code a little simpler.<BR>> RegSet{} does mean "anything" and we can<BR>> capture that pretty faithfully via AllRegisters.<BR>> We are lucky we don't have to allocate float registers though,<BR>> that might call for something a little different<BR>> <BR>> - in some places I was extra cautious and ran<BR>> the same old code for size = 1 (data fitting in a single register),<BR>> as well there are places that assume the largest size is 2<BR>> Generalize *some* of that to loop over whatever size, doing<BR>> the "same" thing at each step.<BR>> <BR>> There are still places that say like "if foo[0] and foo[size - 1]"<BR>> which works as long as size can only be 1 or 2.<BR>> <BR>> - fix warning about unreachable code after assert false (the unused,<BR>> untested zero_n)<BR>> <BR><BR>                                    </body>
</html>