diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ApplySpecialization.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ApplySpecialization.java index 274afc84ade..62e58f46767 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ApplySpecialization.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ApplySpecialization.java @@ -140,6 +140,11 @@ public final class ApplySpecialization extends NodeVisitor imple private boolean hasApplies(final FunctionNode functionNode) { try { functionNode.accept(new NodeVisitor(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 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 argumentsFound = new HashSet<>(); final Deque> stack = new ArrayDeque<>();