for review (M): 6812831 factor general subclass check (for 6655638)
John.Rose at Sun.COM
Sat Mar 7 14:46:28 PST 2009
On Mar 5, 2009, at 9:06 PM, John Rose wrote:
> ... 2. Compare against wrong register in sparc stub generator
> (stubGenerator_sparc.cpp at cmp(super_klass, sc_offset))...
> Number 2 would make System.arraycopy wrongly throw a CCE if the
> target array element type is a secondary supertype and is *not*
> already cached on the element subtypes. I think I'll have to break
> this one out as a separate fix, so it can be backported.
FTR, #2 is just a failed optimization in a corner case. No CCE
thrown, no need to backport. When the fast loop gets the type test
wrong, it just backs off to the slow (original) loop.
More information about the hotspot-compiler-dev