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

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

Issue 6026006: Simple support for const variables in Crankshaft.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 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
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 V(StringCharFromCode) \ 161 V(StringCharFromCode) \
162 V(StringLength) \ 162 V(StringLength) \
163 V(Sub) \ 163 V(Sub) \
164 V(Test) \ 164 V(Test) \
165 V(Throw) \ 165 V(Throw) \
166 V(ToFastProperties) \ 166 V(ToFastProperties) \
167 V(Typeof) \ 167 V(Typeof) \
168 V(TypeofIs) \ 168 V(TypeofIs) \
169 V(UnaryMathOperation) \ 169 V(UnaryMathOperation) \
170 V(UnknownOSRValue) \ 170 V(UnknownOSRValue) \
171 V(UseConst) \
171 V(ValueOf) 172 V(ValueOf)
172 173
173 #define GVN_FLAG_LIST(V) \ 174 #define GVN_FLAG_LIST(V) \
174 V(Calls) \ 175 V(Calls) \
175 V(InobjectFields) \ 176 V(InobjectFields) \
176 V(BackingStoreFields) \ 177 V(BackingStoreFields) \
177 V(ArrayElements) \ 178 V(ArrayElements) \
178 V(SpecializedArrayElements) \ 179 V(SpecializedArrayElements) \
179 V(GlobalVars) \ 180 V(GlobalVars) \
180 V(Maps) \ 181 V(Maps) \
(...skipping 831 matching lines...) Expand 10 before | Expand all | Expand 10 after
1012 } 1013 }
1013 1014
1014 virtual Representation RequiredInputRepresentation(int index) const { 1015 virtual Representation RequiredInputRepresentation(int index) const {
1015 return Representation::Tagged(); 1016 return Representation::Tagged();
1016 } 1017 }
1017 1018
1018 DECLARE_CONCRETE_INSTRUCTION(Throw) 1019 DECLARE_CONCRETE_INSTRUCTION(Throw)
1019 }; 1020 };
1020 1021
1021 1022
1023 class HUseConst: public HUnaryOperation {
1024 public:
1025 explicit HUseConst(HValue* old_value) : HUnaryOperation(old_value) { }
1026
1027 virtual Representation RequiredInputRepresentation(int index) const {
1028 return Representation::None();
1029 }
1030
1031 DECLARE_CONCRETE_INSTRUCTION(UseConst)
1032 };
1033
1034
1022 class HForceRepresentation: public HTemplateInstruction<1> { 1035 class HForceRepresentation: public HTemplateInstruction<1> {
1023 public: 1036 public:
1024 HForceRepresentation(HValue* value, Representation required_representation) { 1037 HForceRepresentation(HValue* value, Representation required_representation) {
1025 SetOperandAt(0, value); 1038 SetOperandAt(0, value);
1026 set_representation(required_representation); 1039 set_representation(required_representation);
1027 } 1040 }
1028 1041
1029 HValue* value() { return OperandAt(0); } 1042 HValue* value() { return OperandAt(0); }
1030 1043
1031 virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited); 1044 virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited);
(...skipping 2968 matching lines...) Expand 10 before | Expand all | Expand 10 after
4000 4013
4001 DECLARE_CONCRETE_INSTRUCTION(In) 4014 DECLARE_CONCRETE_INSTRUCTION(In)
4002 }; 4015 };
4003 4016
4004 #undef DECLARE_INSTRUCTION 4017 #undef DECLARE_INSTRUCTION
4005 #undef DECLARE_CONCRETE_INSTRUCTION 4018 #undef DECLARE_CONCRETE_INSTRUCTION
4006 4019
4007 } } // namespace v8::internal 4020 } } // namespace v8::internal
4008 4021
4009 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ 4022 #endif // V8_HYDROGEN_INSTRUCTIONS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698