OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 5 #ifndef V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
6 #define V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 6 #define V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
7 | 7 |
8 #include <cstring> | 8 #include <cstring> |
9 #include <iosfwd> | 9 #include <iosfwd> |
10 | 10 |
(...skipping 6936 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6947 std::ostream& PrintDataTo(std::ostream& os) const override; // NOLINT | 6947 std::ostream& PrintDataTo(std::ostream& os) const override; // NOLINT |
6948 | 6948 |
6949 Representation RequiredInputRepresentation(int index) override { | 6949 Representation RequiredInputRepresentation(int index) override { |
6950 return Representation::Tagged(); | 6950 return Representation::Tagged(); |
6951 } | 6951 } |
6952 | 6952 |
6953 FeedbackVectorSlot slot() const { return slot_; } | 6953 FeedbackVectorSlot slot() const { return slot_; } |
6954 Handle<TypeFeedbackVector> feedback_vector() const { | 6954 Handle<TypeFeedbackVector> feedback_vector() const { |
6955 return feedback_vector_; | 6955 return feedback_vector_; |
6956 } | 6956 } |
6957 bool HasVectorAndSlot() const { return FLAG_vector_stores; } | 6957 bool HasVectorAndSlot() const { return true; } |
6958 void SetVectorAndSlot(Handle<TypeFeedbackVector> vector, | 6958 void SetVectorAndSlot(Handle<TypeFeedbackVector> vector, |
6959 FeedbackVectorSlot slot) { | 6959 FeedbackVectorSlot slot) { |
6960 feedback_vector_ = vector; | 6960 feedback_vector_ = vector; |
6961 slot_ = slot; | 6961 slot_ = slot; |
6962 } | 6962 } |
6963 | 6963 |
6964 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric) | 6964 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric) |
6965 | 6965 |
6966 private: | 6966 private: |
6967 HStoreNamedGeneric(HValue* context, HValue* object, Handle<Name> name, | 6967 HStoreNamedGeneric(HValue* context, HValue* object, Handle<Name> name, |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7173 Representation RequiredInputRepresentation(int index) override { | 7173 Representation RequiredInputRepresentation(int index) override { |
7174 // tagged[tagged] = tagged | 7174 // tagged[tagged] = tagged |
7175 return Representation::Tagged(); | 7175 return Representation::Tagged(); |
7176 } | 7176 } |
7177 | 7177 |
7178 FeedbackVectorSlot slot() const { return slot_; } | 7178 FeedbackVectorSlot slot() const { return slot_; } |
7179 Handle<TypeFeedbackVector> feedback_vector() const { | 7179 Handle<TypeFeedbackVector> feedback_vector() const { |
7180 return feedback_vector_; | 7180 return feedback_vector_; |
7181 } | 7181 } |
7182 bool HasVectorAndSlot() const { | 7182 bool HasVectorAndSlot() const { |
7183 DCHECK(!(FLAG_vector_stores && initialization_state_ != MEGAMORPHIC) || | |
7184 !feedback_vector_.is_null()); | |
7185 return !feedback_vector_.is_null(); | 7183 return !feedback_vector_.is_null(); |
7186 } | 7184 } |
7187 void SetVectorAndSlot(Handle<TypeFeedbackVector> vector, | 7185 void SetVectorAndSlot(Handle<TypeFeedbackVector> vector, |
7188 FeedbackVectorSlot slot) { | 7186 FeedbackVectorSlot slot) { |
7189 feedback_vector_ = vector; | 7187 feedback_vector_ = vector; |
7190 slot_ = slot; | 7188 slot_ = slot; |
7191 } | 7189 } |
7192 | 7190 |
7193 std::ostream& PrintDataTo(std::ostream& os) const override; // NOLINT | 7191 std::ostream& PrintDataTo(std::ostream& os) const override; // NOLINT |
7194 | 7192 |
(...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7915 | 7913 |
7916 | 7914 |
7917 | 7915 |
7918 #undef DECLARE_INSTRUCTION | 7916 #undef DECLARE_INSTRUCTION |
7919 #undef DECLARE_CONCRETE_INSTRUCTION | 7917 #undef DECLARE_CONCRETE_INSTRUCTION |
7920 | 7918 |
7921 } // namespace internal | 7919 } // namespace internal |
7922 } // namespace v8 | 7920 } // namespace v8 |
7923 | 7921 |
7924 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 7922 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |