RFR: 8003246: Add Supplier to ThreadLocal

Doug Lea dl at cs.oswego.edu
Thu Dec 6 12:03:45 UTC 2012

On 12/06/12 06:56, Vitaly Davidovich wrote:
> Doug,
> When you see the fast to slow ThreadLocal transition due to class loading
> invalidating inlined get(), do you not then see it get restored back to fast
> mode since the receiver type in your call sites is still the monomorphic
> ThreadLocal (and not the unrelated subclasses)? Just trying to understand what
> Rémi and you are saying.

The possible outcomes are fairly non-deterministic, depending
on hotspot's mood about recompiles, tiered-compile interactions,
method size, Amddahl's law interactions, phase of moon, etc.

(In j.u.c, we have learned that our users appreciate things
being predictably fast enough rather than being
unpredictably sometimes even faster but often slower.
So when we see such cases, as with ThreadLocal, they get added
to todo list.)


More information about the core-libs-dev mailing list