Home | History | Annotate | Download | only in src

Lines Matching defs:Is

16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
39 // A simple type system for compiler-internal use. It is based entirely on
70 // TODO(rossberg): the latter is not currently true for proxies, because of fix,
75 // T1->Is(T2) -- tests whether T1 is included in T2 (i.e., T1 <= T2)
78 // Typically, the former is to be used to select representations (e.g., via
79 // T->Is(Integer31())), and the to check whether a specific case needs handling
82 // There is no functionality to discover whether a type is a leaf in the
83 // lattice. That is intentional. It should always be possible to refine the
87 // Consequently, do not use pointer equality for type tests, always use Is!
90 // bitsets via smis. Class is a heap pointer to the respective map. Only
92 // Note that the bitset representation is closed under both Union and Intersect.
94 // The type representation is heap-allocated, so cannot (currently) be used in
158 bool Is(Type* that) { return (this == that) ? true : IsSlowCase(that); }
159 bool Is(Handle<Type> that) { return this->Is(*that); }
215 // A union is a fixed array containing types. Invariants:
216 // - its length is at least 2
217 // - at most one field is a bitset, and it must go into index 0
218 // - no field is a union
318 // Join: either b1 or b2 is known to hold.