On Thu, 6 Jun 2024 11:41:05 GMT, Chen Liang <li...@openjdk.org> wrote:

>> Adam Sotona has updated the pull request incrementally with two additional 
>> commits since the last revision:
>> 
>>  - reverted static initialization of ConstantPoolBuilder and CP entries
>>  - fixed naming conventions
>
> src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java line 616:
> 
>> 614:             final ClassDesc classDesc = ClassDesc.of(className0);
>> 615:             final ClassDesc superClassDesc = 
>> classDesc(speciesData.deriveSuperClass());
>> 616:             return ClassFile.of().build(classDesc, clb -> {
> 
> We need a confirmation here that these BMH species are only initialized after 
> LMF is ready. @cl4es Is a dependency on LMF from BMH safe?

LMF will BMH and `ClassSpecializer`, but does not call into this code normally 
as the simple bound method handle needed by LMF is statically defined 
(`BoundMethodHandle.Species_L`). To be perfectly safe - and to keep 
lambda/indy/condy bootstrap overheads to a minumum - I'll continue recommending 
the desugaring of lambdas in java.lang.invoke

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17108#discussion_r1637893254

Reply via email to