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 |