hg: nashorn/jdk8/nashorn: 8008199: Lazy compilation and trampoline implementation
marcus.lagergren at oracle.com
marcus.lagergren at oracle.com
Thu Feb 14 04:22:08 PST 2013
Changeset: 43e32b36153c
Author: lagergren
Date: 2013-02-14 13:01 +0100
URL: http://hg.openjdk.java.net/nashorn/jdk8/nashorn/rev/43e32b36153c
8008199: Lazy compilation and trampoline implementation
Summary: The code pipeline now supports lazy compilation, which can be used to only compile certain FunctionNodes and leave others be, saving startup time. When these uncompiled nodes are hit, a trampoline will force them to be recompiled. This can also be used to specialize compilation fixing parameter types and return types to a callsite specific compilation. This will give performance.
Reviewed-by: attila, sundar
! src/jdk/nashorn/internal/codegen/Attr.java
! src/jdk/nashorn/internal/codegen/ClassEmitter.java
! src/jdk/nashorn/internal/codegen/CodeGenerator.java
+ src/jdk/nashorn/internal/codegen/CompilationPhase.java
! src/jdk/nashorn/internal/codegen/CompileUnit.java
! src/jdk/nashorn/internal/codegen/Compiler.java
! src/jdk/nashorn/internal/codegen/ConstantData.java
! src/jdk/nashorn/internal/codegen/FinalizeTypes.java
! src/jdk/nashorn/internal/codegen/FoldConstants.java
! src/jdk/nashorn/internal/codegen/FunctionSignature.java
! src/jdk/nashorn/internal/codegen/Lower.java
! src/jdk/nashorn/internal/codegen/SharedScopeCall.java
! src/jdk/nashorn/internal/codegen/Splitter.java
! src/jdk/nashorn/internal/codegen/WeighNodes.java
- src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java
! src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java
! src/jdk/nashorn/internal/ir/FunctionNode.java
! src/jdk/nashorn/internal/ir/debug/JSONWriter.java
! src/jdk/nashorn/internal/ir/visitor/NodeVisitor.java
! src/jdk/nashorn/internal/objects/BoundScriptFunctionImpl.java
! src/jdk/nashorn/internal/objects/Global.java
! src/jdk/nashorn/internal/objects/NativeJava.java
! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java
+ src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java
! src/jdk/nashorn/internal/parser/Lexer.java
! src/jdk/nashorn/internal/parser/Parser.java
! src/jdk/nashorn/internal/runtime/CodeInstaller.java
! src/jdk/nashorn/internal/runtime/Context.java
! src/jdk/nashorn/internal/runtime/DebugLogger.java
! src/jdk/nashorn/internal/runtime/FindProperty.java
! src/jdk/nashorn/internal/runtime/ScriptFunction.java
! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java
! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java
! src/jdk/nashorn/tools/Shell.java
! test/script/trusted/JDK-8006529.js
! test/src/jdk/nashorn/internal/parser/ParserTest.java
! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java
More information about the nashorn-dev
mailing list