| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/types.h" | 5 #include "src/types.h" |
| 6 | 6 |
| 7 #include "src/ostreams.h" | 7 #include "src/ostreams.h" |
| 8 #include "src/types-inl.h" | 8 #include "src/types-inl.h" |
| 9 | 9 |
| 10 namespace v8 { | 10 namespace v8 { |
| (...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 337 if (mz) return 0; | 337 if (mz) return 0; |
| 338 return base::OS::nan_value(); | 338 return base::OS::nan_value(); |
| 339 } | 339 } |
| 340 | 340 |
| 341 | 341 |
| 342 template<class Config> | 342 template<class Config> |
| 343 double TypeImpl<Config>::BitsetType::Max(bitset bits) { | 343 double TypeImpl<Config>::BitsetType::Max(bitset bits) { |
| 344 DisallowHeapAllocation no_allocation; | 344 DisallowHeapAllocation no_allocation; |
| 345 DCHECK(Is(bits, kNumber)); | 345 DCHECK(Is(bits, kNumber)); |
| 346 const BitsetMin* mins = BitsetMins(); | 346 const BitsetMin* mins = BitsetMins(); |
| 347 bool mz = bits & kMinusZero; | 347 bool mz = SEMANTIC(bits & kMinusZero); |
| 348 if (BitsetType::Is(mins[BitsetMinsSize()-1].bits, bits)) { | 348 if (BitsetType::Is(mins[BitsetMinsSize()-1].bits, bits)) { |
| 349 return +V8_INFINITY; | 349 return +V8_INFINITY; |
| 350 } | 350 } |
| 351 for (size_t i = BitsetMinsSize()-1; i-- > 0; ) { | 351 for (size_t i = BitsetMinsSize()-1; i-- > 0; ) { |
| 352 if (Is(SEMANTIC(mins[i].bits), bits)) { | 352 if (Is(SEMANTIC(mins[i].bits), bits)) { |
| 353 return mz ? | 353 return mz ? |
| 354 std::max(0.0, mins[i+1].min - 1) : mins[i+1].min - 1; | 354 std::max(0.0, mins[i+1].min - 1) : mins[i+1].min - 1; |
| 355 } | 355 } |
| 356 } | 356 } |
| 357 if (mz) return 0; | 357 if (mz) return 0; |
| (...skipping 726 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1084 template class TypeImpl<HeapTypeConfig>::Iterator<i::Object>; | 1084 template class TypeImpl<HeapTypeConfig>::Iterator<i::Object>; |
| 1085 | 1085 |
| 1086 template TypeImpl<ZoneTypeConfig>::TypeHandle | 1086 template TypeImpl<ZoneTypeConfig>::TypeHandle |
| 1087 TypeImpl<ZoneTypeConfig>::Convert<HeapType>( | 1087 TypeImpl<ZoneTypeConfig>::Convert<HeapType>( |
| 1088 TypeImpl<HeapTypeConfig>::TypeHandle, TypeImpl<ZoneTypeConfig>::Region*); | 1088 TypeImpl<HeapTypeConfig>::TypeHandle, TypeImpl<ZoneTypeConfig>::Region*); |
| 1089 template TypeImpl<HeapTypeConfig>::TypeHandle | 1089 template TypeImpl<HeapTypeConfig>::TypeHandle |
| 1090 TypeImpl<HeapTypeConfig>::Convert<Type>( | 1090 TypeImpl<HeapTypeConfig>::Convert<Type>( |
| 1091 TypeImpl<ZoneTypeConfig>::TypeHandle, TypeImpl<HeapTypeConfig>::Region*); | 1091 TypeImpl<ZoneTypeConfig>::TypeHandle, TypeImpl<HeapTypeConfig>::Region*); |
| 1092 | 1092 |
| 1093 } } // namespace v8::internal | 1093 } } // namespace v8::internal |
| OLD | NEW |