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); |