| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/js-intrinsic-lowering.h" | 5 #include "src/compiler/js-intrinsic-lowering.h" |
| 6 | 6 |
| 7 #include <stack> | 7 #include <stack> |
| 8 | 8 |
| 9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
| 10 #include "src/compiler/access-builder.h" | 10 #include "src/compiler/access-builder.h" |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 case Runtime::kInlineIsJSProxy: | 51 case Runtime::kInlineIsJSProxy: |
| 52 return ReduceIsInstanceType(node, JS_PROXY_TYPE); | 52 return ReduceIsInstanceType(node, JS_PROXY_TYPE); |
| 53 case Runtime::kInlineIsJSReceiver: | 53 case Runtime::kInlineIsJSReceiver: |
| 54 return ReduceIsJSReceiver(node); | 54 return ReduceIsJSReceiver(node); |
| 55 case Runtime::kInlineIsSmi: | 55 case Runtime::kInlineIsSmi: |
| 56 return ReduceIsSmi(node); | 56 return ReduceIsSmi(node); |
| 57 case Runtime::kInlineFixedArrayGet: | 57 case Runtime::kInlineFixedArrayGet: |
| 58 return ReduceFixedArrayGet(node); | 58 return ReduceFixedArrayGet(node); |
| 59 case Runtime::kInlineFixedArraySet: | 59 case Runtime::kInlineFixedArraySet: |
| 60 return ReduceFixedArraySet(node); | 60 return ReduceFixedArraySet(node); |
| 61 case Runtime::kInlineRegExpExec: | |
| 62 return ReduceRegExpExec(node); | |
| 63 case Runtime::kInlineSubString: | 61 case Runtime::kInlineSubString: |
| 64 return ReduceSubString(node); | 62 return ReduceSubString(node); |
| 65 case Runtime::kInlineToInteger: | 63 case Runtime::kInlineToInteger: |
| 66 return ReduceToInteger(node); | 64 return ReduceToInteger(node); |
| 67 case Runtime::kInlineToLength: | 65 case Runtime::kInlineToLength: |
| 68 return ReduceToLength(node); | 66 return ReduceToLength(node); |
| 69 case Runtime::kInlineToNumber: | 67 case Runtime::kInlineToNumber: |
| 70 return ReduceToNumber(node); | 68 return ReduceToNumber(node); |
| 71 case Runtime::kInlineToObject: | 69 case Runtime::kInlineToObject: |
| 72 return ReduceToObject(node); | 70 return ReduceToObject(node); |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 Node* effect = NodeProperties::GetEffectInput(node); | 252 Node* effect = NodeProperties::GetEffectInput(node); |
| 255 Node* control = NodeProperties::GetControlInput(node); | 253 Node* control = NodeProperties::GetControlInput(node); |
| 256 Node* store = (graph()->NewNode( | 254 Node* store = (graph()->NewNode( |
| 257 simplified()->StoreElement(AccessBuilder::ForFixedArrayElement()), base, | 255 simplified()->StoreElement(AccessBuilder::ForFixedArrayElement()), base, |
| 258 index, value, effect, control)); | 256 index, value, effect, control)); |
| 259 ReplaceWithValue(node, value, store); | 257 ReplaceWithValue(node, value, store); |
| 260 return Changed(store); | 258 return Changed(store); |
| 261 } | 259 } |
| 262 | 260 |
| 263 | 261 |
| 264 Reduction JSIntrinsicLowering::ReduceRegExpExec(Node* node) { | |
| 265 return Change(node, CodeFactory::RegExpExec(isolate()), 4); | |
| 266 } | |
| 267 | |
| 268 | |
| 269 Reduction JSIntrinsicLowering::ReduceSubString(Node* node) { | 262 Reduction JSIntrinsicLowering::ReduceSubString(Node* node) { |
| 270 return Change(node, CodeFactory::SubString(isolate()), 3); | 263 return Change(node, CodeFactory::SubString(isolate()), 3); |
| 271 } | 264 } |
| 272 | 265 |
| 273 | 266 |
| 274 Reduction JSIntrinsicLowering::ReduceToInteger(Node* node) { | 267 Reduction JSIntrinsicLowering::ReduceToInteger(Node* node) { |
| 275 NodeProperties::ChangeOp(node, javascript()->ToInteger()); | 268 NodeProperties::ChangeOp(node, javascript()->ToInteger()); |
| 276 return Changed(node); | 269 return Changed(node); |
| 277 } | 270 } |
| 278 | 271 |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 return jsgraph_->javascript(); | 419 return jsgraph_->javascript(); |
| 427 } | 420 } |
| 428 | 421 |
| 429 SimplifiedOperatorBuilder* JSIntrinsicLowering::simplified() const { | 422 SimplifiedOperatorBuilder* JSIntrinsicLowering::simplified() const { |
| 430 return jsgraph()->simplified(); | 423 return jsgraph()->simplified(); |
| 431 } | 424 } |
| 432 | 425 |
| 433 } // namespace compiler | 426 } // namespace compiler |
| 434 } // namespace internal | 427 } // namespace internal |
| 435 } // namespace v8 | 428 } // namespace v8 |
| OLD | NEW |