Chromium Code Reviews| Index: src/compiler/js-operator.h |
| diff --git a/src/compiler/js-operator.h b/src/compiler/js-operator.h |
| index e9545c9592484ad9c92a1a0a63a816fc7b1c9ffd..8270420573c377375598be7cd83321b6446fb741 100644 |
| --- a/src/compiler/js-operator.h |
| +++ b/src/compiler/js-operator.h |
| @@ -274,15 +274,19 @@ const LoadPropertyParameters& LoadPropertyParametersOf(const Operator* op); |
| // used as a parameter by JSStoreNamed operators. |
| class StoreNamedParameters final { |
| public: |
| - StoreNamedParameters(LanguageMode language_mode, const Unique<Name>& name) |
| - : language_mode_(language_mode), name_(name) {} |
| + StoreNamedParameters(LanguageMode language_mode, |
| + const ResolvedFeedbackSlot& feedback, |
| + const Unique<Name>& name) |
| + : language_mode_(language_mode), name_(name), feedback_(feedback) {} |
| LanguageMode language_mode() const { return language_mode_; } |
| + const ResolvedFeedbackSlot& feedback() const { return feedback_; } |
| const Unique<Name>& name() const { return name_; } |
| private: |
| const LanguageMode language_mode_; |
| const Unique<Name> name_; |
| + const ResolvedFeedbackSlot feedback_; |
| }; |
| bool operator==(StoreNamedParameters const&, StoreNamedParameters const&); |
| @@ -295,6 +299,32 @@ std::ostream& operator<<(std::ostream&, StoreNamedParameters const&); |
| const StoreNamedParameters& StoreNamedParametersOf(const Operator* op); |
| +// Defines the property being loaded from an object. This is |
|
Michael Starzinger
2015/06/15 14:20:11
nit: s/loaded from an object/stored to an object/
mvstanton
2015/06/21 13:37:36
Done.
|
| +// used as a parameter by JSLoadProperty operators. |
|
Michael Starzinger
2015/06/15 14:20:11
nit: s/JSLoadProperty/JSStoreProperty/
mvstanton
2015/06/21 13:37:36
thx, done.
|
| +class StorePropertyParameters final { |
| + public: |
| + StorePropertyParameters(LanguageMode language_mode, |
| + const ResolvedFeedbackSlot& feedback) |
| + : language_mode_(language_mode), feedback_(feedback) {} |
| + |
| + LanguageMode language_mode() const { return language_mode_; } |
| + const ResolvedFeedbackSlot& feedback() const { return feedback_; } |
| + |
| + private: |
| + const LanguageMode language_mode_; |
| + const ResolvedFeedbackSlot feedback_; |
| +}; |
| + |
| +bool operator==(StorePropertyParameters const&, StorePropertyParameters const&); |
| +bool operator!=(StorePropertyParameters const&, StorePropertyParameters const&); |
| + |
| +size_t hash_value(StorePropertyParameters const&); |
| + |
| +std::ostream& operator<<(std::ostream&, StorePropertyParameters const&); |
| + |
| +const StorePropertyParameters& StorePropertyParametersOf(const Operator* op); |
| + |
| + |
| // Defines shared information for the closure that should be created. This is |
| // used as a parameter by JSCreateClosure operators. |
| class CreateClosureParameters final { |
| @@ -373,8 +403,10 @@ class JSOperatorBuilder final : public ZoneObject { |
| const ResolvedFeedbackSlot& feedback, |
| ContextualMode contextual_mode = NOT_CONTEXTUAL); |
| - const Operator* StoreProperty(LanguageMode language_mode); |
| + const Operator* StoreProperty(LanguageMode language_mode, |
| + const ResolvedFeedbackSlot& feedback); |
| const Operator* StoreNamed(LanguageMode language_mode, |
| + const ResolvedFeedbackSlot& feedback, |
| const Unique<Name>& name); |
|
Michael Starzinger
2015/06/15 14:20:11
nit: IMHO the name should go first or at least bef
mvstanton
2015/06/21 13:37:36
Done.
|
| const Operator* DeleteProperty(LanguageMode language_mode); |