<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'>cost of opaque types<br><br><br>fyi:<br><br>    PutI(cstr("Public.F1.a.c"), a.c);<br><br><br>PutI == put_adr<br>L_22_L_23 the string<br>L_26_L_27 == a<br>8 is the "public offset" of c<br>M_Public_L_19 globals for Public.m3<br><br><br>everything else is the computation of the "public base" of a from the base of a<br><br><br>actual C backend output cm3/m3-sys/m3tests/src/p2/p253/AMD64_DARWIN/Public.m3.c<br><br><br>put_adr(((ADDRESS)(L_22_L_23)),((ADDRESS)(((8)+(ADDRESS)(((ADDRESS)((((ADDRESS)(L_26_L_27))+(1* /* cast_removed2: INT64 */ *((INT64*)(M3_INT64(112)+((ADDRESS)(*((ADDRESS * )(M3_INT64(176)+((ADDRESS)((ADDRESS)&M_Public_L_19)))))))))))))))));<br><br><br>simplify slightly (how I wish it got printed...):<br><br>put_adr(L_22_L_23,8 + L_26_L_27 + *(INT64*)(112 + *(ADDRESS*)(176 + (ADDRESS)&M_Public_L_19)));<br><br><br><br>I still have to track down the whole "recompile again now that offsets are known" path.<br><br><br><br> - Jay<br>                                    </div></body>
</html>