Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(437)

Side by Side Diff: src/hydrogen-instructions.h

Issue 17005004: Cleanup RepresentationFromUseRequirements, move it to HValue and use it where relevant (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed comment Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | src/hydrogen-instructions.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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_
OLDNEW
« no previous file with comments | « no previous file | src/hydrogen-instructions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698