[MLton-devel] working with polyspace

Stephen Weeks MLton@mlton.org
Wed, 17 Apr 2002 11:45:11 -0700


I am pleased to announce that I have just entered into a contract with
PolySpace that will run from June through Decemeber, and will involve
my working full time on improvements to MLton to benefit PolySpace
products.

PolySpace is a startup based in France that sells software that does
static analysis of C code for the purposes of early error detection.
They have about 25 people in their company and quite a few customers
(see their web site).  They have 300K lines of SML code (!) that they
are compiling with MLton, and use the resulting executables as a large
part of their product offering.  The code compiled with MLton does the
core static analysis, and runs on X86 and SPARC (they modified the C
codegen).  They have some other tools written in Java/C++ for
visualization of the output of the analysis.

My mandate is to help improve the performance of their analysis tool,
and includes three components.

1. Garbage collector improvements
2. SPARC C codegen improvements
3. Compiler improvements

For (1) I plan to build a mark-compact GC (using Jonkers threading)
and a generational GC, using stop-and-copy for the young 
generation and mark-compact for the old generation, with card marking
for intergenerational pointers.  Their main problem is huge (1G) live
data sets causing swapping so a mark-compact could really help here.

For (2) I plan to incorporate their changes into the mainline of MLton
development, add a cross-compiler from X86 to SPARC, and try to do
other stuff to speed up C codegen compile times.

For (3) I plan to implement array bounds checking and some
representation optimizations (like flattening arrays of tuples).

I hope I can get all this done by December.  We'll see.


BTW, this is not public yet, so don't send mail to, e.g., my current
employer :-).

_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel