/** @since 0.8 or earlier */ @Override public void invalidate() { first.invalidate(); second.invalidate(); }
/** @since 0.33 */ @Override public void invalidate(String message) { first.invalidate(message); second.invalidate(message); }
/** * Invalidates this assumption. Performs no operation, if the assumption is already invalid. * * @param message a message stating the reason of the invalidation * @since 0.33 */ default void invalidate(String message) { invalidate(); }
synchronized void invalidate() { Assumption localVersion = this.version; if (localVersion != null) { localVersion.invalidate(); } }
/** * Invalidates this assumption. Performs no operation, if the assumption is already invalid. * * @param message a message stating the reason of the invalidation * @since 0.33 */ default void invalidate(String message) { invalidate(); }
private void sessionsAssumptionInvalidate() { assert Thread.holdsLock(this); Assumption assumption = sessionsUnchanged; if (assumption != null) { this.sessionsUnchanged = null; assumption.invalidate(); } }
void updateVersion() { version.invalidate(); version = createVersion(); }
/** @since 0.17 or earlier */ public final void invalidateValidAssumption() { getValidAssumption().invalidate(); }
private void transitionToMultiThreaded() { assert singleThreaded.isValid(); assert Thread.holdsLock(this); for (PolyglotLanguageContext context : contexts) { if (!context.isInitialized()) { continue; } LANGUAGE.initializeMultiThreading(context.env); } singleThreaded.invalidate(); singleThreadedConstant.invalidate(); }
private void invalidateNotInFrameAssumption(Object identifier) { if (identifierToNotInFrameAssumptionMap != null) { Assumption assumption = identifierToNotInFrameAssumptionMap.get(identifier); if (assumption != null) { assumption.invalidate(); identifierToNotInFrameAssumptionMap.removeKey(identifier); } } }
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(); }
void profileIndirectCall() { Assumption argumentTypesAssumption = profiledArgumentTypesAssumption; if (argumentTypesAssumption != null && argumentTypesAssumption.isValid()) { // Argument profiling is not possible for targets of indirect calls. CompilerDirectives.transferToInterpreter(); argumentTypesAssumption.invalidate(); profiledArgumentTypes = null; } }
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 invalidateNotInFrameAssumption(Object identifier) { if (identifierToNotInFrameAssumptionMap != null) { Assumption assumption = identifierToNotInFrameAssumptionMap.get(identifier); if (assumption != null) { assumption.invalidate(); identifierToNotInFrameAssumptionMap.removeKey(identifier); } } }
/** * 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(); }
/** * 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; }
/** * 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(); }