nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Splitter.java
changeset 32692 8f60bd284bf4
parent 31195 4ff0587b9ed1
child 32781 d8f34ffbbc7a
equal deleted inserted replaced
32550:6521875cb63e 32692:8f60bd284bf4
    31 import java.util.HashMap;
    31 import java.util.HashMap;
    32 import java.util.List;
    32 import java.util.List;
    33 import java.util.Map;
    33 import java.util.Map;
    34 import jdk.nashorn.internal.ir.Block;
    34 import jdk.nashorn.internal.ir.Block;
    35 import jdk.nashorn.internal.ir.FunctionNode;
    35 import jdk.nashorn.internal.ir.FunctionNode;
    36 import jdk.nashorn.internal.ir.FunctionNode.CompilationState;
       
    37 import jdk.nashorn.internal.ir.LexicalContext;
    36 import jdk.nashorn.internal.ir.LexicalContext;
    38 import jdk.nashorn.internal.ir.LiteralNode;
    37 import jdk.nashorn.internal.ir.LiteralNode;
    39 import jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode;
    38 import jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode;
    40 import jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode.ArrayUnit;
    39 import jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode.ArrayUnit;
    41 import jdk.nashorn.internal.ir.Node;
    40 import jdk.nashorn.internal.ir.Node;
   156         });
   155         });
   157         functionNode = functionNode.setBody(null, newBody);
   156         functionNode = functionNode.setBody(null, newBody);
   158 
   157 
   159         assert functionNode.getCompileUnit() != null;
   158         assert functionNode.getCompileUnit() != null;
   160 
   159 
   161         return functionNode.setState(null, CompilationState.SPLIT);
   160         return functionNode;
   162     }
   161     }
   163 
   162 
   164     private static List<FunctionNode> directChildren(final FunctionNode functionNode) {
   163     private static List<FunctionNode> directChildren(final FunctionNode functionNode) {
   165         final List<FunctionNode> dc = new ArrayList<>();
   164         final List<FunctionNode> dc = new ArrayList<>();
   166         functionNode.accept(new NodeVisitor<LexicalContext>(new LexicalContext()) {
   165         functionNode.accept(new NodeVisitor<LexicalContext>(new LexicalContext()) {