/** @since 0.8 or earlier */ public AssumedValue(String name, T initialValue) { this.name = name; value = initialValue; assumption = Truffle.getRuntime().createAssumption(name); }
/** @since 0.8 or earlier */ public CyclicAssumption(String name) { this.name = name; this.assumption = Truffle.getRuntime().createAssumption(name); }
public AssumedValue(String name, T initialValue) { this.name = name; value = initialValue; assumption = Truffle.getRuntime().createAssumption(name); }
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; }
ContextProfile(PolyglotLanguage language) { this.language = language; singleContext = language.engine.boundEngine ? Truffle.getRuntime().createAssumption("Language single context.") : NeverValidAssumption.INSTANCE; }
/** @since 0.8 or earlier */ public AssumedValue(String name, T initialValue) { this.name = name; value = initialValue; assumption = Truffle.getRuntime().createAssumption(name); }
/** @since 0.8 or earlier */ public CyclicAssumption(String name) { this.name = name; this.assumption = Truffle.getRuntime().createAssumption(name); }
private void initializeSessions() { CompilerAsserts.neverPartOfCompilation(); synchronized (breakpoint) { this.sessions = breakpoint.sessions.toArray(new DebuggerSession[]{}); sessionsUnchanged = Truffle.getRuntime().createAssumption("Breakpoint sessions unchanged."); breakpoint.sessionsUnchanged = sessionsUnchanged; } }
void set(boolean value) { if (this.value != value) { this.value = value; Assumption old = this.unchanged; unchanged = Truffle.getRuntime().createAssumption("Unchanged boolean"); old.invalidate(); } }
private void outListChanged() { Assumption changed = outListUnchanged; outListUnchanged = Truffle.getRuntime().createAssumption("Unchanged list"); changed.invalidate(); }
private void outListChanged() { Assumption changed = outListUnchanged; outListUnchanged = Truffle.getRuntime().createAssumption("Unchanged list"); changed.invalidate(); }
/** * Set a new value, which will be picked up the next time {@link #get} is called. */ public void set(T newValue) { CompilerDirectives.transferToInterpreter(); value = newValue; final Assumption oldAssumption = assumption; assumption = Truffle.getRuntime().createAssumption(name); oldAssumption.invalidate(); }
/** * This class isolates static state to optimize when only a single context is used. This * simplifies resetting state in AOT mode during native image generation. */ static final class SingleContextState { private final ContextThreadLocal contextThreadLocal = new ContextThreadLocal(); private final Assumption singleContextAssumption = Truffle.getRuntime().createAssumption("Single Context"); @CompilationFinal private volatile PolyglotContextImpl singleContext; }
/** * Set a new value, which will be picked up the next time {@link #get} is called. * * @since 0.8 or earlier */ public void set(T newValue) { CompilerDirectives.transferToInterpreter(); value = newValue; Assumption newAssumption = Truffle.getRuntime().createAssumption(name); Assumption oldAssumption = ASSUMPTION_UPDATER.getAndSet(this, newAssumption); oldAssumption.invalidate(); }
/** * Set a new value, which will be picked up the next time {@link #get} is called. * * @since 0.8 or earlier */ public void set(T newValue) { CompilerDirectives.transferToInterpreter(); value = newValue; Assumption newAssumption = Truffle.getRuntime().createAssumption(name); Assumption oldAssumption = ASSUMPTION_UPDATER.getAndSet(this, newAssumption); oldAssumption.invalidate(); }
/** @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); }
@Override public Object createEnvContext(Env env) { Object context = env.getSpi().createContext(env); env.context = context; Assumption contextUnchanged = env.contextUnchangedAssumption; env.contextUnchangedAssumption = Truffle.getRuntime().createAssumption("Language context unchanged"); contextUnchanged.invalidate(); return context; }
/** @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); }