Please review https://jbs.oracle.com/bugs/browse/JDK-8008648
Marcus Lagergren
marcus.lagergren at oracle.com
Thu Feb 21 06:00:09 PST 2013
Various scoping and callee problem related to the lazy JIT. Modified wall clock timing framework slightly to enable better logging.
http://cr.openjdk.java.net/~lagergren/8008648/
Lazy JIT now bootstraps significantly faster than normal JIT for large scripts.
--
Mandreel startup (3 MB of JavaScript) - with the harness lazy jit and normal jit respectively
cthulhu:tip marcus$ java -Dnashorn.time -Dnashorn.compiler.lazy -jar dist/nashorn.jar test/script/external/octane/mandreel.js
test/script/external/octane/mandreel.js:30 ReferenceError: "BenchmarkSuite" is not defined
[JavaScript Parsing] 845 ms
[Lazy JIT Initialization] 66 ms
[Constant Folding] 86 ms
[Control Flow Lowering] 549 ms
[Type Attribution] 128 ms
[Code Splitting] 105 ms
[Type Finalization] 20 ms
[Bytecode Generation] 660 ms
[Code Installation] 27 ms
Total runtime: 3176 ms (Non-runtime: 2486 [78%])
cthulhu:tip marcus$ java -Dnashorn.time -Dznashorn.compiler.lazy -jar dist/nashorn.jar test/script/external/octane/mandreel.js
test/script/external/octane/mandreel.js:30 ReferenceError: "BenchmarkSuite" is not defined
[JavaScript Parsing] 902 ms
[Constant Folding] 102 ms
[Control Flow Lowering] 1545 ms
[Type Attribution] 1656 ms
[Code Splitting] 428 ms
[Type Finalization] 559 ms
[Bytecode Generation] 3710 ms
[Code Installation] 628 ms
Total runtime: 12353 ms (Non-runtime: 9530 [77%])
More information about the nashorn-dev
mailing list