Index: src/compiler/js-operator.h |
diff --git a/src/compiler/js-operator.h b/src/compiler/js-operator.h |
index fd9547d94a50b356b059951403d3adc98aa8ca4f..9f1e2cee5c64824d1fedc9b59e1011bf255dc627 100644 |
--- a/src/compiler/js-operator.h |
+++ b/src/compiler/js-operator.h |
@@ -51,6 +51,13 @@ struct CallParameters { |
CallFunctionFlags flags; |
}; |
+// Defines the property being stored to an object by a named store. This is |
+// used as a parameter by JSStoreNamed operators. |
+struct StoreNamedParameters { |
+ StrictMode strict_mode; |
+ PrintableUnique<Name> name; |
+}; |
+ |
// Interface for building JavaScript-level operators, e.g. directly from the |
// AST. Most operators have no parameters, thus can be globally shared for all |
// graphs. |
@@ -124,12 +131,17 @@ class JSOperatorBuilder { |
1, 1); |
} |
- Operator* StoreProperty() { NOPROPS(JSStoreProperty, 3, 0); } |
- Operator* StoreNamed(PrintableUnique<Name> name) { |
- OP1(JSStoreNamed, PrintableUnique<Name>, name, Operator::kNoProperties, 2, |
+ Operator* StoreProperty(StrictMode strict_mode) { |
+ OP1(JSStoreProperty, StrictMode, strict_mode, Operator::kNoProperties, 3, |
0); |
} |
+ Operator* StoreNamed(StrictMode strict_mode, PrintableUnique<Name> name) { |
+ StoreNamedParameters parameters = {strict_mode, name}; |
+ OP1(JSStoreNamed, StoreNamedParameters, parameters, Operator::kNoProperties, |
+ 2, 0); |
+ } |
+ |
Operator* DeleteProperty(StrictMode strict_mode) { |
OP1(JSDeleteProperty, StrictMode, strict_mode, Operator::kNoProperties, 2, |
1); |