[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