CallTarget lookupComputation(Object key, RootNode computation) { Cache cache = lookupCache(key); if (cache.computation == null && computation != null) { cache.computation = Truffle.getRuntime().createCallTarget(computation); } return cache.computation; }
protected static CallTarget createTarget(HostEntryRootNode<?> node) { EngineSupport support = JavaInterop.ACCESSOR.engine(); if (support == null) { return Truffle.getRuntime().createCallTarget(new RootNode(null) { @Override public Object execute(VirtualFrame frame) { return node.execute(frame); } }); } return Truffle.getRuntime().createCallTarget(support.wrapHostBoundary(node, node)); }
@Override public CallTarget accessIsExecutable() { return Truffle.getRuntime().createCallTarget(RootNode.createConstantNode(false)); } @Override
@Override public CallTarget accessIsInstantiable() { return Truffle.getRuntime().createCallTarget(RootNode.createConstantNode(false)); } @Override
@Override public CallTarget accessKeys() { return com.oracle.truffle.api.Truffle.getRuntime().createCallTarget(VarsMapKeysSubNode.createRoot()); } @Override
@Override public CallTarget accessIsExecutable() { return Truffle.getRuntime().createCallTarget(RootNode.createConstantNode(false)); } @Override
@Override public CallTarget accessHasKeys() { return Truffle.getRuntime().createCallTarget(ArgsArrHasKeysSubNode.createRoot()); } @Override
@Override public CallTarget accessHasSize() { return Truffle.getRuntime().createCallTarget(ArgsArrHasSizeSubNode.createRoot()); } @Override
@Override public CallTarget accessHasSize() { return Truffle.getRuntime().createCallTarget(ArgsArrHasSizeSubNode.createRoot()); } @Override
@Override public CallTarget accessIsExecutable() { return Truffle.getRuntime().createCallTarget(IsExecutableSubNode.createRoot()); } @Override
@Override public CallTarget accessIsBoxed() { return Truffle.getRuntime().createCallTarget(BoxedCheckSubNode.createRoot()); } @Override
@Override public CallTarget accessKeyInfo() { return com.oracle.truffle.api.Truffle.getRuntime().createCallTarget(KeyInfoSubNode.createRoot()); } @Override
@Override public CallTarget accessIsPointer() { return Truffle.getRuntime().createCallTarget(RootNode.createConstantNode(false)); } @Override
@Override public CallTarget accessIsExecutable() { return Truffle.getRuntime().createCallTarget(RootNode.createConstantNode(false)); } @Override
@Override public CallTarget accessIsInstantiable() { return Truffle.getRuntime().createCallTarget(RootNode.createConstantNode(false)); } @Override
@Override public CallTarget accessIsPointer() { return Truffle.getRuntime().createCallTarget(RootNode.createConstantNode(false)); } @Override
@Override public CallTarget accessIsNull() { return Truffle.getRuntime().createCallTarget(RootNode.createConstantNode(false)); } @Override
@Override public CallTarget accessIsExecutable() { return Truffle.getRuntime().createCallTarget(RootNode.createConstantNode(false)); } @Override
@Override public CallTarget accessGetSize() { return com.oracle.truffle.api.Truffle.getRuntime().createCallTarget(VarNamesGetSizeSubNode.createRoot()); } @Override
@Override public CallTarget accessRead() { return com.oracle.truffle.api.Truffle.getRuntime().createCallTarget(VarNamesReadSubNode.createRoot()); } @Override