/** * Utility method that casts the singleton {@link TruffleRuntime}. */ static DefaultTruffleRuntime getRuntime() { return (DefaultTruffleRuntime) Truffle.getRuntime(); }
private synchronized Assumption getConditionUnchanged() { if (conditionUnchanged == null) { conditionUnchanged = Truffle.getRuntime().createAssumption("Breakpoint condition unchanged."); } return conditionUnchanged; }
private synchronized Assumption getConditionExistsUnchanged() { if (conditionExistsUnchanged == null) { conditionExistsUnchanged = Truffle.getRuntime().createAssumption("Breakpoint condition existence unchanged."); } return conditionExistsUnchanged; }
private synchronized Assumption getConditionExistsUnchanged() { if (conditionExistsUnchanged == null) { conditionExistsUnchanged = Truffle.getRuntime().createAssumption("Breakpoint condition existence unchanged."); } return conditionExistsUnchanged; }
CallTarget checkLanguage() { if (languageCheckSupplier != null) { RootNode languageCheck = languageCheckSupplier.get(); return Truffle.getRuntime().createCallTarget(languageCheck); } else { return null; } }
@Override public CallTarget accessUnbox() { return Truffle.getRuntime().createCallTarget(new RootNode(null) { @Override public Object execute(VirtualFrame frame) { BoxedValue boxed = (BoxedValue) ForeignAccess.getReceiver(frame); return boxed.value; } }); }
@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 accessIsInstantiable() { return Truffle.getRuntime().createCallTarget(RootNode.createConstantNode(false)); } @Override
@Override public CallTarget accessRead() { return com.oracle.truffle.api.Truffle.getRuntime().createCallTarget(VarsMapReadSubNode.createRoot()); } @Override
@Override public CallTarget accessKeys() { return com.oracle.truffle.api.Truffle.getRuntime().createCallTarget(VarsMapKeysSubNode.createRoot()); } @Override
private void outListChanged() { Assumption changed = outListUnchanged; outListUnchanged = Truffle.getRuntime().createAssumption("Unchanged list"); changed.invalidate(); }
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; }
@Override public CallTarget accessHasSize() { return Truffle.getRuntime().createCallTarget(RootNode.createConstantNode(false)); } @Override
@Override public CallTarget accessKeys() { return com.oracle.truffle.api.Truffle.getRuntime().createCallTarget(SymbolsKeysSubNode.createRoot()); } @Override
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