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

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 10 years 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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 // HArrayLength 122 // HArrayLength
123 // HBitNot 123 // HBitNot
124 // HChange 124 // HChange
125 // HCheckFunction 125 // HCheckFunction
126 // HCheckInstanceType 126 // HCheckInstanceType
127 // HCheckMap 127 // HCheckMap
128 // HCheckNonSmi 128 // HCheckNonSmi
129 // HCheckPrototypeMaps 129 // HCheckPrototypeMaps
130 // HCheckSmi 130 // HCheckSmi
131 // HDeleteProperty 131 // HDeleteProperty
132 // HInitConst
132 // HLoadElements 133 // HLoadElements
133 // HTypeofIs 134 // HTypeofIs
134 // HLoadNamedField 135 // HLoadNamedField
135 // HPushArgument 136 // HPushArgument
136 // HTypeof 137 // HTypeof
137 // HUnaryMathOperation 138 // HUnaryMathOperation
138 // HUnaryPredicate 139 // HUnaryPredicate
139 // HClassOfTest 140 // HClassOfTest
140 // HHasCachedArrayIndex 141 // HHasCachedArrayIndex
141 // HHasInstanceType 142 // HHasInstanceType
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 V(CompareMapAndBranch) \ 201 V(CompareMapAndBranch) \
201 V(Constant) \ 202 V(Constant) \
202 V(DeleteProperty) \ 203 V(DeleteProperty) \
203 V(Deoptimize) \ 204 V(Deoptimize) \
204 V(Div) \ 205 V(Div) \
205 V(EnterInlined) \ 206 V(EnterInlined) \
206 V(FunctionLiteral) \ 207 V(FunctionLiteral) \
207 V(GlobalObject) \ 208 V(GlobalObject) \
208 V(GlobalReceiver) \ 209 V(GlobalReceiver) \
209 V(Goto) \ 210 V(Goto) \
211 V(InitConst) \
210 V(InstanceOf) \ 212 V(InstanceOf) \
211 V(IsNull) \ 213 V(IsNull) \
212 V(IsObject) \ 214 V(IsObject) \
213 V(IsSmi) \ 215 V(IsSmi) \
214 V(HasInstanceType) \ 216 V(HasInstanceType) \
215 V(HasCachedArrayIndex) \ 217 V(HasCachedArrayIndex) \
216 V(ClassOfTest) \ 218 V(ClassOfTest) \
217 V(LeaveInlined) \ 219 V(LeaveInlined) \
218 V(LoadElements) \ 220 V(LoadElements) \
219 V(LoadGlobal) \ 221 V(LoadGlobal) \
(...skipping 734 matching lines...) Expand 10 before | Expand all | Expand 10 after
954 protected: 956 protected:
955 virtual void InternalSetOperandAt(int index, HValue* value) { 957 virtual void InternalSetOperandAt(int index, HValue* value) {
956 operands_[index] = value; 958 operands_[index] = value;
957 } 959 }
958 960
959 private: 961 private:
960 HOperandVector<1> operands_; 962 HOperandVector<1> operands_;
961 }; 963 };
962 964
963 965
966 class HInitConst: public HUnaryOperation {
967 public:
968 explicit HInitConst(HValue* old_value) : HUnaryOperation(old_value) { }
969 DECLARE_CONCRETE_INSTRUCTION(InitConst, "init_const")
970 };
971
972
964 class HChange: public HUnaryOperation { 973 class HChange: public HUnaryOperation {
965 public: 974 public:
966 HChange(HValue* value, 975 HChange(HValue* value,
967 Representation from, 976 Representation from,
968 Representation to) 977 Representation to)
969 : HUnaryOperation(value), from_(from), to_(to) { 978 : HUnaryOperation(value), from_(from), to_(to) {
970 ASSERT(!from.IsNone() && !to.IsNone()); 979 ASSERT(!from.IsNone() && !to.IsNone());
971 ASSERT(!from.Equals(to)); 980 ASSERT(!from.Equals(to));
972 set_representation(to); 981 set_representation(to);
973 SetFlag(kUseGVN); 982 SetFlag(kUseGVN);
(...skipping 1966 matching lines...) Expand 10 before | Expand all | Expand 10 after
2940 HValue* object() const { return left(); } 2949 HValue* object() const { return left(); }
2941 HValue* key() const { return right(); } 2950 HValue* key() const { return right(); }
2942 }; 2951 };
2943 2952
2944 #undef DECLARE_INSTRUCTION 2953 #undef DECLARE_INSTRUCTION
2945 #undef DECLARE_CONCRETE_INSTRUCTION 2954 #undef DECLARE_CONCRETE_INSTRUCTION
2946 2955
2947 } } // namespace v8::internal 2956 } } // namespace v8::internal
2948 2957
2949 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ 2958 #endif // V8_HYDROGEN_INSTRUCTIONS_H_
OLDNEW
« src/hydrogen.cc ('K') | « src/hydrogen.cc ('k') | src/ia32/lithium-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698