[M3devel] elimining builder.C mode (instead IntegratedObject and another boolean)
Jay K
jay.krell at cornell.edu
Mon Sep 21 18:31:53 CEST 2015
I guess it makes sense to be in Builder, just that it can be a separate booland not a mode. The code will almost be identical to today, and not clearlydemonstrate the lack of a need for a mode. Alas.
- Jay
From: jay.krell at cornell.edu
To: hosking at purdue.edu
CC: m3devel at elegosoft.com
Subject: RE: [M3devel] elimining builder.C mode (instead IntegratedObject and another boolean)
Date: Mon, 21 Sep 2015 04:45:37 +0000
There is more value in putting this in builder -- logic around file name formation, "keep", and "bootstrap".I'm undecided.
- Jay
Subject: Re: [M3devel] elimining builder.C mode (instead IntegratedObject and another boolean)
From: hosking at purdue.edu
Date: Mon, 21 Sep 2015 14:28:34 +1000
CC: m3devel at elegosoft.com
To: jay.krell at cornell.edu
Oh ok.
Sent from my iPhone
On Sep 21, 2015, at 12:58 PM, Jay K <jay.krell at cornell.edu> wrote:
I believe we really only need 4 modes.Internal or Externalproduces object or assembly
All the other modes are unnecessary.I will do my part and eliminate the one I added.Hopefully leading the way to eliminating all the LLVM modes.
C backend certainly supported, I just didn't expose it in the ideal way.
- Jay
Subject: Re: [M3devel] elimining builder.C mode (instead IntegratedObject and another boolean)
From: hosking at purdue.edu
Date: Mon, 21 Sep 2015 12:49:19 +1000
CC: m3devel at elegosoft.com
To: jay.krell at cornell.edu
What is the benefit of doing this? It would seem to me to be nicer to retain the existing modes.
Sent from my iPhone
On Sep 21, 2015, at 12:22 PM, Jay K <jay.krell at cornell.edu> wrote:
I want remove the C mode from the builder and just use IntegratedObject.The goal is to expose Builder.RunCC to M3C. Something like: add some data to MC3CG_Op.TI wouldn't bother with "set" functions. I'm also not making them module global -- this could be globals in M3C.But I want to preserve the illusion that things can be easily made multi-threaded (m3front structuring very much to the contrary...)
The data will be: declare Builder.State <: REFANY in Builder.i3 M3CG_Ops should get RunCCState: Builder.State; OR BuilderState: Builder.State;
keep_files: BOOLEAN; PROCEDURE RunCC (s: State; source, object: TEXT; debug, optimize: BOOLEAN; include_path: Arg.List): BOOLEAN (* Success. *); or possibly: PROCEDURE RunCC (s: State; source, object: TEXT): BOOLEAN (* Success. *); or possibly: PROCEDURE RunCC (s: State; source: TEXT; u: M3Unit.T): BOOLEAN (* Success. *) include_path isn't really needed here.
also: M3Backend.PROCEDURE Open (target: Wr.T; target_name: TEXT; backend_mode: M3BackendMode_t): M3CG.T;
should be changed to: PROCEDURE Open (m3file: TEXT; target: Wr.T; target_name: TEXT; backend_mode: M3BackendMode_t): M3CG.T;
ok?
- Jay
_______________________________________________
M3devel mailing list
M3devel at elegosoft.com
https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20150921/a8ae4116/attachment-0002.html>
More information about the M3devel
mailing list