[viff-devel] SMCL compiler status
Martin Geisler
mg at daimi.au.dk
Mon Jul 21 06:54:14 PDT 2008
Hi again,
While reading the progress repot I also looked at the code of the
compiler to get a feeling for what it can and cannot do.
Please correct me if I'm wrong, but it seems to go through a number of
standard phases not related to cryptography. Then there are these
three phases:
* Checking of annotations for open() calls -- I think this is part of
the analysis in DefiniteAssignment.java.
* Hoistability check which looks for I/O or assignments to public
variables in the branches of if-statements.
* Conditional expansion where if-statements are turned into
conditional assignments. Loops are also detected in the branches.
I found no support for
* Making things run in parallel (the word "parallel" does not occur at
all in the source code).
* Bounds checking when the protocol needs inputs to be smaller than
the field size (needed in comparisons and new Paillier two-player
runtime).
* Counting multiplications and other stuff for preprocessing.
I could easily have overlooked things -- it's not easy to get an
overview of 14,261 lines of Java code :-)
Is this status summary true? I'm posting it so that we have something
to discuss from when talking about what we want to do in the future.
--
Martin Geisler
More information about the viff-devel
mailing list