<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
There is fairly little target-dependent-ness in our system, aside from the gcc code.<br><br>I would like to reduce it.<br><br>There are a few forms:<br><br>There is dependency on word size.<br>  This I don't see removing any time soon, given<br>  that the front end does layout of records and<br>  computation of field offsets.<br> <br><br>There is dependency on jumpbuf size.<br>  We mostly know how to remove this, but have failed so far.<br>  The generated code should use alloca for the locals.<br>  (and even then, longer term, don't use setjmp/longjmp).<br>  <br>  <br>We have these big arrays of targets, esp. in m3middle/src/Target.i3:<br>    PA32_HPUX,<br>    PA64_HPUX,<br>    PPC32_OPENBSD,<br>    PPC64_DARWIN,<br>    PPC_DARWIN,<br>    PPC_LINUX,<br>    ...<br><br>    <br>Many of the dependencies are really per architecture or per kernel,<br>not per architecture x kernel combination.<br>So this almost-cross product seems dumb.<br>Suggestions?<br><br><br>There is dependency on endianness.<br>This is what I'm really focusing on.<br>I think this only matters for interop with C bitfields.<br>We have no C bitfields in our system now.<br>And the frontend and backend I think have to agree...oh, nevermind, I don't see that in parse.c<br><br> > Aligned_procedures<br> <br>Just be safe and assume this is always false?<br>Or it is a nice optimization on the common x86/AMD64 platforms?<br><br><br> > First_readable_addr<br> <br> Just hardcode this as 4K?<br> Instead of the slight optimization of setting it to 8K for SPARC?<br> <br> > Allow_packed_byte_aligned<br> <br>The safe value here is false.<br>We set it to true only for x86/AMD64.<br>I think true is probably safe for all architectures but older Alphas.<br>?<br><br><br> > Setjmp<br> <br>This has the same value on platforms except VMS.<br>We can maybe provide a portably-named wrapper?<br>Maybe not, since this function is kind of special.<br><br><br>I have to go..<br><br> - Jay<br>                                          </div></body>
</html>