Lines Matching defs:bitset

106 // The largest bitset subsumed by this type.
107 Type::bitset BitsetType::Glb(Type* type) {
117 bitset glb =
125 // The smallest bitset subsuming this type, possibly not a proper one.
126 Type::bitset BitsetType::Lub(Type* type) {
131 // a bitset.
132 int bitset = type->AsUnion()->Get(0)->BitsetLub();
135 bitset |= type->AsUnion()->Get(i)->BitsetLub();
137 return bitset;
148 Type::bitset BitsetType::Lub(i::Map* map) {
337 Type::bitset BitsetType::Lub(i::Object* value) {
345 Type::bitset BitsetType::Lub(double value) {
371 Type::bitset BitsetType::ExpandInternals(Type::bitset bits) {
382 Type::bitset BitsetType::Lub(double min, double max) {
396 Type::bitset BitsetType::NumberBits(bitset bits) { return bits & kPlainNumber; }
398 Type::bitset BitsetType::Glb(double min, double max) {
417 double BitsetType::Min(bitset bits) {
431 double BitsetType::Max(bitset bits) {
461 HeapConstantType::HeapConstantType(BitsetType::bitset bitset,
463 : TypeBase(kHeapConstant), bitset_(bitset), object_(object) {
506 // Fast bitset cases
570 bitset number_bits = BitsetType::NumberBits(that->AsBitset());
602 // 2. The first element is a bitset, no other element is a bitset.
605 // 5. No element (except the bitset) is a subtype of any other.
606 // 6. If there is a range, then the bitset type does not contain
657 bitset bits = type1->BitsetGlb() & type2->BitsetGlb();
675 // remove the number bits from the bitset.
680 bitset number_bits = BitsetType::NumberBits(bits);
707 RangeType::Limits Type::ToLimits(bitset bits, Zone* zone) {
708 bitset number_bits = BitsetType::NumberBits(bits);
718 RangeType::Limits Type::IntersectRangeAndBitset(Type* range, Type* bitset,
721 RangeType::Limits bitset_lims = ToLimits(bitset->AsBitset(), zone);
777 // Make sure that we produce a well-formed range and bitset:
778 // If the range is non-empty, the number bits in the bitset should be
780 // we want to produce a bitset rather than a range.
781 Type* Type::NormalizeRangeAndBitset(Type* range, bitset* bits, Zone* zone) {
782 // Fast path: If the bitset does not mention numbers, we can just keep the
784 bitset number_bits = BitsetType::NumberBits(*bits);
789 // If the range is semantically contained within the bitset, return None and
790 // leave the bitset untouched.
791 bitset range_lub = range->BitsetLub();
796 // Slow path: reconcile the bitset range and the range.
803 // Remove the number bits from the bitset, they would just confuse us now.
872 // Compute the new bitset.
873 bitset new_bitset = type1->BitsetGlb() | type2->BitsetGlb();
899 // Add [type] to [result] unless [type] is bitset, range, or already subsumed.
924 bitset bits = unioned->Get(0)->AsBitset();
955 const char* BitsetType::Name(bitset bits) {
970 bitset bits) {
979 static const bitset named_bitsets[] = {
990 bitset subset = named_bitsets[i];
1045 void BitsetType::Print(bitset bits) {
1052 BitsetType::bitset BitsetType::SignedSmall() {
1056 BitsetType::bitset BitsetType::UnsignedSmall() {