[M3devel] cost of opaque types

Dragiša Durić dragisha at m3w.org
Wed Apr 3 15:03:31 CEST 2013


There are languages, C# and Java coming to mind… where people accept a lot more from language/compiler for various reasons. 

:)
--
Dragiša Durić
dragisha at m3w.org



On Apr 3, 2013, at 10:46 AM, Jay K wrote:

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20130403/fc009799/attachment-0002.html>


More information about the M3devel mailing list