projectodd/rephract — pull request #3 by akiellor (2013-07-22 16:37:40+00:00)
Title: Failing test for replanning on multiple invocations for java methods.

This branch is just a failing test for a performance issue with invocation of java methods.

It looks like the guard invalidates the callsite on every invocation which results in a replan. Also, as replanning happens for every invocation it becomes progressively slower as it replans more links.

The guard expects the receiver to be assignable from self, in the case illustrated by the test this results in a guard test failure as the receiver (DynamicMethod) is not assignable from self (Cheese).

I'm not sure what the correct behaviour is here, but wanted to raise the issue all the same.

Also, in dynjs this issue presents itself as java integration being horrendously slow for any more than a few thousand invocations of an individual java method.