Bytecode transformation investigation

Remi Forax forax at univ-mlv.fr
Fri Aug 5 17:38:05 UTC 2022


> From: "Brian Goetz" <brian.goetz at oracle.com>
> To: "Dan Heidinga" <heidinga at redhat.com>
> Cc: "leyden-dev" <leyden-dev at openjdk.java.net>
> Sent: Thursday, August 4, 2022 6:36:27 PM
> Subject: Re: Bytecode transformation investigation

> Yes, sorry for the delay, I've been trying to organize my thoughts on this.

> Overall I am very happy to see this investigation. It is obviously relevant to a
> number of points across the Leyden spectrum. I had done a related thought
> experiment at one point about behavioral differences, and came up with a
> similar list with respect to LambdaMetafactory:

> - proxy class goes from hidden to non-hidden;
> - perturbs the set of nestmates of both the proxy class and capturing class;
> - potentially perturbs the timing of loading the proxy class (though this can be
> controlled);
> - freezing of bootstrap behavior -- if the bootstrap behavior were to change
> between build time and runtime (e.g., different JDK), any changes wouldn't be
> reflected in the execution.

> Your "stack traces" observation wasn't on my list, so that's a good catch.
also, you can not change the fields of the classes by reflection and the field access are constant folded, the last one is vicious because it means that the performance are not the same. 

Rémi 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/leyden-dev/attachments/20220805/4e276630/attachment.htm>


More information about the leyden-dev mailing list