Uwe,

P.S.: I am not so familiar with the intrinsic stuff, so here is my question: The 
intrinsic for the array accesses is always created before caching the MH; so why do we 
need the static implementation methods at all? I had the same question also about the old 
element getters and setters. Or is the intrinsic only used after the MH is called 
multiple times as "optimization"? If the latter is the case, the test should 
ensure that the intrinsics are tested, too.
Intrinsics (in j.l.i sense) are just markers for bytecode generator (j.l.i.InvokerBytecodeGenerator or IBG) which signals there's a more efficient way to represent the behavior on bytecode level.

There are 2 execution modes supported for LambdaForms:
  - interpreter (LFI)
  - compiled (to bytecode by IGB)

Static implementation methods are needed for LFI.

Since 8u40, all LFs are always precompiled to bytecode before usage ( invocation threshold == 0) thus bypassing interpretation phase.

The test case could be extended to test LFI scenario, but I don't think it's worth it.

It's more productive to include additional test configuration with -Djava.lang.invoke.MethodHandle.COMPILE_THRESHOLD=30 when testing j.l.i changes to ensure LFI isn't broken.

Best regards,
Vladimir Ivanov

-----Original Message-----
From: core-libs-dev [mailto:core-libs-dev-boun...@openjdk.java.net] On
Behalf Of Michael Haupt
Sent: Wednesday, May 18, 2016 9:53 AM
To: Core-Libs-Dev <core-libs-dev@openjdk.java.net>
Subject: RFR(M): 8156915: introduce MethodHandle factory for array length

Dear all,

please review this change.
RFE: https://bugs.openjdk.java.net/browse/JDK-8156915
Webrev: http://cr.openjdk.java.net/~mhaupt/8156915/webrev.00/

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

ORACLE Deutschland B.V. & Co. KG | Hauptverwaltung: Riesstraße 25, D-
80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V. | Hertogswetering
163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher
 <http://www.oracle.com/commitment>       Oracle is committed to
developing practices and products that help protect the environment

Reply via email to