Review request for 8004970, 8004971, and 8006817: implement serialization in lambda metafactory and metafactory fix
robert.field at oracle.com
Fri Feb 15 20:40:16 PST 2013
On 02/15/13 15:40, Remi Forax wrote:
> On 02/12/2013 04:23 PM, Robert Field wrote:
>> Please review the fixes for CRs:
> Hi Robert,
> few comments,
Thanks much, Rémi, for the review.
> in MethodHandleInfo:
> - getReferenceKindString should not be public, it's a detail of
Query to the JSR-292 lead in process.
> in InnerClassLambdaMetaFactory:
> - spinInnerClass() should return a simple Class<?>.
> - generateWriteReplace: there is still a mv.dup() that should be
> replaced by
> in AbstractValidatingLambdaMetafactory:
> - field markerInterfaces should be declared as Class<?>
> (you can replace all Class by Class<?>)
> in SerializedLambda:
> - I think it should declare a serialUID, so you don't need a ad-hoc
> (to answer to the question line 235)
> - Also does the constructor
> SerializedLambda(Class ,MethodHandle,MethodHandle,MethodType,Object)
> still used ?
Nope. It's history.
> in TypeConvertingMethodAdapter:
> - at the end, load/dup/areturn/getfield should be replaced by their
> code inlined. I don't see a real interest to these too small method.
> Only iconst is really complex so worth a dedicated method.
I find that it makes the code more readable, but there are too few uses
to justify, and I will defer to you on this score.
More information about the lambda-dev