OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1143 // compare the non-Operand parts of the instruction. | 1143 // compare the non-Operand parts of the instruction. |
1144 virtual bool DataEquals(HValue* other) { | 1144 virtual bool DataEquals(HValue* other) { |
1145 UNREACHABLE(); | 1145 UNREACHABLE(); |
1146 return false; | 1146 return false; |
1147 } | 1147 } |
1148 | 1148 |
1149 virtual Representation RepresentationFromInputs() { | 1149 virtual Representation RepresentationFromInputs() { |
1150 return representation(); | 1150 return representation(); |
1151 } | 1151 } |
1152 Representation RepresentationFromUses(); | 1152 Representation RepresentationFromUses(); |
| 1153 Representation RepresentationFromUseRequirements(); |
1153 virtual void UpdateRepresentation(Representation new_rep, | 1154 virtual void UpdateRepresentation(Representation new_rep, |
1154 HInferRepresentation* h_infer, | 1155 HInferRepresentation* h_infer, |
1155 const char* reason); | 1156 const char* reason); |
1156 void AddDependantsToWorklist(HInferRepresentation* h_infer); | 1157 void AddDependantsToWorklist(HInferRepresentation* h_infer); |
1157 | 1158 |
1158 virtual void RepresentationChanged(Representation to) { } | 1159 virtual void RepresentationChanged(Representation to) { } |
1159 | 1160 |
1160 virtual Range* InferRange(Zone* zone); | 1161 virtual Range* InferRange(Zone* zone); |
1161 virtual void DeleteFromGraph() = 0; | 1162 virtual void DeleteFromGraph() = 0; |
1162 virtual void InternalSetOperandAt(int index, HValue* value) = 0; | 1163 virtual void InternalSetOperandAt(int index, HValue* value) = 0; |
(...skipping 1898 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3061 } | 3062 } |
3062 ASSERT(merged_index >= 0); | 3063 ASSERT(merged_index >= 0); |
3063 SetFlag(kFlexibleRepresentation); | 3064 SetFlag(kFlexibleRepresentation); |
3064 SetFlag(kAllowUndefinedAsNaN); | 3065 SetFlag(kAllowUndefinedAsNaN); |
3065 } | 3066 } |
3066 | 3067 |
3067 virtual Representation RepresentationFromInputs(); | 3068 virtual Representation RepresentationFromInputs(); |
3068 | 3069 |
3069 virtual Range* InferRange(Zone* zone); | 3070 virtual Range* InferRange(Zone* zone); |
3070 virtual void InferRepresentation(HInferRepresentation* h_infer); | 3071 virtual void InferRepresentation(HInferRepresentation* h_infer); |
3071 Representation RepresentationFromUseRequirements(); | |
3072 virtual Representation RequiredInputRepresentation(int index) { | 3072 virtual Representation RequiredInputRepresentation(int index) { |
3073 return representation(); | 3073 return representation(); |
3074 } | 3074 } |
3075 virtual Representation KnownOptimalRepresentation() { | 3075 virtual Representation KnownOptimalRepresentation() { |
3076 return representation(); | 3076 return representation(); |
3077 } | 3077 } |
3078 virtual HType CalculateInferredType(); | 3078 virtual HType CalculateInferredType(); |
3079 virtual int OperandCount() { return inputs_.length(); } | 3079 virtual int OperandCount() { return inputs_.length(); } |
3080 virtual HValue* OperandAt(int index) const { return inputs_[index]; } | 3080 virtual HValue* OperandAt(int index) const { return inputs_[index]; } |
3081 HValue* GetRedundantReplacement(); | 3081 HValue* GetRedundantReplacement(); |
(...skipping 3526 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6608 virtual bool IsDeletable() const { return true; } | 6608 virtual bool IsDeletable() const { return true; } |
6609 }; | 6609 }; |
6610 | 6610 |
6611 | 6611 |
6612 #undef DECLARE_INSTRUCTION | 6612 #undef DECLARE_INSTRUCTION |
6613 #undef DECLARE_CONCRETE_INSTRUCTION | 6613 #undef DECLARE_CONCRETE_INSTRUCTION |
6614 | 6614 |
6615 } } // namespace v8::internal | 6615 } } // namespace v8::internal |
6616 | 6616 |
6617 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 6617 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |