Index: src/types.cc |
diff --git a/src/types.cc b/src/types.cc |
index c3184c684498ab634f186d0b350e274bc2736af3..70ee43db4a5c843dfa82c2527b088b044c40da18 100644 |
--- a/src/types.cc |
+++ b/src/types.cc |
@@ -274,37 +274,11 @@ TypeImpl<Config>::BitsetType::Lub(double value) { |
DisallowHeapAllocation no_allocation; |
if (i::IsMinusZero(value)) return kMinusZero; |
if (std::isnan(value)) return kNaN; |
- if (IsUint32Double(value)) return Lub(FastD2UI(value)); |
- if (IsInt32Double(value)) return Lub(FastD2I(value)); |
+ if (IsUint32Double(value) || IsInt32Double(value)) return Lub(value, value); |
return kOtherNumber; |
} |
-template<class Config> |
-typename TypeImpl<Config>::bitset |
-TypeImpl<Config>::BitsetType::Lub(int32_t value) { |
- DisallowHeapAllocation no_allocation; |
- if (value >= 0x40000000) { |
- return i::SmiValuesAre31Bits() ? kOtherUnsigned31 : kUnsignedSmall; |
- } |
- if (value >= 0) return kUnsignedSmall; |
- if (value >= -0x40000000) return kOtherSignedSmall; |
- return i::SmiValuesAre31Bits() ? kOtherSigned32 : kOtherSignedSmall; |
-} |
- |
- |
-template<class Config> |
-typename TypeImpl<Config>::bitset |
-TypeImpl<Config>::BitsetType::Lub(uint32_t value) { |
- DisallowHeapAllocation no_allocation; |
- if (value >= 0x80000000u) return kOtherUnsigned32; |
- if (value >= 0x40000000u) { |
- return i::SmiValuesAre31Bits() ? kOtherUnsigned31 : kUnsignedSmall; |
- } |
- return kUnsignedSmall; |
-} |
- |
- |
// Minimum values of regular numeric bitsets when SmiValuesAre31Bits. |
template<class Config> |
const typename TypeImpl<Config>::BitsetType::BitsetMin |
@@ -334,10 +308,8 @@ TypeImpl<Config>::BitsetType::BitsetMins32[] = { |
template<class Config> |
typename TypeImpl<Config>::bitset |
-TypeImpl<Config>::BitsetType::Lub(Limits lim) { |
+TypeImpl<Config>::BitsetType::Lub(double min, double max) { |
DisallowHeapAllocation no_allocation; |
- double min = lim.min->Number(); |
- double max = lim.max->Number(); |
int lub = kNone; |
const BitsetMin* mins = BitsetMins(); |