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]

Reply via email to