Thanks for the commentary to all. I learn something new each time. My use of callsites, lookups etc are such that there are lots of lookups ( at least one per generated callsite + class pair). And lookups vary greatly in time, from a quick IV access to a full generation and compile of the method. Because of this I have not been too thrilled with synchronizing the lookup and thus forcing long waits on threads which could proceed.
While the thought experiment is potentially rare it does show up when I launch multiple threads on the same task. Then the callsite usage tends to overlap and I start to get duplicate GWTs. But is this bad? Or bad enough to add the overhead of collecting GWT chain information and the analysis. It should not cause failures as each callsite will invoke it method. The question is which target update survives. What I need to look at closely is where to sync. There could be issues if changes to the target occur between the get, modify and set target operations. But again one will win and the other will have to lookup again the next time. I am thinking that it will not turn out to be a big deal. regards mark
_______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev