<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
This is getting interesting.<br><br>I have a small local change so that local structs have type information -- as to what fields they contain.<br><br>As a result, you can see like:<br><br>0x001d65b7 in RTType__Expand (M3_DaARCY_m=0x0) at ../src/runtime/common/RTType.m3:719<br>(gdb) info locals<br>M3_BQo8Jp_new = {<br> Bd56fi_0_32_name = 0, <br> D0ztjH_32_32_is_equal = 0, <br> DXHNAh_64_32_rehash = 0, <br> Cwb5VA_96_32_initial_size = 0, <br> Cwb5VA_128_32_full = 0, <br> Cwb5VA_160_32_cnt = 0, <br> Cwb5VA_192_32_max = 0, <br> AcxOUs_224_32_mask = 0, <br> AJWxb1_256_32_map = 0<br>}<br><br>which is a great improvement. It used to only show you the address of the locals.<br><br>*However*, first when I put the change in, gcc would hit infinite recursions, something related to bitfields.<br>So I *again* disabled our wierdo bitfield stuff. That hack is a continuing thorn in my side.<br> Yes it does generate better code, at least when not optimizing. We'd surely be better<br> to get all the type information correct though and use member references. I realize that<br> the frontend "lowers" things generally further than that, it expects a lower level backend<br> than the gcc tree representation is really designed for.<br>Anyway..<br>Then it compiles.<br>But the result crashes. Using -O3.<br><br>And info locals actually prints the locals three times each.<br><br>More to do here..<br><br> - Jay<br> </body>
</html>