| 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/code-factory.h" | 5 #include "src/code-factory.h" |
| 6 #include "src/compilation-dependencies.h" | 6 #include "src/compilation-dependencies.h" |
| 7 #include "src/compiler/access-builder.h" | 7 #include "src/compiler/access-builder.h" |
| 8 #include "src/compiler/js-graph.h" | 8 #include "src/compiler/js-graph.h" |
| 9 #include "src/compiler/js-typed-lowering.h" | 9 #include "src/compiler/js-typed-lowering.h" |
| 10 #include "src/compiler/linkage.h" | 10 #include "src/compiler/linkage.h" |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 240 frame_state->InputAt(kFrameStateContextInput), | 240 frame_state->InputAt(kFrameStateContextInput), |
| 241 frame_state->InputAt(kFrameStateFunctionInput), | 241 frame_state->InputAt(kFrameStateFunctionInput), |
| 242 frame_state->InputAt(kFrameStateOuterStateInput)); | 242 frame_state->InputAt(kFrameStateOuterStateInput)); |
| 243 } | 243 } |
| 244 | 244 |
| 245 Node* ConvertPlainPrimitiveToNumber(Node* node) { | 245 Node* ConvertPlainPrimitiveToNumber(Node* node) { |
| 246 DCHECK(NodeProperties::GetType(node)->Is(Type::PlainPrimitive())); | 246 DCHECK(NodeProperties::GetType(node)->Is(Type::PlainPrimitive())); |
| 247 // Avoid inserting too many eager ToNumber() operations. | 247 // Avoid inserting too many eager ToNumber() operations. |
| 248 Reduction const reduction = lowering_->ReduceJSToNumberInput(node); | 248 Reduction const reduction = lowering_->ReduceJSToNumberInput(node); |
| 249 if (reduction.Changed()) return reduction.replacement(); | 249 if (reduction.Changed()) return reduction.replacement(); |
| 250 // TODO(jarin) Use PlainPrimitiveToNumber once we have it. | |
| 251 return graph()->NewNode( | 250 return graph()->NewNode( |
| 252 javascript()->ToNumber(), node, jsgraph()->NoContextConstant(), | 251 javascript()->ToNumber(), node, jsgraph()->NoContextConstant(), |
| 253 jsgraph()->EmptyFrameState(), graph()->start(), graph()->start()); | 252 jsgraph()->EmptyFrameState(), graph()->start(), graph()->start()); |
| 254 } | 253 } |
| 255 | 254 |
| 256 Node* ConvertSingleInputToNumber(Node* node, Node* frame_state) { | 255 Node* ConvertSingleInputToNumber(Node* node, Node* frame_state) { |
| 257 DCHECK(!NodeProperties::GetType(node)->Is(Type::PlainPrimitive())); | 256 DCHECK(!NodeProperties::GetType(node)->Is(Type::PlainPrimitive())); |
| 258 Node* const n = graph()->NewNode(javascript()->ToNumber(), node, context(), | 257 Node* const n = graph()->NewNode(javascript()->ToNumber(), node, context(), |
| 259 frame_state, effect(), control()); | 258 frame_state, effect(), control()); |
| 260 NodeProperties::ReplaceUses(node_, node_, node_, n, n); | 259 NodeProperties::ReplaceUses(node_, node_, node_, n, n); |
| (...skipping 1553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1814 } | 1813 } |
| 1815 | 1814 |
| 1816 | 1815 |
| 1817 CompilationDependencies* JSTypedLowering::dependencies() const { | 1816 CompilationDependencies* JSTypedLowering::dependencies() const { |
| 1818 return dependencies_; | 1817 return dependencies_; |
| 1819 } | 1818 } |
| 1820 | 1819 |
| 1821 } // namespace compiler | 1820 } // namespace compiler |
| 1822 } // namespace internal | 1821 } // namespace internal |
| 1823 } // namespace v8 | 1822 } // namespace v8 |
| OLD | NEW |