Details
-
Bug
-
Resolution: Fixed
-
P2
-
8
-
b99
-
generic
-
generic
-
Verified
Description
The metafactory and VM have turned out to be incapable of handling all lambda bridging situations. The compiler instead needs to generate bridges in interfaces. In cases where this cannot be done, specifically the interface is not recompiled, the compiler will pass to the metafactory a list of bridges to create. The metafactory will no longer use heuristics to generate bridges, and will only generate bridges the compiler explicitly specifies (if any).
These change were pushed and then anti-deltaed when they were found to uncover bugs in Hotspot. They thus are not actually in the build, this umbrella issue will track their reintroduction:
JDK-8013789: Compiler should emit bridges in interfaces
JDK-8015402: Lambda metafactory should not attempt to generate bridge methods
These change were pushed and then anti-deltaed when they were found to uncover bugs in Hotspot. They thus are not actually in the build, this umbrella issue will track their reintroduction: