On 05/01/2011 11:01 PM, Mark Roos wrote:
In the Smalltalk I am porting the solution they use is to just drop the entire chain and let it reform. The assumption would be that for any short time period in the life of a program no sites are megamorphic. the metric they use is the total amount of active code. Since they actually drop all compiled code when it hits 1 meg they have an easy way of determining the active
code amount.

There are some well known API in which this assumption is not true.
GUI API like Swing (think setVisible) or parser AST visitor (think accept).

I don't know if it's still the case but V8 (google javascript engine) was using
a similar idea, it flush all callsites when a full GC occurs.


What I was thinking of was just dropping the gwt chain when it reached some depth. The question is what depth. I think I'll add a counter to the call site just to see what happens.

It would be nice to have a way to walk the chain but I don't see an method to get the original
mh from a mh adapter.

MethodHandle reflection is one item of the issue list for JSR 292 the return.


regards
mark

cheers,
Rémi

_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to