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/compiler/typer.h" | 5 #include "src/compiler/typer.h" |
6 | 6 |
7 #include "src/base/flags.h" | 7 #include "src/base/flags.h" |
8 #include "src/bootstrapper.h" | 8 #include "src/bootstrapper.h" |
9 #include "src/compilation-dependencies.h" | 9 #include "src/compilation-dependencies.h" |
10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" |
(...skipping 1999 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2010 Type* Typer::Visitor::TypeTruncateFloat64ToInt32(Node* node) { | 2010 Type* Typer::Visitor::TypeTruncateFloat64ToInt32(Node* node) { |
2011 return Type::Intersect(Type::Signed32(), Type::UntaggedSigned32(), zone()); | 2011 return Type::Intersect(Type::Signed32(), Type::UntaggedSigned32(), zone()); |
2012 } | 2012 } |
2013 | 2013 |
2014 | 2014 |
2015 Type* Typer::Visitor::TypeTruncateInt64ToInt32(Node* node) { | 2015 Type* Typer::Visitor::TypeTruncateInt64ToInt32(Node* node) { |
2016 return Type::Intersect(Type::Signed32(), Type::UntaggedSigned32(), zone()); | 2016 return Type::Intersect(Type::Signed32(), Type::UntaggedSigned32(), zone()); |
2017 } | 2017 } |
2018 | 2018 |
2019 | 2019 |
| 2020 Type* Typer::Visitor::TypeRoundInt64ToFloat64(Node* node) { |
| 2021 return Type::Intersect(Type::PlainNumber(), Type::UntaggedFloat64(), zone()); |
| 2022 } |
| 2023 |
| 2024 |
2020 Type* Typer::Visitor::TypeBitcastFloat32ToInt32(Node* node) { | 2025 Type* Typer::Visitor::TypeBitcastFloat32ToInt32(Node* node) { |
2021 return Type::Number(); | 2026 return Type::Number(); |
2022 } | 2027 } |
2023 | 2028 |
2024 | 2029 |
2025 Type* Typer::Visitor::TypeBitcastFloat64ToInt64(Node* node) { | 2030 Type* Typer::Visitor::TypeBitcastFloat64ToInt64(Node* node) { |
2026 return Type::Number(); | 2031 return Type::Number(); |
2027 } | 2032 } |
2028 | 2033 |
2029 | 2034 |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2192 } | 2197 } |
2193 if (Type::IsInteger(*value)) { | 2198 if (Type::IsInteger(*value)) { |
2194 return Type::Range(value->Number(), value->Number(), zone()); | 2199 return Type::Range(value->Number(), value->Number(), zone()); |
2195 } | 2200 } |
2196 return Type::Constant(value, zone()); | 2201 return Type::Constant(value, zone()); |
2197 } | 2202 } |
2198 | 2203 |
2199 } // namespace compiler | 2204 } // namespace compiler |
2200 } // namespace internal | 2205 } // namespace internal |
2201 } // namespace v8 | 2206 } // namespace v8 |
OLD | NEW |