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 |