| Index: src/types.h
|
| diff --git a/src/types.h b/src/types.h
|
| index d5e3ca4d3de458534665ac371761d1c09bb3c505..42a50b922bd0f0f56441d853687b4fd390466041 100644
|
| --- a/src/types.h
|
| +++ b/src/types.h
|
| @@ -213,8 +213,11 @@ class TypeImpl : public Config::Base {
|
| static TypeHandle Union(TypeHandle type1, TypeHandle type2, Region* reg);
|
| static TypeHandle Intersect(TypeHandle type1, TypeHandle type2, Region* reg);
|
|
|
| + static TypeHandle Of(i::Object* value, Region* region) {
|
| + return Config::from_bitset(LubBitset(value), region);
|
| + }
|
| static TypeHandle Of(i::Handle<i::Object> value, Region* region) {
|
| - return Config::from_bitset(LubBitset(*value), region);
|
| + return Of(*value, region);
|
| }
|
|
|
| bool Is(TypeImpl* that) { return this == that || this->SlowIs(that); }
|
| @@ -231,7 +234,10 @@ class TypeImpl : public Config::Base {
|
|
|
| // State-dependent versions of Of and Is that consider subtyping between
|
| // a constant and its map class.
|
| - static TypeHandle NowOf(i::Handle<i::Object> value, Region* region);
|
| + static TypeHandle NowOf(i::Object* value, Region* region);
|
| + static TypeHandle NowOf(i::Handle<i::Object> value, Region* region) {
|
| + return NowOf(*value, region);
|
| + }
|
| bool NowIs(TypeImpl* that);
|
| template<class TypeHandle>
|
| bool NowIs(TypeHandle that) { return this->NowIs(*that); }
|
|
|