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