Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index c876bd50fafd803c19578bb898440352d5689e7b..d661345e02f28065a48d4fe4d2f16773b9e825e8 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -6397,8 +6397,9 @@ class HLoadNamedField final : public HTemplateInstruction<2> { |
class HLoadNamedGeneric final : public HTemplateInstruction<2> { |
public: |
- DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P3(HLoadNamedGeneric, HValue*, |
- Handle<Name>, InlineCacheState); |
+ DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P4(HLoadNamedGeneric, HValue*, |
+ Handle<Name>, LanguageMode, |
+ InlineCacheState); |
HValue* context() const { return OperandAt(0); } |
HValue* object() const { return OperandAt(1); } |
@@ -6426,11 +6427,15 @@ class HLoadNamedGeneric final : public HTemplateInstruction<2> { |
DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric) |
+ LanguageMode language_mode() const { return language_mode_; } |
+ |
private: |
HLoadNamedGeneric(HValue* context, HValue* object, Handle<Name> name, |
+ LanguageMode language_mode, |
InlineCacheState initialization_state) |
: name_(name), |
slot_(FeedbackVectorICSlot::Invalid()), |
+ language_mode_(language_mode), |
initialization_state_(initialization_state) { |
SetOperandAt(0, context); |
SetOperandAt(1, object); |
@@ -6441,6 +6446,7 @@ class HLoadNamedGeneric final : public HTemplateInstruction<2> { |
Handle<Name> name_; |
Handle<TypeFeedbackVector> feedback_vector_; |
FeedbackVectorICSlot slot_; |
+ LanguageMode language_mode_; |
InlineCacheState initialization_state_; |
}; |
@@ -6680,8 +6686,9 @@ class HLoadKeyed final : public HTemplateInstruction<3>, |
class HLoadKeyedGeneric final : public HTemplateInstruction<3> { |
public: |
- DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P3(HLoadKeyedGeneric, HValue*, |
- HValue*, InlineCacheState); |
+ DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P4(HLoadKeyedGeneric, HValue*, |
+ HValue*, LanguageMode, |
+ InlineCacheState); |
HValue* object() const { return OperandAt(0); } |
HValue* key() const { return OperandAt(1); } |
HValue* context() const { return OperandAt(2); } |
@@ -6713,11 +6720,15 @@ class HLoadKeyedGeneric final : public HTemplateInstruction<3> { |
DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric) |
+ LanguageMode language_mode() const { return language_mode_; } |
+ |
private: |
HLoadKeyedGeneric(HValue* context, HValue* obj, HValue* key, |
+ LanguageMode language_mode, |
InlineCacheState initialization_state) |
: slot_(FeedbackVectorICSlot::Invalid()), |
- initialization_state_(initialization_state) { |
+ initialization_state_(initialization_state), |
+ language_mode_(language_mode) { |
set_representation(Representation::Tagged()); |
SetOperandAt(0, obj); |
SetOperandAt(1, key); |
@@ -6728,6 +6739,7 @@ class HLoadKeyedGeneric final : public HTemplateInstruction<3> { |
Handle<TypeFeedbackVector> feedback_vector_; |
FeedbackVectorICSlot slot_; |
InlineCacheState initialization_state_; |
+ LanguageMode language_mode_; |
}; |