< prev index next >

src/jdk/nashorn/internal/runtime/CodeInstaller.java

Print this page
rev 1901 : 8135251: Use Unsafe.defineAnonymousClass for loading Nashorn script code
Reviewed-by: hannesw, lagergren, sundar

*** 99,118 **** * @return compiled script data */ public StoredScript loadScript(Source source, String functionKey); /** ! * Returns a new code installer that shares most of the functionality of this code installer, but uses a ! * new, independent class loader. ! * @return a new code installer with a new independent class loader. */ ! public CodeInstaller withNewLoader(); /** * Returns true if this code installer is compatible with the other code installer. Compatibility is expected to be * an equivalence relation, and installers are supposed to be compatible with those they create using ! * {@link #withNewLoader()}. * @param other the other code installer tested for compatibility with this code installer. * @return true if this code installer is compatible with the other code installer. */ public boolean isCompatibleWith(CodeInstaller other); --- 99,126 ---- * @return compiled script data */ public StoredScript loadScript(Source source, String functionKey); /** ! * Returns a code installer {@code #isCompatibleWith(CodeInstaller) compatible with} this installer, but ! * is suitable for on-demand compilations. Can return itself if it is itself suitable. ! * @return a compatible code installer suitable for on-demand compilations. */ ! public CodeInstaller getOnDemandCompilationInstaller(); ! ! /** ! * Returns a code installer {@code #isCompatibleWith(CodeInstaller) compatible with} this installer, but ! * is suitable for installation of multiple classes that reference each other by name. Should be used when ! * a compilation job produces multiple compilation units. Can return itself if it is itself suitable. ! * @return a compatible code installer suitable for installation of multiple classes. ! */ ! public CodeInstaller getMultiClassCodeInstaller(); /** * Returns true if this code installer is compatible with the other code installer. Compatibility is expected to be * an equivalence relation, and installers are supposed to be compatible with those they create using ! * {@link #getOnDemandCompilationInstaller()}. * @param other the other code installer tested for compatibility with this code installer. * @return true if this code installer is compatible with the other code installer. */ public boolean isCompatibleWith(CodeInstaller other);
< prev index next >