| Index: src/types.h
|
| diff --git a/src/types.h b/src/types.h
|
| index 4569d131b157eb9bc7dce1ee8a01278d51c54e91..bfa9e67983b102eb81eb3bd289e3d49fc9c8a837 100644
|
| --- a/src/types.h
|
| +++ b/src/types.h
|
| @@ -246,16 +246,23 @@ class TypeImpl : public Config::Base {
|
| bool Is(TypeImpl* that) { return this == that || this->SlowIs(that); }
|
| template<class TypeHandle>
|
| bool Is(TypeHandle that) { return this->Is(*that); }
|
| +
|
| bool Maybe(TypeImpl* that);
|
| template<class TypeHandle>
|
| bool Maybe(TypeHandle that) { return this->Maybe(*that); }
|
|
|
| + // Equivalent to Constant(value)->Is(this), but avoiding allocation.
|
| + bool Contains(i::Object* val);
|
| + bool Contains(i::Handle<i::Object> val) { return this->Contains(*val); }
|
| +
|
| // State-dependent versions of Of and Is that consider subtyping between
|
| // a constant and its map class.
|
| - static TypeHandle OfCurrently(i::Handle<i::Object> value, Region* region);
|
| - bool IsCurrently(TypeImpl* that);
|
| + static TypeHandle NowOf(i::Handle<i::Object> value, Region* region);
|
| + bool NowIs(TypeImpl* that);
|
| template<class TypeHandle>
|
| - bool IsCurrently(TypeHandle that) { return this->IsCurrently(*that); }
|
| + bool NowIs(TypeHandle that) { return this->NowIs(*that); }
|
| + bool NowContains(i::Object* val);
|
| + bool NowContains(i::Handle<i::Object> val) { return this->NowContains(*val); }
|
|
|
| bool IsClass() { return Config::is_class(this); }
|
| bool IsConstant() { return Config::is_constant(this); }
|
|
|