Java 类jdk.nashorn.internal.runtime.OptimisticReturnFilters 实例源码

项目:openjdk-jdk10    文件:Bootstrap.java   
/**
 * Creates a Nashorn dynamic linker with the given app class loader.
 * @param appLoader the app class loader. It will be used to discover
 * additional language runtime linkers (if any).
 * @param unstableRelinkThreshold the unstable relink threshold
 * @return a newly created dynamic linker.
 */
public static DynamicLinker createDynamicLinker(final ClassLoader appLoader,
        final int unstableRelinkThreshold) {
    final DynamicLinkerFactory factory = new DynamicLinkerFactory();
    factory.setPrioritizedLinkers(prioritizedLinkers);
    factory.setFallbackLinkers(fallbackLinkers);
    factory.setSyncOnRelink(true);
    factory.setPrelinkTransformer((inv, request, linkerServices) -> {
        final CallSiteDescriptor desc = request.getCallSiteDescriptor();
        return OptimisticReturnFilters.filterOptimisticReturnValue(inv, desc).asType(linkerServices, desc.getMethodType());
    });
    factory.setAutoConversionStrategy(Bootstrap::unboxReturnType);
    factory.setInternalObjectsFilter(NashornBeansLinker.createHiddenObjectFilter());
    factory.setUnstableRelinkThreshold(unstableRelinkThreshold);

    // Linkers for any additional language runtimes deployed alongside Nashorn will be picked up by the factory.
    factory.setClassLoader(appLoader);
    return factory.createLinker();
}
项目:openjdk9    文件:Bootstrap.java   
/**
 * Creates a Nashorn dynamic linker with the given app class loader.
 * @param appLoader the app class loader. It will be used to discover
 * additional language runtime linkers (if any).
 * @param unstableRelinkThreshold the unstable relink threshold
 * @return a newly created dynamic linker.
 */
public static DynamicLinker createDynamicLinker(final ClassLoader appLoader,
        final int unstableRelinkThreshold) {
    final DynamicLinkerFactory factory = new DynamicLinkerFactory();
    factory.setPrioritizedLinkers(prioritizedLinkers);
    factory.setFallbackLinkers(fallbackLinkers);
    factory.setSyncOnRelink(true);
    factory.setPrelinkTransformer((inv, request, linkerServices) -> {
        final CallSiteDescriptor desc = request.getCallSiteDescriptor();
        return OptimisticReturnFilters.filterOptimisticReturnValue(inv, desc).asType(linkerServices, desc.getMethodType());
    });
    factory.setAutoConversionStrategy(Bootstrap::unboxReturnType);
    factory.setInternalObjectsFilter(NashornBeansLinker.createHiddenObjectFilter());
    factory.setUnstableRelinkThreshold(unstableRelinkThreshold);

    // Linkers for any additional language runtimes deployed alongside Nashorn will be picked up by the factory.
    factory.setClassLoader(appLoader);
    return factory.createLinker();
}
项目:OpenJSharp    文件:Bootstrap.java   
@Override
public GuardedInvocation filter(final GuardedInvocation inv, final LinkRequest request, final LinkerServices linkerServices) {
    final CallSiteDescriptor desc = request.getCallSiteDescriptor();
    return OptimisticReturnFilters.filterOptimisticReturnValue(inv, desc).asType(linkerServices, desc.getMethodType());
}
项目:kaziranga    文件:Bootstrap.java   
@Override
public GuardedInvocation filter(final GuardedInvocation inv, final LinkRequest request, final LinkerServices linkerServices) {
    final CallSiteDescriptor desc = request.getCallSiteDescriptor();
    return OptimisticReturnFilters.filterOptimisticReturnValue(inv, desc).asType(linkerServices, desc.getMethodType());
}
项目:lookaside_java-1.8.0-openjdk    文件:Bootstrap.java   
@Override
public GuardedInvocation filter(final GuardedInvocation inv, final LinkRequest request, final LinkerServices linkerServices) {
    final CallSiteDescriptor desc = request.getCallSiteDescriptor();
    return OptimisticReturnFilters.filterOptimisticReturnValue(inv, desc).asType(linkerServices, desc.getMethodType());
}
项目:jdk8u_nashorn    文件:Bootstrap.java   
@Override
public GuardedInvocation filter(final GuardedInvocation inv, final LinkRequest request, final LinkerServices linkerServices) {
    final CallSiteDescriptor desc = request.getCallSiteDescriptor();
    return OptimisticReturnFilters.filterOptimisticReturnValue(inv, desc).asType(linkerServices, desc.getMethodType());
}
项目:infobip-open-jdk-8    文件:Bootstrap.java   
@Override
public GuardedInvocation filter(final GuardedInvocation inv, final LinkRequest request, final LinkerServices linkerServices) {
    final CallSiteDescriptor desc = request.getCallSiteDescriptor();
    return OptimisticReturnFilters.filterOptimisticReturnValue(inv, desc).asType(linkerServices, desc.getMethodType());
}