Please review CR8009718 - lazy execution architecture continued

Marcus Lagergren marcus.lagergren at oracle.com
Fri Mar 8 01:42:33 PST 2013


http://cr.openjdk.java.net/~lagergren/8009718

In order to truly turn this into method specialisation, I need Attila's copy-on-write cloning to work for object nodes, as right now a Compiler mutates its FunctionNode when the tiers are executed.

I removed the trampoline class and vastly simplified the creation of ScriptFunctions so that everything lives in the ScriptFunctionData and method handles and allocators are lazily resolved at runtime. The same thing happens when eagerly compiled functions - they are not resolved until requested. This makes lazy method compilation and specialization transparent to the runtime. It only knows it asks for code that may or may not be there.

Changed the model of "one method handle, potential specializations" to just be "this function has a collection of invokers - pick the one that fits using calltype".

/M




More information about the nashorn-dev mailing list