JDK-8041995 dealt with optimistic recompilation triggered within subexpressions of value expressions of object initializers. Unfortunately, it doesn't deal correctly with a subexpression embedded in a non-optimistic expression, or with function literals in subexpressions. These deficiencies are addressed by this bug fix.