hg: jdk9/dev/nashorn: 8012518: Reengineer Parser.java to make it play well with the copy-on-write IR.
marcus.lagergren at oracle.com
marcus.lagergren at oracle.com
Tue Oct 14 13:31:24 UTC 2014
Changeset: ca67ae7c46cb
Author: lagergren
Date: 2014-10-14 15:28 +0200
URL: http://hg.openjdk.java.net/jdk9/dev/nashorn/rev/ca67ae7c46cb
8012518: Reengineer Parser.java to make it play well with the copy-on-write IR.
Summary: Remove the kludges introduced to make the parser work with the copy on write IR. Now everything is done bottom up, finshing node children completely before node parents. The repeated non-functional pattern 'node = node.setSomething(something);' is gone. Resulting code is much more readable, and extensible for future work. The parser is now also consistent with the rest of the stateless copy-on-write world in code generation.
Reviewed-by: lagergren, attila, hannesw, shade
Contributed-by: andreas.gabrielsson at oracle.com
! .hgignore
+ bin/runopt.sh
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptUtils.java
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/Block.java
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/ForNode.java
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/FunctionNode.java
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/LoopNode.java
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/Node.java
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/WhileNode.java
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/WithNode.java
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/Global.java
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeError.java
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJava.java
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java
+ src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/ParserContext.java
+ src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/ParserContextBaseNode.java
+ src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/ParserContextBlockNode.java
+ src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/ParserContextBreakableNode.java
+ src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/ParserContextFunctionNode.java
+ src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/ParserContextLabelNode.java
+ src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/ParserContextLoopNode.java
+ src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/ParserContextNode.java
+ src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/ParserContextSwitchNode.java
! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java
More information about the jdk9-dev-changes
mailing list