| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index 053ae9ed2d8f9318a5523daec804be2568b67c10..b70bf27e5e9e06adc1f47786f8fc959e431a79fd 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -2908,8 +2908,10 @@ class HStoreGlobalGeneric: public HTemplateInstruction<3> {
|
| HStoreGlobalGeneric(HValue* context,
|
| HValue* global_object,
|
| Handle<Object> name,
|
| - HValue* value)
|
| - : name_(name) {
|
| + HValue* value,
|
| + bool strict_mode)
|
| + : name_(name),
|
| + strict_mode_(strict_mode) {
|
| SetOperandAt(0, context);
|
| SetOperandAt(1, global_object);
|
| SetOperandAt(2, value);
|
| @@ -2921,6 +2923,7 @@ class HStoreGlobalGeneric: public HTemplateInstruction<3> {
|
| HValue* global_object() { return OperandAt(1); }
|
| Handle<Object> name() const { return name_; }
|
| HValue* value() { return OperandAt(2); }
|
| + bool strict_mode() { return strict_mode_; }
|
|
|
| virtual void PrintDataTo(StringStream* stream);
|
|
|
| @@ -2932,6 +2935,7 @@ class HStoreGlobalGeneric: public HTemplateInstruction<3> {
|
|
|
| private:
|
| Handle<Object> name_;
|
| + bool strict_mode_;
|
| };
|
|
|
|
|
| @@ -3263,8 +3267,10 @@ class HStoreNamedGeneric: public HTemplateInstruction<3> {
|
| HStoreNamedGeneric(HValue* context,
|
| HValue* object,
|
| Handle<String> name,
|
| - HValue* value)
|
| - : name_(name) {
|
| + HValue* value,
|
| + bool strict_mode)
|
| + : name_(name),
|
| + strict_mode_(strict_mode) {
|
| SetOperandAt(0, object);
|
| SetOperandAt(1, value);
|
| SetOperandAt(2, context);
|
| @@ -3275,6 +3281,7 @@ class HStoreNamedGeneric: public HTemplateInstruction<3> {
|
| HValue* value() { return OperandAt(1); }
|
| HValue* context() { return OperandAt(2); }
|
| Handle<String> name() { return name_; }
|
| + bool strict_mode() { return strict_mode_; }
|
|
|
| virtual void PrintDataTo(StringStream* stream);
|
|
|
| @@ -3286,6 +3293,7 @@ class HStoreNamedGeneric: public HTemplateInstruction<3> {
|
|
|
| private:
|
| Handle<String> name_;
|
| + bool strict_mode_;
|
| };
|
|
|
|
|
| @@ -3363,7 +3371,9 @@ class HStoreKeyedGeneric: public HTemplateInstruction<4> {
|
| HStoreKeyedGeneric(HValue* context,
|
| HValue* object,
|
| HValue* key,
|
| - HValue* value) {
|
| + HValue* value,
|
| + bool strict_mode)
|
| + : strict_mode_(strict_mode) {
|
| SetOperandAt(0, object);
|
| SetOperandAt(1, key);
|
| SetOperandAt(2, value);
|
| @@ -3375,6 +3385,7 @@ class HStoreKeyedGeneric: public HTemplateInstruction<4> {
|
| HValue* key() { return OperandAt(1); }
|
| HValue* value() { return OperandAt(2); }
|
| HValue* context() { return OperandAt(3); }
|
| + bool strict_mode() { return strict_mode_; }
|
|
|
| virtual Representation RequiredInputRepresentation(int index) const {
|
| return Representation::Tagged();
|
| @@ -3383,6 +3394,9 @@ class HStoreKeyedGeneric: public HTemplateInstruction<4> {
|
| virtual void PrintDataTo(StringStream* stream);
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store_keyed_generic")
|
| +
|
| + private:
|
| + bool strict_mode_;
|
| };
|
|
|
|
|
|
|