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 void outListChanged() { Assumption changed = outListUnchanged; outListUnchanged = Truffle.getRuntime().createAssumption("Unchanged list"); changed.invalidate(); }
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 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 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
/** @since 0.33 */ @TruffleBoundary public void invalidate(String message) { Assumption newAssumption = Truffle.getRuntime().createAssumption(name); Assumption oldAssumption = ASSUMPTION_UPDATER.getAndSet(this, newAssumption); oldAssumption.invalidate(message); }