[9] RFR (XXS): 8058309: Unsafe.defineAnonymousClass deoptimization checks scale devastatingly poorly
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Thu Sep 18 09:26:44 UTC 2014
Remi,
Good question!
I looked into the code and my understanding is that they don't have the
same problem as compiled LambdaForms.
Proxy doesn't have instance methods (only public/private static), so no
unique_concrete_method dependencies in Proxy context.
Similar situation with Method: SerializationConstructorAccessorImpl,
ConstructorAccessorImpl, MethodAccessorImpl, their supertypes, and
interfaces they implement declare megamorphic abstract instance methods.
So, I don't expect any unique_concrete_method dependencies in these
contexts as well.
But it's mostly an educated guess, it'd be great to see some data
confirming my observations.
Best regards,
Vladimir Ivanov
On 9/17/14, 10:53 PM, Remi Forax wrote:
>
> On 09/17/2014 06:55 PM, Vladimir Ivanov wrote:
>> >> It's not specific to U.dAC(). Regular class loaders can hit similar
>>>> problem as well.
>>>
>>> Even better, this is even more generic.
>> Please, update bug synopsis then.
>>
>>>> If you want to use 8058309 for dependency tracking improvments in VM,
>>>> let me know. So far, I got an impression it is about LFs & JSR292
>>>> mostly.
>>>
>>> Yes, please commit the LF fix under the different bug ID, if that is not
>>> a hassle?
>> Done:
>> 8058661: Compiled LambdaForms should inherit from Object to
>> improve class loading performance
>> https://bugs.openjdk.java.net/browse/JDK-8058661
>
> I wonder if the Proxy generation code (j.l.r.Proxy) and the method
> accessor generation code (j.l.r.Method) doesn't have the very same issue.
>
>> Best regards,
>> Vladimir Ivanov
>
> Rémi
>
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
More information about the mlvm-dev
mailing list