mirror of
https://github.com/openjdk/jdk.git
synced 2026-04-21 12:20:29 +00:00
8063037: ApplySpecialization.hasApplies shouuld not descend into nested functions
Reviewed-by: hannesw, lagergren
This commit is contained in:
parent
1fd2db0b1a
commit
e0d1d687f2
@ -140,6 +140,11 @@ public final class ApplySpecialization extends NodeVisitor<LexicalContext> imple
|
||||
private boolean hasApplies(final FunctionNode functionNode) {
|
||||
try {
|
||||
functionNode.accept(new NodeVisitor<LexicalContext>(new LexicalContext()) {
|
||||
@Override
|
||||
public boolean enterFunctionNode(final FunctionNode fn) {
|
||||
return fn == functionNode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean enterCallNode(final CallNode callNode) {
|
||||
if (isApply(callNode)) {
|
||||
@ -162,7 +167,7 @@ public final class ApplySpecialization extends NodeVisitor<LexicalContext> imple
|
||||
* scope, thus we are conservative and treat any access to arguments outside the
|
||||
* apply call as a case of "we cannot apply the optimization".
|
||||
*/
|
||||
private void checkValidTransform(final FunctionNode functionNode) {
|
||||
private static void checkValidTransform(final FunctionNode functionNode) {
|
||||
|
||||
final Set<Expression> argumentsFound = new HashSet<>();
|
||||
final Deque<Set<Expression>> stack = new ArrayDeque<>();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user