| Index: src/effects.h
|
| diff --git a/src/effects.h b/src/effects.h
|
| index afb8f9e54b393a3c42d660234b9ca6bb2fdec3e3..5d980f54ed80810fd138ed339856101b064b8558 100644
|
| --- a/src/effects.h
|
| +++ b/src/effects.h
|
| @@ -59,24 +59,24 @@ struct Effect {
|
| Effect(Bounds b, Modality m = DEFINITE) : modality(m), bounds(b) {}
|
|
|
| // The unknown effect.
|
| - static Effect Unknown(Isolate* isolate) {
|
| - return Effect(Bounds::Unbounded(isolate), POSSIBLE);
|
| + static Effect Unknown(Zone* zone) {
|
| + return Effect(Bounds::Unbounded(zone), POSSIBLE);
|
| }
|
|
|
| - static Effect Forget(Isolate* isolate) {
|
| - return Effect(Bounds::Unbounded(isolate), DEFINITE);
|
| + static Effect Forget(Zone* zone) {
|
| + return Effect(Bounds::Unbounded(zone), DEFINITE);
|
| }
|
|
|
| // Sequential composition, as in 'e1; e2'.
|
| - static Effect Seq(Effect e1, Effect e2, Isolate* isolate) {
|
| + static Effect Seq(Effect e1, Effect e2, Zone* zone) {
|
| if (e2.modality == DEFINITE) return e2;
|
| - return Effect(Bounds::Either(e1.bounds, e2.bounds, isolate), e1.modality);
|
| + return Effect(Bounds::Either(e1.bounds, e2.bounds, zone), e1.modality);
|
| }
|
|
|
| // Alternative composition, as in 'cond ? e1 : e2'.
|
| - static Effect Alt(Effect e1, Effect e2, Isolate* isolate) {
|
| + static Effect Alt(Effect e1, Effect e2, Zone* zone) {
|
| return Effect(
|
| - Bounds::Either(e1.bounds, e2.bounds, isolate),
|
| + Bounds::Either(e1.bounds, e2.bounds, zone),
|
| e1.modality == POSSIBLE ? POSSIBLE : e2.modality);
|
| }
|
| };
|
| @@ -106,20 +106,20 @@ class EffectsMixin: public Base {
|
| Effect Lookup(Var var) {
|
| Locator locator;
|
| return this->Find(var, &locator)
|
| - ? locator.value() : Effect::Unknown(Base::isolate());
|
| + ? locator.value() : Effect::Unknown(Base::zone());
|
| }
|
|
|
| Bounds LookupBounds(Var var) {
|
| Effect effect = Lookup(var);
|
| return effect.modality == Effect::DEFINITE
|
| - ? effect.bounds : Bounds::Unbounded(Base::isolate());
|
| + ? effect.bounds : Bounds::Unbounded(Base::zone());
|
| }
|
|
|
| // Sequential composition.
|
| void Seq(Var var, Effect effect) {
|
| Locator locator;
|
| if (!this->Insert(var, &locator)) {
|
| - effect = Effect::Seq(locator.value(), effect, Base::isolate());
|
| + effect = Effect::Seq(locator.value(), effect, Base::zone());
|
| }
|
| locator.set_value(effect);
|
| }
|
| @@ -133,7 +133,7 @@ class EffectsMixin: public Base {
|
| void Alt(Var var, Effect effect) {
|
| Locator locator;
|
| if (!this->Insert(var, &locator)) {
|
| - effect = Effect::Alt(locator.value(), effect, Base::isolate());
|
| + effect = Effect::Alt(locator.value(), effect, Base::zone());
|
| }
|
| locator.set_value(effect);
|
| }
|
| @@ -148,7 +148,7 @@ class EffectsMixin: public Base {
|
| // Invalidation.
|
| void Forget() {
|
| Overrider override = {
|
| - Effect::Forget(Base::isolate()), Effects(Base::zone()) };
|
| + Effect::Forget(Base::zone()), Effects(Base::zone()) };
|
| this->ForEach(&override);
|
| Seq(override.effects);
|
| }
|
| @@ -206,7 +206,6 @@ class EffectsBase {
|
| EffectsMixin<Var, NestedEffectsBase<Var, kNoVar>, Effects<Var, kNoVar> >;
|
|
|
| Zone* zone() { return map_->allocator().zone(); }
|
| - Isolate* isolate() { return zone()->isolate(); }
|
|
|
| struct SplayTreeConfig {
|
| typedef Var Key;
|
| @@ -277,7 +276,6 @@ class NestedEffectsBase {
|
| typedef typename EffectsBase<Var, kNoVar>::Locator Locator;
|
|
|
| Zone* zone() { return node_->zone; }
|
| - Isolate* isolate() { return zone()->isolate(); }
|
|
|
| void push() { node_ = new(node_->zone) Node(node_->zone, node_); }
|
| void pop() { node_ = node_->previous; }
|
|
|