Hello Egor,
I finally got a chance to read through your code. It is well
designed, and correct (as far as I can tell). I especially like the
way that the upper bounds solver works as the lower bounds solver
simply by flipping a flag (and both operate on the same inequality
graph). Very nice!
I made some changes that you might be interested in, which I've
uploaded in the form of a patch. They are (in the order they appear
in the patch file):
1) In updateMemDistanceWithPredecessors, it should not be possible
for the dest operand to have a usable memoized value. This is simply
because if it did, updateMemDistanceWithPredecessors would not have
been called. I therefore replaced some code with an assert.
2) Also in updateMemDistanceWithPredecessors, I added an
optimization. Essentially, we can take advantage of ProveResult
being a lattice (i.e. is monotonic) to prevent some recursive proofs.
3) I fixed a small error in testDoubleCycleGraph().
4) Fixed a gcc 4.1.1 syntax error in the header.
Once again, your code is very good. It is also nice that it matches
the algorithm outlined in the ABCD paper wherever possible.
Is there something else I can do to help?
Naveen
On Sep 26, 2006, at 3:50 AM, Egor Pasko wrote:
On the 0x1EF day of Apache Harmony Naveen Neelakantam wrote:
Naveen, I am glad to see someone interested in ABCD. Hope for
collaboration and a lot of fun with the code :)
I attached my solver to HARMONY-1564 (oops, sorry for .tar.gz, I am so
used to it:) It is just the implementation of the solver with a number
of tests to play with. Though, it depends on Log.h, Stl.h and types.h
and is better placed in working_vm/vm/jitrino/src/optimizer/abcd as I
expected to place it.
To make it real need to create InequalityGraph from HIR, that's what I
started to do already. Not finished, unfortunately. I will publish the
sketches if you are eager to see them ASAP. I guess, it will take some
time for you to play with the solver, though :)
Plz, do not hesitate to ask any question on the code. I pretend that
it should be a more easy read than the present implementation. So, I
would appreciate any comments.
It makes sense to make a separate JIRA for our ABCD
improvements. That's a TODO.
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]