Chromium Code Reviews| 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/js-operator.h" | 5 #include "src/compiler/js-operator.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "src/base/lazy-instance.h" | 9 #include "src/base/lazy-instance.h" |
| 10 #include "src/compiler/opcodes.h" | 10 #include "src/compiler/opcodes.h" |
| (...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 506 "JSLoadProperty", // name | 506 "JSLoadProperty", // name |
| 507 3, 1, 1, 1, 1, 2, // counts | 507 3, 1, 1, 1, 1, 2, // counts |
| 508 parameters); // parameter | 508 parameters); // parameter |
| 509 } | 509 } |
| 510 | 510 |
| 511 | 511 |
| 512 const Operator* JSOperatorBuilder::StoreNamed( | 512 const Operator* JSOperatorBuilder::StoreNamed( |
| 513 LanguageMode language_mode, const Unique<Name>& name, | 513 LanguageMode language_mode, const Unique<Name>& name, |
| 514 const ResolvedFeedbackSlot& feedback) { | 514 const ResolvedFeedbackSlot& feedback) { |
| 515 StoreNamedParameters parameters(language_mode, feedback, name); | 515 StoreNamedParameters parameters(language_mode, feedback, name); |
| 516 int inputs = FLAG_vector_stores ? 3 : 2; | |
|
Michael Starzinger
2015/06/22 08:40:55
Can we make the number of inputs always be 3 for t
mvstanton
2015/06/23 08:27:05
Good idea. In fact, we can just pass the feedback
| |
| 516 return new (zone()) Operator1<StoreNamedParameters>( // -- | 517 return new (zone()) Operator1<StoreNamedParameters>( // -- |
| 517 IrOpcode::kJSStoreNamed, Operator::kNoProperties, // opcode | 518 IrOpcode::kJSStoreNamed, Operator::kNoProperties, // opcode |
| 518 "JSStoreNamed", // name | 519 "JSStoreNamed", // name |
| 519 2, 1, 1, 0, 1, 2, // counts | 520 inputs, 1, 1, 0, 1, 2, // counts |
| 520 parameters); // parameter | 521 parameters); // parameter |
| 521 } | 522 } |
| 522 | 523 |
| 523 | 524 |
| 524 const Operator* JSOperatorBuilder::StoreProperty( | 525 const Operator* JSOperatorBuilder::StoreProperty( |
| 525 LanguageMode language_mode, const ResolvedFeedbackSlot& feedback) { | 526 LanguageMode language_mode, const ResolvedFeedbackSlot& feedback) { |
| 526 StorePropertyParameters parameters(language_mode, feedback); | 527 StorePropertyParameters parameters(language_mode, feedback); |
| 528 int inputs = FLAG_vector_stores ? 4 : 3; | |
|
Michael Starzinger
2015/06/22 08:40:55
Likewise for always having 4 inputs.
mvstanton
2015/06/23 08:27:05
Done.
| |
| 527 return new (zone()) Operator1<StorePropertyParameters>( // -- | 529 return new (zone()) Operator1<StorePropertyParameters>( // -- |
| 528 IrOpcode::kJSStoreProperty, Operator::kNoProperties, // opcode | 530 IrOpcode::kJSStoreProperty, Operator::kNoProperties, // opcode |
| 529 "JSStoreProperty", // name | 531 "JSStoreProperty", // name |
| 530 3, 1, 1, 0, 1, 2, // counts | 532 inputs, 1, 1, 0, 1, 2, // counts |
| 531 parameters); // parameter | 533 parameters); // parameter |
| 532 } | 534 } |
| 533 | 535 |
| 534 | 536 |
| 535 const Operator* JSOperatorBuilder::DeleteProperty(LanguageMode language_mode) { | 537 const Operator* JSOperatorBuilder::DeleteProperty(LanguageMode language_mode) { |
| 536 return new (zone()) Operator1<LanguageMode>( // -- | 538 return new (zone()) Operator1<LanguageMode>( // -- |
| 537 IrOpcode::kJSDeleteProperty, Operator::kNoProperties, // opcode | 539 IrOpcode::kJSDeleteProperty, Operator::kNoProperties, // opcode |
| 538 "JSDeleteProperty", // name | 540 "JSDeleteProperty", // name |
| 539 2, 1, 1, 1, 1, 2, // counts | 541 2, 1, 1, 1, 1, 2, // counts |
| 540 language_mode); // parameter | 542 language_mode); // parameter |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 623 return new (zone()) Operator1<Unique<String>>( // -- | 625 return new (zone()) Operator1<Unique<String>>( // -- |
| 624 IrOpcode::kJSCreateCatchContext, Operator::kNoProperties, // opcode | 626 IrOpcode::kJSCreateCatchContext, Operator::kNoProperties, // opcode |
| 625 "JSCreateCatchContext", // name | 627 "JSCreateCatchContext", // name |
| 626 2, 1, 1, 1, 1, 2, // counts | 628 2, 1, 1, 1, 1, 2, // counts |
| 627 name); // parameter | 629 name); // parameter |
| 628 } | 630 } |
| 629 | 631 |
| 630 } // namespace compiler | 632 } // namespace compiler |
| 631 } // namespace internal | 633 } // namespace internal |
| 632 } // namespace v8 | 634 } // namespace v8 |
| OLD | NEW |