Please review https://jbs.oracle.com/bugs/browse/JDK-8008648

Attila Szegedi attila.szegedi at oracle.com
Thu Feb 21 07:17:48 PST 2013


+1, with the understanding that lazy inner functions force their outer functions to have all their variables in scope. Might want to raise an issue to track that.


On Feb 21, 2013, at 3:00 PM, Marcus Lagergren <marcus.lagergren at oracle.com> wrote:

> 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