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

Side by Side Diff: src/arm/lithium-arm.h

Issue 6066010: Merge 6095:6198 from bleeding_edge to experimental/gc. (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/gc/
Patch Set: Created 9 years, 11 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 | « src/arm/full-codegen-arm.cc ('k') | src/arm/lithium-arm.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 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 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 // LOsrEntry 94 // LOsrEntry
95 // LParameter 95 // LParameter
96 // LStackCheck 96 // LStackCheck
97 // LStoreKeyed 97 // LStoreKeyed
98 // LStoreKeyedFastElement 98 // LStoreKeyedFastElement
99 // LStoreKeyedGeneric 99 // LStoreKeyedGeneric
100 // LStoreNamed 100 // LStoreNamed
101 // LStoreNamedField 101 // LStoreNamedField
102 // LStoreNamedGeneric 102 // LStoreNamedGeneric
103 // LUnaryOperation 103 // LUnaryOperation
104 // LArrayLength 104 // LJSArrayLength
105 // LFixedArrayLength
105 // LBitNotI 106 // LBitNotI
106 // LBranch 107 // LBranch
107 // LCallNew 108 // LCallNew
108 // LCheckFunction 109 // LCheckFunction
109 // LCheckInstanceType 110 // LCheckInstanceType
110 // LCheckMap 111 // LCheckMap
111 // LCheckPrototypeMaps 112 // LCheckPrototypeMaps
112 // LCheckSmi 113 // LCheckSmi
113 // LClassOfTest 114 // LClassOfTest
114 // LClassOfTestAndBranch 115 // LClassOfTestAndBranch
115 // LDeleteProperty 116 // LDeleteProperty
116 // LDoubleToI 117 // LDoubleToI
117 // LHasCachedArrayIndex 118 // LHasCachedArrayIndex
118 // LHasCachedArrayIndexAndBranch 119 // LHasCachedArrayIndexAndBranch
119 // LHasInstanceType 120 // LHasInstanceType
120 // LHasInstanceTypeAndBranch 121 // LHasInstanceTypeAndBranch
121 // LInteger32ToDouble 122 // LInteger32ToDouble
122 // LIsNull 123 // LIsNull
123 // LIsNullAndBranch 124 // LIsNullAndBranch
124 // LIsObject 125 // LIsObject
125 // LIsObjectAndBranch 126 // LIsObjectAndBranch
126 // LIsSmi 127 // LIsSmi
127 // LIsSmiAndBranch 128 // LIsSmiAndBranch
128 // LLoadNamedField 129 // LLoadNamedField
129 // LLoadNamedGeneric 130 // LLoadNamedGeneric
131 // LLoadFunctionPrototype
130 // LNumberTagD 132 // LNumberTagD
131 // LNumberTagI 133 // LNumberTagI
132 // LPushArgument 134 // LPushArgument
133 // LReturn 135 // LReturn
134 // LSmiTag 136 // LSmiTag
135 // LStoreGlobal 137 // LStoreGlobal
136 // LTaggedToI 138 // LTaggedToI
137 // LThrow 139 // LThrow
138 // LTypeof 140 // LTypeof
139 // LTypeofIs 141 // LTypeofIs
(...skipping 14 matching lines...) Expand all
154 156
155 157
156 #define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \ 158 #define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \
157 V(AccessArgumentsAt) \ 159 V(AccessArgumentsAt) \
158 V(AddI) \ 160 V(AddI) \
159 V(ApplyArguments) \ 161 V(ApplyArguments) \
160 V(ArgumentsElements) \ 162 V(ArgumentsElements) \
161 V(ArgumentsLength) \ 163 V(ArgumentsLength) \
162 V(ArithmeticD) \ 164 V(ArithmeticD) \
163 V(ArithmeticT) \ 165 V(ArithmeticT) \
164 V(ArrayLength) \
165 V(ArrayLiteral) \ 166 V(ArrayLiteral) \
166 V(BitI) \ 167 V(BitI) \
167 V(BitNotI) \ 168 V(BitNotI) \
168 V(BoundsCheck) \ 169 V(BoundsCheck) \
169 V(Branch) \ 170 V(Branch) \
170 V(CallConstantFunction) \ 171 V(CallConstantFunction) \
171 V(CallFunction) \ 172 V(CallFunction) \
172 V(CallGlobal) \ 173 V(CallGlobal) \
173 V(CallKeyed) \ 174 V(CallKeyed) \
174 V(CallKnownGlobal) \ 175 V(CallKnownGlobal) \
(...skipping 13 matching lines...) Expand all
188 V(CmpMapAndBranch) \ 189 V(CmpMapAndBranch) \
189 V(CmpT) \ 190 V(CmpT) \
190 V(CmpTAndBranch) \ 191 V(CmpTAndBranch) \
191 V(ConstantD) \ 192 V(ConstantD) \
192 V(ConstantI) \ 193 V(ConstantI) \
193 V(ConstantT) \ 194 V(ConstantT) \
194 V(DeleteProperty) \ 195 V(DeleteProperty) \
195 V(Deoptimize) \ 196 V(Deoptimize) \
196 V(DivI) \ 197 V(DivI) \
197 V(DoubleToI) \ 198 V(DoubleToI) \
199 V(FixedArrayLength) \
198 V(FunctionLiteral) \ 200 V(FunctionLiteral) \
199 V(Gap) \ 201 V(Gap) \
200 V(GlobalObject) \ 202 V(GlobalObject) \
201 V(GlobalReceiver) \ 203 V(GlobalReceiver) \
202 V(Goto) \ 204 V(Goto) \
203 V(InstanceOf) \ 205 V(InstanceOf) \
204 V(InstanceOfAndBranch) \ 206 V(InstanceOfAndBranch) \
205 V(Integer32ToDouble) \ 207 V(Integer32ToDouble) \
206 V(IsNull) \ 208 V(IsNull) \
207 V(IsNullAndBranch) \ 209 V(IsNullAndBranch) \
208 V(IsObject) \ 210 V(IsObject) \
209 V(IsObjectAndBranch) \ 211 V(IsObjectAndBranch) \
210 V(IsSmi) \ 212 V(IsSmi) \
211 V(IsSmiAndBranch) \ 213 V(IsSmiAndBranch) \
214 V(JSArrayLength) \
212 V(HasInstanceType) \ 215 V(HasInstanceType) \
213 V(HasInstanceTypeAndBranch) \ 216 V(HasInstanceTypeAndBranch) \
214 V(HasCachedArrayIndex) \ 217 V(HasCachedArrayIndex) \
215 V(HasCachedArrayIndexAndBranch) \ 218 V(HasCachedArrayIndexAndBranch) \
216 V(ClassOfTest) \ 219 V(ClassOfTest) \
217 V(ClassOfTestAndBranch) \ 220 V(ClassOfTestAndBranch) \
218 V(Label) \ 221 V(Label) \
219 V(LazyBailout) \ 222 V(LazyBailout) \
220 V(LoadElements) \ 223 V(LoadElements) \
221 V(LoadGlobal) \ 224 V(LoadGlobal) \
222 V(LoadKeyedFastElement) \ 225 V(LoadKeyedFastElement) \
223 V(LoadKeyedGeneric) \ 226 V(LoadKeyedGeneric) \
224 V(LoadNamedField) \ 227 V(LoadNamedField) \
225 V(LoadNamedGeneric) \ 228 V(LoadNamedGeneric) \
229 V(LoadFunctionPrototype) \
226 V(ModI) \ 230 V(ModI) \
227 V(MulI) \ 231 V(MulI) \
228 V(NumberTagD) \ 232 V(NumberTagD) \
229 V(NumberTagI) \ 233 V(NumberTagI) \
230 V(NumberUntagD) \ 234 V(NumberUntagD) \
231 V(ObjectLiteral) \ 235 V(ObjectLiteral) \
232 V(OsrEntry) \ 236 V(OsrEntry) \
233 V(Parameter) \ 237 V(Parameter) \
234 V(PushArgument) \ 238 V(PushArgument) \
235 V(RegExpLiteral) \ 239 V(RegExpLiteral) \
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 719
716 private: 720 private:
717 bool is_strict_; 721 bool is_strict_;
718 }; 722 };
719 723
720 724
721 class LIsNullAndBranch: public LIsNull { 725 class LIsNullAndBranch: public LIsNull {
722 public: 726 public:
723 LIsNullAndBranch(LOperand* value, 727 LIsNullAndBranch(LOperand* value,
724 bool is_strict, 728 bool is_strict,
725 LOperand* temp,
726 int true_block_id, 729 int true_block_id,
727 int false_block_id) 730 int false_block_id)
728 : LIsNull(value, is_strict), 731 : LIsNull(value, is_strict),
729 temp_(temp),
730 true_block_id_(true_block_id), 732 true_block_id_(true_block_id),
731 false_block_id_(false_block_id) { } 733 false_block_id_(false_block_id) { }
732 734
733 DECLARE_CONCRETE_INSTRUCTION(IsNullAndBranch, "is-null-and-branch") 735 DECLARE_CONCRETE_INSTRUCTION(IsNullAndBranch, "is-null-and-branch")
734 virtual void PrintDataTo(StringStream* stream) const; 736 virtual void PrintDataTo(StringStream* stream) const;
735 virtual bool IsControl() const { return true; } 737 virtual bool IsControl() const { return true; }
736 738
737 int true_block_id() const { return true_block_id_; } 739 int true_block_id() const { return true_block_id_; }
738 int false_block_id() const { return false_block_id_; } 740 int false_block_id() const { return false_block_id_; }
739 741
740 LOperand* temp() const { return temp_; }
741
742 private: 742 private:
743 LOperand* temp_;
744 int true_block_id_; 743 int true_block_id_;
745 int false_block_id_; 744 int false_block_id_;
746 }; 745 };
747 746
748 747
749 class LIsObject: public LUnaryOperation { 748 class LIsObject: public LUnaryOperation {
750 public: 749 public:
751 LIsObject(LOperand* value, LOperand* temp) 750 LIsObject(LOperand* value, LOperand* temp)
752 : LUnaryOperation(value), temp_(temp) {} 751 : LUnaryOperation(value), temp_(temp) {}
753 752
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 DECLARE_HYDROGEN_ACCESSOR(HasInstanceType) 827 DECLARE_HYDROGEN_ACCESSOR(HasInstanceType)
829 828
830 InstanceType TestType(); // The type to test against when generating code. 829 InstanceType TestType(); // The type to test against when generating code.
831 Condition BranchCondition(); // The branch condition for 'true'. 830 Condition BranchCondition(); // The branch condition for 'true'.
832 }; 831 };
833 832
834 833
835 class LHasInstanceTypeAndBranch: public LHasInstanceType { 834 class LHasInstanceTypeAndBranch: public LHasInstanceType {
836 public: 835 public:
837 LHasInstanceTypeAndBranch(LOperand* value, 836 LHasInstanceTypeAndBranch(LOperand* value,
838 LOperand* temporary,
839 int true_block_id, 837 int true_block_id,
840 int false_block_id) 838 int false_block_id)
841 : LHasInstanceType(value), 839 : LHasInstanceType(value),
842 temp_(temporary),
843 true_block_id_(true_block_id), 840 true_block_id_(true_block_id),
844 false_block_id_(false_block_id) { } 841 false_block_id_(false_block_id) { }
845 842
846 DECLARE_CONCRETE_INSTRUCTION(HasInstanceTypeAndBranch, 843 DECLARE_CONCRETE_INSTRUCTION(HasInstanceTypeAndBranch,
847 "has-instance-type-and-branch") 844 "has-instance-type-and-branch")
848 virtual void PrintDataTo(StringStream* stream) const; 845 virtual void PrintDataTo(StringStream* stream) const;
849 virtual bool IsControl() const { return true; } 846 virtual bool IsControl() const { return true; }
850 847
851 int true_block_id() const { return true_block_id_; } 848 int true_block_id() const { return true_block_id_; }
852 int false_block_id() const { return false_block_id_; } 849 int false_block_id() const { return false_block_id_; }
853 850
854 LOperand* temp() { return temp_; }
855
856 private: 851 private:
857 LOperand* temp_;
858 int true_block_id_; 852 int true_block_id_;
859 int false_block_id_; 853 int false_block_id_;
860 }; 854 };
861 855
862 856
863 class LHasCachedArrayIndex: public LUnaryOperation { 857 class LHasCachedArrayIndex: public LUnaryOperation {
864 public: 858 public:
865 explicit LHasCachedArrayIndex(LOperand* value) : LUnaryOperation(value) {} 859 explicit LHasCachedArrayIndex(LOperand* value) : LUnaryOperation(value) {}
866 860
867 DECLARE_CONCRETE_INSTRUCTION(HasCachedArrayIndex, "has-cached-array-index") 861 DECLARE_CONCRETE_INSTRUCTION(HasCachedArrayIndex, "has-cached-array-index")
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
1110 int false_block_id() const { return false_block_id_; } 1104 int false_block_id() const { return false_block_id_; }
1111 1105
1112 private: 1106 private:
1113 int true_block_id_; 1107 int true_block_id_;
1114 int false_block_id_; 1108 int false_block_id_;
1115 }; 1109 };
1116 1110
1117 1111
1118 class LCmpMapAndBranch: public LUnaryOperation { 1112 class LCmpMapAndBranch: public LUnaryOperation {
1119 public: 1113 public:
1120 LCmpMapAndBranch(LOperand* value, 1114 LCmpMapAndBranch(LOperand* value, LOperand* temp)
1121 Handle<Map> map, 1115 : LUnaryOperation(value), temp_(temp) { }
1122 int true_block_id,
1123 int false_block_id)
1124 : LUnaryOperation(value),
1125 map_(map),
1126 true_block_id_(true_block_id),
1127 false_block_id_(false_block_id) { }
1128 1116
1129 DECLARE_CONCRETE_INSTRUCTION(CmpMapAndBranch, "cmp-map-and-branch") 1117 DECLARE_CONCRETE_INSTRUCTION(CmpMapAndBranch, "cmp-map-and-branch")
1118 DECLARE_HYDROGEN_ACCESSOR(CompareMapAndBranch)
1130 1119
1131 virtual bool IsControl() const { return true; } 1120 virtual bool IsControl() const { return true; }
1132 1121
1133 Handle<Map> map() const { return map_; } 1122 LOperand* temp() const { return temp_; }
1134 int true_block_id() const { return true_block_id_; } 1123 Handle<Map> map() const { return hydrogen()->map(); }
1135 int false_block_id() const { return false_block_id_; } 1124 int true_block_id() const {
1125 return hydrogen()->true_destination()->block_id();
1126 }
1127 int false_block_id() const {
1128 return hydrogen()->false_destination()->block_id();
1129 }
1136 1130
1137 private: 1131 private:
1138 Handle<Map> map_; 1132 LOperand* temp_;
1139 int true_block_id_;
1140 int false_block_id_;
1141 }; 1133 };
1142 1134
1143 1135
1144 class LArrayLength: public LUnaryOperation { 1136 class LJSArrayLength: public LUnaryOperation {
1145 public: 1137 public:
1146 LArrayLength(LOperand* input, LOperand* temporary) 1138 explicit LJSArrayLength(LOperand* input) : LUnaryOperation(input) { }
1147 : LUnaryOperation(input), temporary_(temporary) { }
1148 1139
1149 LOperand* temporary() const { return temporary_; } 1140 DECLARE_CONCRETE_INSTRUCTION(JSArrayLength, "js-array-length")
1150 1141 DECLARE_HYDROGEN_ACCESSOR(JSArrayLength)
1151 DECLARE_CONCRETE_INSTRUCTION(ArrayLength, "array-length")
1152 DECLARE_HYDROGEN_ACCESSOR(ArrayLength)
1153
1154 private:
1155 LOperand* temporary_;
1156 }; 1142 };
1157 1143
1158 1144
1145 class LFixedArrayLength: public LUnaryOperation {
1146 public:
1147 explicit LFixedArrayLength(LOperand* input) : LUnaryOperation(input) { }
1148
1149 DECLARE_CONCRETE_INSTRUCTION(FixedArrayLength, "fixed-array-length")
1150 DECLARE_HYDROGEN_ACCESSOR(FixedArrayLength)
1151 };
1152
1153
1159 class LValueOf: public LUnaryOperation { 1154 class LValueOf: public LUnaryOperation {
1160 public: 1155 public:
1161 LValueOf(LOperand* input, LOperand* temporary) 1156 LValueOf(LOperand* input, LOperand* temporary)
1162 : LUnaryOperation(input), temporary_(temporary) { } 1157 : LUnaryOperation(input), temporary_(temporary) { }
1163 1158
1164 LOperand* temporary() const { return temporary_; } 1159 LOperand* temporary() const { return temporary_; }
1165 1160
1166 DECLARE_CONCRETE_INSTRUCTION(ValueOf, "value-of") 1161 DECLARE_CONCRETE_INSTRUCTION(ValueOf, "value-of")
1167 DECLARE_HYDROGEN_ACCESSOR(ValueOf) 1162 DECLARE_HYDROGEN_ACCESSOR(ValueOf)
1168 1163
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
1249 explicit LLoadNamedGeneric(LOperand* object) : LUnaryOperation(object) { } 1244 explicit LLoadNamedGeneric(LOperand* object) : LUnaryOperation(object) { }
1250 1245
1251 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic") 1246 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic")
1252 DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric) 1247 DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric)
1253 1248
1254 LOperand* object() const { return input(); } 1249 LOperand* object() const { return input(); }
1255 Handle<Object> name() const { return hydrogen()->name(); } 1250 Handle<Object> name() const { return hydrogen()->name(); }
1256 }; 1251 };
1257 1252
1258 1253
1254 class LLoadFunctionPrototype: public LUnaryOperation {
1255 public:
1256 explicit LLoadFunctionPrototype(LOperand* function)
1257 : LUnaryOperation(function) { }
1258
1259 DECLARE_CONCRETE_INSTRUCTION(LoadFunctionPrototype, "load-function-prototype")
1260 DECLARE_HYDROGEN_ACCESSOR(LoadFunctionPrototype)
1261
1262 LOperand* function() const { return input(); }
1263 };
1264
1265
1259 class LLoadElements: public LUnaryOperation { 1266 class LLoadElements: public LUnaryOperation {
1260 public: 1267 public:
1261 explicit LLoadElements(LOperand* obj) : LUnaryOperation(obj) { } 1268 explicit LLoadElements(LOperand* obj) : LUnaryOperation(obj) { }
1262 1269
1263 DECLARE_CONCRETE_INSTRUCTION(LoadElements, "load-elements") 1270 DECLARE_CONCRETE_INSTRUCTION(LoadElements, "load-elements")
1264 }; 1271 };
1265 1272
1266 1273
1267 class LLoadKeyedFastElement: public LBinaryOperation { 1274 class LLoadKeyedFastElement: public LBinaryOperation {
1268 public: 1275 public:
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
1648 public: 1655 public:
1649 explicit LCheckMap(LOperand* use) : LUnaryOperation(use) { } 1656 explicit LCheckMap(LOperand* use) : LUnaryOperation(use) { }
1650 1657
1651 DECLARE_CONCRETE_INSTRUCTION(CheckMap, "check-map") 1658 DECLARE_CONCRETE_INSTRUCTION(CheckMap, "check-map")
1652 DECLARE_HYDROGEN_ACCESSOR(CheckMap) 1659 DECLARE_HYDROGEN_ACCESSOR(CheckMap)
1653 }; 1660 };
1654 1661
1655 1662
1656 class LCheckPrototypeMaps: public LInstruction { 1663 class LCheckPrototypeMaps: public LInstruction {
1657 public: 1664 public:
1658 LCheckPrototypeMaps(LOperand* temp, 1665 LCheckPrototypeMaps(LOperand* temp1,
1666 LOperand* temp2,
1659 Handle<JSObject> holder, 1667 Handle<JSObject> holder,
1660 Handle<Map> receiver_map) 1668 Handle<Map> receiver_map)
1661 : temp_(temp), 1669 : temp1_(temp1),
1670 temp2_(temp2),
1662 holder_(holder), 1671 holder_(holder),
1663 receiver_map_(receiver_map) { } 1672 receiver_map_(receiver_map) { }
1664 1673
1665 DECLARE_CONCRETE_INSTRUCTION(CheckPrototypeMaps, "check-prototype-maps") 1674 DECLARE_CONCRETE_INSTRUCTION(CheckPrototypeMaps, "check-prototype-maps")
1666 1675
1667 LOperand* temp() const { return temp_; } 1676 LOperand* temp1() const { return temp1_; }
1677 LOperand* temp2() const { return temp2_; }
1668 Handle<JSObject> holder() const { return holder_; } 1678 Handle<JSObject> holder() const { return holder_; }
1669 Handle<Map> receiver_map() const { return receiver_map_; } 1679 Handle<Map> receiver_map() const { return receiver_map_; }
1670 1680
1671 private: 1681 private:
1672 LOperand* temp_; 1682 LOperand* temp1_;
1683 LOperand* temp2_;
1673 Handle<JSObject> holder_; 1684 Handle<JSObject> holder_;
1674 Handle<Map> receiver_map_; 1685 Handle<Map> receiver_map_;
1675 }; 1686 };
1676 1687
1677 1688
1678 class LCheckSmi: public LUnaryOperation { 1689 class LCheckSmi: public LUnaryOperation {
1679 public: 1690 public:
1680 LCheckSmi(LOperand* use, Condition condition) 1691 LCheckSmi(LOperand* use, Condition condition)
1681 : LUnaryOperation(use), condition_(condition) { } 1692 : LUnaryOperation(use), condition_(condition) { }
1682 1693
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after
2044 LOperand* UseOrConstantAtStart(HValue* value); 2055 LOperand* UseOrConstantAtStart(HValue* value);
2045 LOperand* UseRegisterOrConstant(HValue* value); 2056 LOperand* UseRegisterOrConstant(HValue* value);
2046 LOperand* UseRegisterOrConstantAtStart(HValue* value); 2057 LOperand* UseRegisterOrConstantAtStart(HValue* value);
2047 2058
2048 // Methods for setting up define-use relationships. 2059 // Methods for setting up define-use relationships.
2049 // Return the same instruction that they are passed. 2060 // Return the same instruction that they are passed.
2050 LInstruction* Define(LInstruction* instr, LUnallocated* result); 2061 LInstruction* Define(LInstruction* instr, LUnallocated* result);
2051 LInstruction* Define(LInstruction* instr); 2062 LInstruction* Define(LInstruction* instr);
2052 LInstruction* DefineAsRegister(LInstruction* instr); 2063 LInstruction* DefineAsRegister(LInstruction* instr);
2053 LInstruction* DefineAsSpilled(LInstruction* instr, int index); 2064 LInstruction* DefineAsSpilled(LInstruction* instr, int index);
2054 LInstruction* DefineSameAsAny(LInstruction* instr);
2055 LInstruction* DefineSameAsFirst(LInstruction* instr); 2065 LInstruction* DefineSameAsFirst(LInstruction* instr);
2056 LInstruction* DefineFixed(LInstruction* instr, Register reg); 2066 LInstruction* DefineFixed(LInstruction* instr, Register reg);
2057 LInstruction* DefineFixedDouble(LInstruction* instr, DoubleRegister reg); 2067 LInstruction* DefineFixedDouble(LInstruction* instr, DoubleRegister reg);
2058 LInstruction* AssignEnvironment(LInstruction* instr); 2068 LInstruction* AssignEnvironment(LInstruction* instr);
2059 LInstruction* AssignPointerMap(LInstruction* instr); 2069 LInstruction* AssignPointerMap(LInstruction* instr);
2060 2070
2061 enum CanDeoptimize { CAN_DEOPTIMIZE_EAGERLY, CANNOT_DEOPTIMIZE_EAGERLY }; 2071 enum CanDeoptimize { CAN_DEOPTIMIZE_EAGERLY, CANNOT_DEOPTIMIZE_EAGERLY };
2062 2072
2063 // By default we assume that instruction sequences generated for calls 2073 // By default we assume that instruction sequences generated for calls
2064 // cannot deoptimize eagerly and we do not attach environment to this 2074 // cannot deoptimize eagerly and we do not attach environment to this
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
2106 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2116 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2107 }; 2117 };
2108 2118
2109 #undef DECLARE_HYDROGEN_ACCESSOR 2119 #undef DECLARE_HYDROGEN_ACCESSOR
2110 #undef DECLARE_INSTRUCTION 2120 #undef DECLARE_INSTRUCTION
2111 #undef DECLARE_CONCRETE_INSTRUCTION 2121 #undef DECLARE_CONCRETE_INSTRUCTION
2112 2122
2113 } } // namespace v8::internal 2123 } } // namespace v8::internal
2114 2124
2115 #endif // V8_ARM_LITHIUM_ARM_H_ 2125 #endif // V8_ARM_LITHIUM_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/full-codegen-arm.cc ('k') | src/arm/lithium-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698