Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 6468a2c8475ee95b0e747d62f8e7e45d78798fe9..a9eb57d22d91f5aac14620d4ccbd6e694a8ec26f 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -6794,11 +6794,14 @@ class HLoadKeyed FINAL |
class HLoadKeyedGeneric FINAL : public HTemplateInstruction<3> { |
public: |
- DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HLoadKeyedGeneric, HValue*, |
- HValue*); |
+ DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P3(HLoadKeyedGeneric, HValue*, |
+ HValue*, InlineCacheState); |
HValue* object() const { return OperandAt(0); } |
HValue* key() const { return OperandAt(1); } |
HValue* context() const { return OperandAt(2); } |
+ InlineCacheState initialization_state() const { |
+ return initialization_state_; |
+ } |
FeedbackVectorICSlot slot() const { return slot_; } |
Handle<TypeFeedbackVector> feedback_vector() const { |
return feedback_vector_; |
@@ -6823,8 +6826,10 @@ class HLoadKeyedGeneric FINAL : public HTemplateInstruction<3> { |
DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric) |
private: |
- HLoadKeyedGeneric(HValue* context, HValue* obj, HValue* key) |
- : slot_(FeedbackVectorICSlot::Invalid()) { |
+ HLoadKeyedGeneric(HValue* context, HValue* obj, HValue* key, |
+ InlineCacheState initialization_state) |
+ : slot_(FeedbackVectorICSlot::Invalid()), |
+ initialization_state_(initialization_state) { |
set_representation(Representation::Tagged()); |
SetOperandAt(0, obj); |
SetOperandAt(1, key); |
@@ -6834,6 +6839,7 @@ class HLoadKeyedGeneric FINAL : public HTemplateInstruction<3> { |
Handle<TypeFeedbackVector> feedback_vector_; |
FeedbackVectorICSlot slot_; |
+ InlineCacheState initialization_state_; |
}; |
@@ -7233,14 +7239,18 @@ class HStoreKeyed FINAL |
class HStoreKeyedGeneric FINAL : public HTemplateInstruction<4> { |
public: |
- DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P4(HStoreKeyedGeneric, HValue*, |
- HValue*, HValue*, LanguageMode); |
+ DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P5(HStoreKeyedGeneric, HValue*, |
+ HValue*, HValue*, LanguageMode, |
+ InlineCacheState); |
HValue* object() const { return OperandAt(0); } |
HValue* key() const { return OperandAt(1); } |
HValue* value() const { return OperandAt(2); } |
HValue* context() const { return OperandAt(3); } |
LanguageMode language_mode() const { return language_mode_; } |
+ InlineCacheState initialization_state() const { |
+ return initialization_state_; |
+ } |
Representation RequiredInputRepresentation(int index) OVERRIDE { |
// tagged[tagged] = tagged |
@@ -7253,8 +7263,10 @@ class HStoreKeyedGeneric FINAL : public HTemplateInstruction<4> { |
private: |
HStoreKeyedGeneric(HValue* context, HValue* object, HValue* key, |
- HValue* value, LanguageMode language_mode) |
- : language_mode_(language_mode) { |
+ HValue* value, LanguageMode language_mode, |
+ InlineCacheState initialization_state) |
+ : language_mode_(language_mode), |
+ initialization_state_(initialization_state) { |
SetOperandAt(0, object); |
SetOperandAt(1, key); |
SetOperandAt(2, value); |
@@ -7263,6 +7275,7 @@ class HStoreKeyedGeneric FINAL : public HTemplateInstruction<4> { |
} |
LanguageMode language_mode_; |
+ InlineCacheState initialization_state_; |
}; |