Please review https://jbs.oracle.com/bugs/browse/JDK-8008648
Marcus Lagergren
marcus.lagergren at oracle.com
Thu Feb 21 07:36:37 PST 2013
Yep. This is an initial model to make sure everything is sound. The heuristic for picking lazy methods will most likely change to something less aggressive. I would welcome suggestions as to how to determine if a variable function should be in scope or not in an outer function when inner functions haven't been evaluated yet.
/M
On Feb 21, 2013, at 4:17 PM, Attila Szegedi <attila.szegedi at oracle.com> wrote:
> +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