[M3devel] what "M3CG_MultiPass" is for
Jay K
jay.krell at cornell.edu
Fri Sep 28 13:05:16 CEST 2012
Tony, this should demonstrate the direction I'm taking.See esp. "GetStructSizes_t" in M3C.m3.I'm able to insert additional passes over a straightforward in-memory form of M3CG.I'll be adding more. Just in M3C.m3.I think it will provide for a nice factoring of the code.
- Jay
> Date: Fri, 28 Sep 2012 12:50:15 +0000
> To: m3commit at elegosoft.com
> From: jkrell at elego.de
> Subject: [M3commit] CVS Update: cm3
>
> CVSROOT: /usr/cvs
> Changes by: jkrell at birch. 12/09/28 12:50:15
>
> Modified files:
> cm3/m3-sys/m3back/src/: M3C.m3
> ./: M3C.m3
> cm3/m3-sys/m3middle/src/: M3CG_DoNothing.i3 M3CG_DoNothing.m3
> M3CG_MultiPass.i3 M3CG_MultiPass.m3
> m3makefile
>
> Log message:
> first use of multipass:
> make an extra pass to discover all struct sizes,
> so all structs can be predeclared, and no extra
> (eventually to be replaced by better typing, but this
> is useful in the current context)
>
> Also, to ensure M3C.T implements all METHODS of M3CG_Ops.Public,
> derive it from M3CG_AssertFalse.T instead of the bogus M3CG.T.
>
> M3CG_MultiPass:
> in end_unit, flatten into plain public array instead of slower sequence
> separate out per-op also, since sometims that provides for optimization
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20120928/8a320644/attachment-0001.html>
More information about the M3devel
mailing list