| 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/simplified-lowering.h" |     5 #include "src/compiler/simplified-lowering.h" | 
|     6  |     6  | 
|     7 #include <limits> |     7 #include <limits> | 
|     8  |     8  | 
|     9 #include "src/address-map.h" |     9 #include "src/address-map.h" | 
|    10 #include "src/base/bits.h" |    10 #include "src/base/bits.h" | 
| (...skipping 1376 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1387       // Simplified operators. |  1387       // Simplified operators. | 
|  1388       //------------------------------------------------------------------ |  1388       //------------------------------------------------------------------ | 
|  1389       case IrOpcode::kBooleanNot: { |  1389       case IrOpcode::kBooleanNot: { | 
|  1390         if (lower()) { |  1390         if (lower()) { | 
|  1391           NodeInfo* input_info = GetInfo(node->InputAt(0)); |  1391           NodeInfo* input_info = GetInfo(node->InputAt(0)); | 
|  1392           if (input_info->representation() == MachineRepresentation::kBit) { |  1392           if (input_info->representation() == MachineRepresentation::kBit) { | 
|  1393             // BooleanNot(x: kRepBit) => Word32Equal(x, #0) |  1393             // BooleanNot(x: kRepBit) => Word32Equal(x, #0) | 
|  1394             node->AppendInput(jsgraph_->zone(), jsgraph_->Int32Constant(0)); |  1394             node->AppendInput(jsgraph_->zone(), jsgraph_->Int32Constant(0)); | 
|  1395             NodeProperties::ChangeOp(node, lowering->machine()->Word32Equal()); |  1395             NodeProperties::ChangeOp(node, lowering->machine()->Word32Equal()); | 
|  1396           } else { |  1396           } else { | 
|  1397             DCHECK_EQ(input_info->representation(), |  1397             DCHECK(CanBeTaggedPointer(input_info->representation())); | 
|  1398                       MachineRepresentation::kTagged); |  | 
|  1399             // BooleanNot(x: kRepTagged) => WordEqual(x, #false) |  1398             // BooleanNot(x: kRepTagged) => WordEqual(x, #false) | 
|  1400             node->AppendInput(jsgraph_->zone(), jsgraph_->FalseConstant()); |  1399             node->AppendInput(jsgraph_->zone(), jsgraph_->FalseConstant()); | 
|  1401             NodeProperties::ChangeOp(node, lowering->machine()->WordEqual()); |  1400             NodeProperties::ChangeOp(node, lowering->machine()->WordEqual()); | 
|  1402           } |  1401           } | 
|  1403         } else { |  1402         } else { | 
|  1404           // No input representation requirement; adapt during lowering. |  1403           // No input representation requirement; adapt during lowering. | 
|  1405           ProcessInput(node, 0, UseInfo::AnyTruncatingToBool()); |  1404           ProcessInput(node, 0, UseInfo::AnyTruncatingToBool()); | 
|  1406           SetOutput(node, MachineRepresentation::kBit); |  1405           SetOutput(node, MachineRepresentation::kBit); | 
|  1407         } |  1406         } | 
|  1408         return; |  1407         return; | 
| (...skipping 1841 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  3250         isolate(), graph()->zone(), callable.descriptor(), 0, flags, |  3249         isolate(), graph()->zone(), callable.descriptor(), 0, flags, | 
|  3251         Operator::kNoProperties); |  3250         Operator::kNoProperties); | 
|  3252     to_number_operator_.set(common()->Call(desc)); |  3251     to_number_operator_.set(common()->Call(desc)); | 
|  3253   } |  3252   } | 
|  3254   return to_number_operator_.get(); |  3253   return to_number_operator_.get(); | 
|  3255 } |  3254 } | 
|  3256  |  3255  | 
|  3257 }  // namespace compiler |  3256 }  // namespace compiler | 
|  3258 }  // namespace internal |  3257 }  // namespace internal | 
|  3259 }  // namespace v8 |  3258 }  // namespace v8 | 
| OLD | NEW |