| Index: src/types.h
|
| diff --git a/src/types.h b/src/types.h
|
| index faa38c6aed51a750f256a5236bcf714dc81b41f4..8b9476515cc701112c0b2f83acf2d4eab69e3424 100644
|
| --- a/src/types.h
|
| +++ b/src/types.h
|
| @@ -48,12 +48,11 @@ namespace internal {
|
| // Constant(x) < T iff instance_type(map(x)) < T
|
| // Array(T) < Array
|
| // Function(R, S, T0, T1, ...) < Function
|
| -// Context(T) < Internal
|
| //
|
| // Both structural Array and Function types are invariant in all parameters;
|
| // relaxing this would make Union and Intersect operations more involved.
|
| -// There is no subtyping relation between Array, Function, or Context types
|
| -// and respective Constant types, since these types cannot be reconstructed
|
| +// There is no subtyping relation between Array or Function types and
|
| +// respective Constant types, since these types cannot be reconstructed
|
| // for arbitrary heap values.
|
| //
|
| //
|
| @@ -349,7 +348,6 @@ class TypeBase {
|
|
|
| enum Kind {
|
| kConstant,
|
| - kContext,
|
| kArray,
|
| kFunction,
|
| kTuple,
|
| @@ -467,30 +465,6 @@ class RangeType : public TypeBase {
|
| };
|
|
|
| // -----------------------------------------------------------------------------
|
| -// Context types.
|
| -
|
| -class ContextType : public TypeBase {
|
| - public:
|
| - Type* Outer() { return outer_; }
|
| -
|
| - private:
|
| - friend class Type;
|
| -
|
| - static Type* New(Type* outer, Zone* zone) {
|
| - return AsType(new (zone->New(sizeof(ContextType))) ContextType(outer));
|
| - }
|
| -
|
| - static ContextType* cast(Type* type) {
|
| - DCHECK(IsKind(type, kContext));
|
| - return static_cast<ContextType*>(FromType(type));
|
| - }
|
| -
|
| - explicit ContextType(Type* outer) : TypeBase(kContext), outer_(outer) {}
|
| -
|
| - Type* outer_;
|
| -};
|
| -
|
| -// -----------------------------------------------------------------------------
|
| // Array types.
|
|
|
| class ArrayType : public TypeBase {
|
| @@ -658,9 +632,6 @@ class Type {
|
| BitsetType::kUntaggedNumber),
|
| zone);
|
| }
|
| - static Type* Context(Type* outer, Zone* zone) {
|
| - return ContextType::New(outer, zone);
|
| - }
|
| static Type* Array(Type* element, Zone* zone) {
|
| return ArrayType::New(element, zone);
|
| }
|
| @@ -740,14 +711,12 @@ class Type {
|
| // Inspection.
|
| bool IsRange() { return IsKind(TypeBase::kRange); }
|
| bool IsConstant() { return IsKind(TypeBase::kConstant); }
|
| - bool IsContext() { return IsKind(TypeBase::kContext); }
|
| bool IsArray() { return IsKind(TypeBase::kArray); }
|
| bool IsFunction() { return IsKind(TypeBase::kFunction); }
|
| bool IsTuple() { return IsKind(TypeBase::kTuple); }
|
|
|
| ConstantType* AsConstant() { return ConstantType::cast(this); }
|
| RangeType* AsRange() { return RangeType::cast(this); }
|
| - ContextType* AsContext() { return ContextType::cast(this); }
|
| ArrayType* AsArray() { return ArrayType::cast(this); }
|
| FunctionType* AsFunction() { return FunctionType::cast(this); }
|
| TupleType* AsTuple() { return TupleType::cast(this); }
|
|
|