[m-rev.] for post-commit review: fix mantis bug 361
Julien Fischer
jfischer at opturion.com
Fri Sep 19 13:51:22 AEST 2014
On Thu, 18 Sep 2014, Paul Bone wrote:
> I like this and I think it's a step in the right direction. However it's
> still a leaky abstraction, by an ideal goal I was thinking of a system with
> many fewer grades (normal, debugging, profiling) and definitly not multiple
> backends to the same target language. I beleive this matches what users
> want without adding unnecesary complexity, however it's extreamly
> hypothetical and not something that realistically matches the Mercury
> project in it's current form or with it's design goals (eg: not paying for a
> feature like parallelism or trailing when your program doesn't use it).
You've moved on to a different problem there, reducing the number of
grades and that's a different discussion.
BTW, the two "C" backends do not target the same language: the
high-level backend targets standard C (or at least it's supposed to),
the low-level C backend targets GNU C (usually) + a bunch of inline
assembler.
Actually, I note that the compiler attempts to install the libraries in
14 different grades by default on OS X when using clang (i.e. when we
can't use the asm_fast grades), namely:
csharp
hlc.gc
hlc.gc.memprof
hlc.gc.prof
hlc.gc.trseg
hlc.par.gc
java
none.gc
none.gc.debug.stseg
none.gc.debug.trseg.stseg
none.gc.decldebug.stseg
none.gc.prof
none.gc.profdeep
none.par.gc.stseg
That may be getting a bit excessive ;-)
Cheers,
Julien.
More information about the reviews
mailing list