RFR(XS): 8072844: Use more efficient LambdaForm type representation

Michael Haupt michael.haupt at oracle.com
Thu Dec 3 15:21:40 UTC 2015


Hi Ulf,

the change (as of webrev.01) is pushed. Nevertheless, thanks for your comments - responses below.

> Am 03.12.2015 um 15:40 schrieb Ulf <Ulf.Zibis at CoSoCo.de>:
> why not simply? :
> 1282         MethodType type = mt.changeParameterType(0, MethodHandle.class);
> 
> In any case, the state of the external mt becomes changed, so better clone mt.

Cloning mt here is not necessary, as changeParameterType() will create a new MT instance. If that's what you mean.

> Additional suggestion to save the in and out packing with MethodType:
> 1279     static MemberName generateLambdaFormInterpreterEntryPoint(Type rType, Type[] pTypes) {

A MethodType is an apt abstraction for what is needed here; I don't think breaking it up into its components would help much.

Thanks,

Michael

-- 

 <http://www.oracle.com/>
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Java Platform Group | LangTools Team | Nashorn
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 | 14467 Potsdam, Germany
 <http://www.oracle.com/commitment>	Oracle is committed to developing practices and products that help protect the environment




More information about the core-libs-dev mailing list