Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 5022a866c915be6a0fa6f38e117fe42d19e3c0a8..a8fd21f08fff105f13df97cb5000a8e93e8aa755 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -6409,8 +6409,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); } |
@@ -6438,11 +6439,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); |
@@ -6453,6 +6458,7 @@ class HLoadNamedGeneric final : public HTemplateInstruction<2> { |
Handle<Name> name_; |
Handle<TypeFeedbackVector> feedback_vector_; |
FeedbackVectorICSlot slot_; |
+ LanguageMode language_mode_; |
InlineCacheState initialization_state_; |
}; |
@@ -6692,8 +6698,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); } |
@@ -6725,11 +6732,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); |
@@ -6740,6 +6751,7 @@ class HLoadKeyedGeneric final : public HTemplateInstruction<3> { |
Handle<TypeFeedbackVector> feedback_vector_; |
FeedbackVectorICSlot slot_; |
InlineCacheState initialization_state_; |
+ LanguageMode language_mode_; |
}; |