[m-rev.] For review: Implement support for threadscope profiling.

Paul Bone pbone at csse.unimelb.edu.au
Thu Dec 10 16:39:08 AEDT 2009


On Fri, Dec 04, 2009 at 10:13:35AM +1100, Zoltan Somogyi wrote:
> Step 4: test the hell out of every existing grade as well as the new one,
> to make sure you haven't broken anything.
>

I'm now trying to enumerate every testable grade but I have some questions
about which grades will bootstrap and run the test suite.  Of course I can
compare this with a clean checkout and what it can bootstrap.  Also some grades
are experimental and some grade component combinations are invalid.  I'm also
considering only C grades, not Java, Erlang or IL.

I'm looking at the "Grades and Grade Components" section of the User's Guide.

    http://www.mercury.csse.unimelb.edu.au/information/doc-latest/mercury_user_guide/Grades-and-grade-components.html#Grades-and-grade-components

For garbage collection.  We have gc, mps and agc (and none).  I know the
compiler won't bootstrap without garbage collection, so I won't test that.  The
documentation says that agc isn't supported in low level C grades.  asside from
that can I expect agc and mps to work?  The user guide doesn't cover mps, it's
not even their in a commented out state.

There appear to be a number of experimental and seldom-used options including
--record-term-sizes-as-{words|cells}, rbmm, ssdebug, minimal model grades,
ll_debug, (--extend-stacks-when-needed).  Should these be tested.

So far I have these grades to test:

    asm_fast.gc
    asm_fast.mps
    asm_fast.gc.par
    asm_fast.mps.par
    asm_fast.gc.par.threadscope
    asm_fast.mps.par.threadscope
    asm_fast.gc.prof
    asm_fast.mps.prof
    asm_fast.gc.memprof
    asm_fast.mps.memprof
    asm_fast.gc.profdeep
    asm_fast.mps.profdeep
    asm_fast.gc.tr
    asm_fast.mps.tr
    asm_fast.gc.trseg
    asm_fast.mps.trseg
    asm_fast.gc.debug
    asm_fast.mps.debug
    asm_fast.gc.decldebug
    asm_fast.mps.decldebug
    asm_fast.gc.stseg
    asm_fast.mps.stseg
    asm_fast.gc.par.stseg
    asm_fast.mps.par.stseg
    asm_fast.gc.par.threadscope.stseg
    asm_fast.mps.par.threadscope.stseg
    asm_fast.gc.prof.stseg
    asm_fast.mps.prof.stseg
    asm_fast.gc.memprof.stseg
    asm_fast.mps.memprof.stseg
    asm_fast.gc.profdeep.stseg
    asm_fast.mps.profdeep.stseg
    asm_fast.gc.tr.stseg
    asm_fast.mps.tr.stseg
    asm_fast.gc.trseg.stseg
    asm_fast.mps.trseg.stseg
    asm_fast.gc.debug.stseg
    asm_fast.mps.debug.stseg
    asm_fast.gc.decldebug.stseg
    asm_fast.mps.decldebug.stseg
    hlc.gc
    hlc.mps
    hlc.agc
    hlc.gc.par
    hlc.mps.par
    hlc.agc.par
    hlc.gc.par.threadscope
    hlc.mps.par.threadscope
    hlc.agc.par.threadscope
    hlc.gc.tr
    hlc.mps.tr
    hlc.agc.tr
    hlc.gc.trseg
    hlc.mps.trseg
    hlc.agc.trseg
    hlc.gc.prof
    hlc.mps.prof
    hlc.agc.prof
    hlc.gc.memprof
    hlc.mps.memprof
    hlc.agc.memprof

This seems like a hell of a lot.  I don't think I need to test all these since
I haven't modified anything that should cause, for example, mps to break but not
boehm.  However all it will cost is time.  I'm considering using my VPAC account
to run these tests on their cluster, or making use of the department cluster.

What else should I test?  What can I avoid testing?

Thanks.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 489 bytes
Desc: Digital signature
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20091210/0785d4f9/attachment.sig>


More information about the reviews mailing list