Fw: Re: Re: Re: self-compiling failed

"Baojian Hua" <[email protected]>
Newsgroups gmane.comp.lang.ml.mlton.devel
Message-ID <5233394.779991274323582746.JavaMail.coremail@mailweb>

> -----Original E-mail-----
> From: "Matthew Fluet" <[email protected]>
> Sent Time: 2010-5-19 21:51:36
> To: "Baojian Hua" <[email protected]>
> Cc: mlton <[email protected]>
> Subject: Re: Re: [MLton] self-compiling failed
> 
> On Wed, May 19, 2010 at 9:22 AM, Baojian Hua <[email protected]> wrote:
> > And the document at
> > http://mlton.org/SelfCompiling
> > seems a little out-of-date and not very informative for this.
> 
> Yes, I glanced at that when you mentioned your difficulties, and agree
> that it should be updated.
> 
> > Btw: I'm trying to self-compile MLton for that I'm trying to implement
> > some new optimizations on SSA IL. In this, I've found that the MLton's
> > expert option "-trace" won't work as I expected (it produce nothing).
> > A close look at the code reveals that the Assert.debug is set to false, so
> > it seems that I should set it and then build a "tracable" version. Is this
> > the perfect way to do this? Or else is there another option to control this?
> 
> There are two ways to enable the "-trace" option.
> 
> It is enabled under a SML/NJ build of MLton.  From the root of the
> mlton source tree, a "make smlnj-mlton" will build a SML/NJ heap image
> and copy it to build/lib.  The build/bin/mlton script will prefer a
> MLton build of MLton over a SML/NJ build of MLton, so be sure to
> remove build/lib/mlton-compile.  Because SML/NJ's cutoff recompilation
> is faster than MLton's whole program compilation, this is generally
> the way I work when debugging something like an SSA IL optimization
> pass.
Thanks. But in building with smlnj, the source "ssa/poly-hash.fun" won't
compile. A close look at the code reveals that changing the line 305 to

fun fini (hexp: Dexp.t): Dexp.t = hexp

can shut up the compiler. 

Does this mean a bug in smlnj?

> 
> It is also enabled under a MLton build of MLton that uses "-const
> 'MLton.debug true'".  From the root of the mlton source tree, a "make
> traced" will build such a compiler.  (This target to the root Makefile
> doesn't build everything, so you should only use it after having first
> done a "make".)  Then the build/bin/mlton.trace script will invoke the
> mlton-compile.trace executable that has the "-trace" option enabled.
> This build also enables exception histories, which is often useful for
> debugging.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.