| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_HYDROGEN_H_ | 5 #ifndef V8_HYDROGEN_H_ |
| 6 #define V8_HYDROGEN_H_ | 6 #define V8_HYDROGEN_H_ |
| 7 | 7 |
| 8 #include "src/v8.h" | 8 #include "src/v8.h" |
| 9 | 9 |
| 10 #include "src/accessors.h" | 10 #include "src/accessors.h" |
| (...skipping 1084 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1095 } | 1095 } |
| 1096 void AddLeaveInlined(HBasicBlock* block, | 1096 void AddLeaveInlined(HBasicBlock* block, |
| 1097 HValue* return_value, | 1097 HValue* return_value, |
| 1098 FunctionState* state) { | 1098 FunctionState* state) { |
| 1099 block->AddLeaveInlined(return_value, state, source_position()); | 1099 block->AddLeaveInlined(return_value, state, source_position()); |
| 1100 } | 1100 } |
| 1101 void AddLeaveInlined(HValue* return_value, FunctionState* state) { | 1101 void AddLeaveInlined(HValue* return_value, FunctionState* state) { |
| 1102 return AddLeaveInlined(current_block(), return_value, state); | 1102 return AddLeaveInlined(current_block(), return_value, state); |
| 1103 } | 1103 } |
| 1104 | 1104 |
| 1105 template<class I> | 1105 template <class I> |
| 1106 HInstruction* NewUncasted() { return I::New(zone(), context()); } | 1106 HInstruction* NewUncasted() { |
| 1107 return I::New(isolate(), zone(), context()); |
| 1108 } |
| 1107 | 1109 |
| 1108 template<class I> | 1110 template <class I> |
| 1109 I* New() { return I::New(zone(), context()); } | 1111 I* New() { |
| 1112 return I::New(isolate(), zone(), context()); |
| 1113 } |
| 1110 | 1114 |
| 1111 template<class I> | 1115 template<class I> |
| 1112 HInstruction* AddUncasted() { return AddInstruction(NewUncasted<I>());} | 1116 HInstruction* AddUncasted() { return AddInstruction(NewUncasted<I>());} |
| 1113 | 1117 |
| 1114 template<class I> | 1118 template<class I> |
| 1115 I* Add() { return AddInstructionTyped(New<I>());} | 1119 I* Add() { return AddInstructionTyped(New<I>());} |
| 1116 | 1120 |
| 1117 template<class I, class P1> | 1121 template<class I, class P1> |
| 1118 HInstruction* NewUncasted(P1 p1) { | 1122 HInstruction* NewUncasted(P1 p1) { |
| 1119 return I::New(zone(), context(), p1); | 1123 return I::New(isolate(), zone(), context(), p1); |
| 1124 } |
| 1125 |
| 1126 template <class I, class P1> |
| 1127 I* New(P1 p1) { |
| 1128 return I::New(isolate(), zone(), context(), p1); |
| 1120 } | 1129 } |
| 1121 | 1130 |
| 1122 template<class I, class P1> | 1131 template<class I, class P1> |
| 1123 I* New(P1 p1) { return I::New(zone(), context(), p1); } | |
| 1124 | |
| 1125 template<class I, class P1> | |
| 1126 HInstruction* AddUncasted(P1 p1) { | 1132 HInstruction* AddUncasted(P1 p1) { |
| 1127 HInstruction* result = AddInstruction(NewUncasted<I>(p1)); | 1133 HInstruction* result = AddInstruction(NewUncasted<I>(p1)); |
| 1128 // Specializations must have their parameters properly casted | 1134 // Specializations must have their parameters properly casted |
| 1129 // to avoid landing here. | 1135 // to avoid landing here. |
| 1130 DCHECK(!result->IsReturn() && !result->IsSimulate() && | 1136 DCHECK(!result->IsReturn() && !result->IsSimulate() && |
| 1131 !result->IsDeoptimize()); | 1137 !result->IsDeoptimize()); |
| 1132 return result; | 1138 return result; |
| 1133 } | 1139 } |
| 1134 | 1140 |
| 1135 template<class I, class P1> | 1141 template<class I, class P1> |
| 1136 I* Add(P1 p1) { | 1142 I* Add(P1 p1) { |
| 1137 I* result = AddInstructionTyped(New<I>(p1)); | 1143 I* result = AddInstructionTyped(New<I>(p1)); |
| 1138 // Specializations must have their parameters properly casted | 1144 // Specializations must have their parameters properly casted |
| 1139 // to avoid landing here. | 1145 // to avoid landing here. |
| 1140 DCHECK(!result->IsReturn() && !result->IsSimulate() && | 1146 DCHECK(!result->IsReturn() && !result->IsSimulate() && |
| 1141 !result->IsDeoptimize()); | 1147 !result->IsDeoptimize()); |
| 1142 return result; | 1148 return result; |
| 1143 } | 1149 } |
| 1144 | 1150 |
| 1145 template<class I, class P1, class P2> | 1151 template<class I, class P1, class P2> |
| 1146 HInstruction* NewUncasted(P1 p1, P2 p2) { | 1152 HInstruction* NewUncasted(P1 p1, P2 p2) { |
| 1147 return I::New(zone(), context(), p1, p2); | 1153 return I::New(isolate(), zone(), context(), p1, p2); |
| 1148 } | 1154 } |
| 1149 | 1155 |
| 1150 template<class I, class P1, class P2> | 1156 template<class I, class P1, class P2> |
| 1151 I* New(P1 p1, P2 p2) { | 1157 I* New(P1 p1, P2 p2) { |
| 1152 return I::New(zone(), context(), p1, p2); | 1158 return I::New(isolate(), zone(), context(), p1, p2); |
| 1153 } | 1159 } |
| 1154 | 1160 |
| 1155 template<class I, class P1, class P2> | 1161 template<class I, class P1, class P2> |
| 1156 HInstruction* AddUncasted(P1 p1, P2 p2) { | 1162 HInstruction* AddUncasted(P1 p1, P2 p2) { |
| 1157 HInstruction* result = AddInstruction(NewUncasted<I>(p1, p2)); | 1163 HInstruction* result = AddInstruction(NewUncasted<I>(p1, p2)); |
| 1158 // Specializations must have their parameters properly casted | 1164 // Specializations must have their parameters properly casted |
| 1159 // to avoid landing here. | 1165 // to avoid landing here. |
| 1160 DCHECK(!result->IsSimulate()); | 1166 DCHECK(!result->IsSimulate()); |
| 1161 return result; | 1167 return result; |
| 1162 } | 1168 } |
| 1163 | 1169 |
| 1164 template<class I, class P1, class P2> | 1170 template<class I, class P1, class P2> |
| 1165 I* Add(P1 p1, P2 p2) { | 1171 I* Add(P1 p1, P2 p2) { |
| 1166 I* result = AddInstructionTyped(New<I>(p1, p2)); | 1172 I* result = AddInstructionTyped(New<I>(p1, p2)); |
| 1167 // Specializations must have their parameters properly casted | 1173 // Specializations must have their parameters properly casted |
| 1168 // to avoid landing here. | 1174 // to avoid landing here. |
| 1169 DCHECK(!result->IsSimulate()); | 1175 DCHECK(!result->IsSimulate()); |
| 1170 return result; | 1176 return result; |
| 1171 } | 1177 } |
| 1172 | 1178 |
| 1173 template<class I, class P1, class P2, class P3> | 1179 template<class I, class P1, class P2, class P3> |
| 1174 HInstruction* NewUncasted(P1 p1, P2 p2, P3 p3) { | 1180 HInstruction* NewUncasted(P1 p1, P2 p2, P3 p3) { |
| 1175 return I::New(zone(), context(), p1, p2, p3); | 1181 return I::New(isolate(), zone(), context(), p1, p2, p3); |
| 1176 } | 1182 } |
| 1177 | 1183 |
| 1178 template<class I, class P1, class P2, class P3> | 1184 template<class I, class P1, class P2, class P3> |
| 1179 I* New(P1 p1, P2 p2, P3 p3) { | 1185 I* New(P1 p1, P2 p2, P3 p3) { |
| 1180 return I::New(zone(), context(), p1, p2, p3); | 1186 return I::New(isolate(), zone(), context(), p1, p2, p3); |
| 1181 } | 1187 } |
| 1182 | 1188 |
| 1183 template<class I, class P1, class P2, class P3> | 1189 template<class I, class P1, class P2, class P3> |
| 1184 HInstruction* AddUncasted(P1 p1, P2 p2, P3 p3) { | 1190 HInstruction* AddUncasted(P1 p1, P2 p2, P3 p3) { |
| 1185 return AddInstruction(NewUncasted<I>(p1, p2, p3)); | 1191 return AddInstruction(NewUncasted<I>(p1, p2, p3)); |
| 1186 } | 1192 } |
| 1187 | 1193 |
| 1188 template<class I, class P1, class P2, class P3> | 1194 template<class I, class P1, class P2, class P3> |
| 1189 I* Add(P1 p1, P2 p2, P3 p3) { | 1195 I* Add(P1 p1, P2 p2, P3 p3) { |
| 1190 return AddInstructionTyped(New<I>(p1, p2, p3)); | 1196 return AddInstructionTyped(New<I>(p1, p2, p3)); |
| 1191 } | 1197 } |
| 1192 | 1198 |
| 1193 template<class I, class P1, class P2, class P3, class P4> | 1199 template<class I, class P1, class P2, class P3, class P4> |
| 1194 HInstruction* NewUncasted(P1 p1, P2 p2, P3 p3, P4 p4) { | 1200 HInstruction* NewUncasted(P1 p1, P2 p2, P3 p3, P4 p4) { |
| 1195 return I::New(zone(), context(), p1, p2, p3, p4); | 1201 return I::New(isolate(), zone(), context(), p1, p2, p3, p4); |
| 1196 } | 1202 } |
| 1197 | 1203 |
| 1198 template<class I, class P1, class P2, class P3, class P4> | 1204 template<class I, class P1, class P2, class P3, class P4> |
| 1199 I* New(P1 p1, P2 p2, P3 p3, P4 p4) { | 1205 I* New(P1 p1, P2 p2, P3 p3, P4 p4) { |
| 1200 return I::New(zone(), context(), p1, p2, p3, p4); | 1206 return I::New(isolate(), zone(), context(), p1, p2, p3, p4); |
| 1201 } | 1207 } |
| 1202 | 1208 |
| 1203 template<class I, class P1, class P2, class P3, class P4> | 1209 template<class I, class P1, class P2, class P3, class P4> |
| 1204 HInstruction* AddUncasted(P1 p1, P2 p2, P3 p3, P4 p4) { | 1210 HInstruction* AddUncasted(P1 p1, P2 p2, P3 p3, P4 p4) { |
| 1205 return AddInstruction(NewUncasted<I>(p1, p2, p3, p4)); | 1211 return AddInstruction(NewUncasted<I>(p1, p2, p3, p4)); |
| 1206 } | 1212 } |
| 1207 | 1213 |
| 1208 template<class I, class P1, class P2, class P3, class P4> | 1214 template<class I, class P1, class P2, class P3, class P4> |
| 1209 I* Add(P1 p1, P2 p2, P3 p3, P4 p4) { | 1215 I* Add(P1 p1, P2 p2, P3 p3, P4 p4) { |
| 1210 return AddInstructionTyped(New<I>(p1, p2, p3, p4)); | 1216 return AddInstructionTyped(New<I>(p1, p2, p3, p4)); |
| 1211 } | 1217 } |
| 1212 | 1218 |
| 1213 template<class I, class P1, class P2, class P3, class P4, class P5> | 1219 template<class I, class P1, class P2, class P3, class P4, class P5> |
| 1214 HInstruction* NewUncasted(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) { | 1220 HInstruction* NewUncasted(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) { |
| 1215 return I::New(zone(), context(), p1, p2, p3, p4, p5); | 1221 return I::New(isolate(), zone(), context(), p1, p2, p3, p4, p5); |
| 1216 } | 1222 } |
| 1217 | 1223 |
| 1218 template<class I, class P1, class P2, class P3, class P4, class P5> | 1224 template<class I, class P1, class P2, class P3, class P4, class P5> |
| 1219 I* New(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) { | 1225 I* New(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) { |
| 1220 return I::New(zone(), context(), p1, p2, p3, p4, p5); | 1226 return I::New(isolate(), zone(), context(), p1, p2, p3, p4, p5); |
| 1221 } | 1227 } |
| 1222 | 1228 |
| 1223 template<class I, class P1, class P2, class P3, class P4, class P5> | 1229 template<class I, class P1, class P2, class P3, class P4, class P5> |
| 1224 HInstruction* AddUncasted(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) { | 1230 HInstruction* AddUncasted(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) { |
| 1225 return AddInstruction(NewUncasted<I>(p1, p2, p3, p4, p5)); | 1231 return AddInstruction(NewUncasted<I>(p1, p2, p3, p4, p5)); |
| 1226 } | 1232 } |
| 1227 | 1233 |
| 1228 template<class I, class P1, class P2, class P3, class P4, class P5> | 1234 template<class I, class P1, class P2, class P3, class P4, class P5> |
| 1229 I* Add(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) { | 1235 I* Add(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) { |
| 1230 return AddInstructionTyped(New<I>(p1, p2, p3, p4, p5)); | 1236 return AddInstructionTyped(New<I>(p1, p2, p3, p4, p5)); |
| 1231 } | 1237 } |
| 1232 | 1238 |
| 1233 template<class I, class P1, class P2, class P3, class P4, class P5, class P6> | 1239 template<class I, class P1, class P2, class P3, class P4, class P5, class P6> |
| 1234 HInstruction* NewUncasted(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) { | 1240 HInstruction* NewUncasted(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) { |
| 1235 return I::New(zone(), context(), p1, p2, p3, p4, p5, p6); | 1241 return I::New(isolate(), zone(), context(), p1, p2, p3, p4, p5, p6); |
| 1236 } | 1242 } |
| 1237 | 1243 |
| 1238 template<class I, class P1, class P2, class P3, class P4, class P5, class P6> | 1244 template<class I, class P1, class P2, class P3, class P4, class P5, class P6> |
| 1239 I* New(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) { | 1245 I* New(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) { |
| 1240 return I::New(zone(), context(), p1, p2, p3, p4, p5, p6); | 1246 return I::New(isolate(), zone(), context(), p1, p2, p3, p4, p5, p6); |
| 1241 } | 1247 } |
| 1242 | 1248 |
| 1243 template<class I, class P1, class P2, class P3, class P4, class P5, class P6> | 1249 template<class I, class P1, class P2, class P3, class P4, class P5, class P6> |
| 1244 HInstruction* AddUncasted(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) { | 1250 HInstruction* AddUncasted(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) { |
| 1245 return AddInstruction(NewUncasted<I>(p1, p2, p3, p4, p5, p6)); | 1251 return AddInstruction(NewUncasted<I>(p1, p2, p3, p4, p5, p6)); |
| 1246 } | 1252 } |
| 1247 | 1253 |
| 1248 template<class I, class P1, class P2, class P3, class P4, class P5, class P6> | 1254 template<class I, class P1, class P2, class P3, class P4, class P5, class P6> |
| 1249 I* Add(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) { | 1255 I* Add(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) { |
| 1250 return AddInstructionTyped(New<I>(p1, p2, p3, p4, p5, p6)); | 1256 return AddInstructionTyped(New<I>(p1, p2, p3, p4, p5, p6)); |
| 1251 } | 1257 } |
| 1252 | 1258 |
| 1253 template<class I, class P1, class P2, class P3, class P4, | 1259 template<class I, class P1, class P2, class P3, class P4, |
| 1254 class P5, class P6, class P7> | 1260 class P5, class P6, class P7> |
| 1255 HInstruction* NewUncasted(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) { | 1261 HInstruction* NewUncasted(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) { |
| 1256 return I::New(zone(), context(), p1, p2, p3, p4, p5, p6, p7); | 1262 return I::New(isolate(), zone(), context(), p1, p2, p3, p4, p5, p6, p7); |
| 1257 } | 1263 } |
| 1258 | 1264 |
| 1259 template<class I, class P1, class P2, class P3, class P4, | 1265 template<class I, class P1, class P2, class P3, class P4, |
| 1260 class P5, class P6, class P7> | 1266 class P5, class P6, class P7> |
| 1261 I* New(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) { | 1267 I* New(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) { |
| 1262 return I::New(zone(), context(), p1, p2, p3, p4, p5, p6, p7); | 1268 return I::New(isolate(), zone(), context(), p1, p2, p3, p4, p5, p6, p7); |
| 1263 } | 1269 } |
| 1264 | 1270 |
| 1265 template<class I, class P1, class P2, class P3, | 1271 template<class I, class P1, class P2, class P3, |
| 1266 class P4, class P5, class P6, class P7> | 1272 class P4, class P5, class P6, class P7> |
| 1267 HInstruction* AddUncasted(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) { | 1273 HInstruction* AddUncasted(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) { |
| 1268 return AddInstruction(NewUncasted<I>(p1, p2, p3, p4, p5, p6, p7)); | 1274 return AddInstruction(NewUncasted<I>(p1, p2, p3, p4, p5, p6, p7)); |
| 1269 } | 1275 } |
| 1270 | 1276 |
| 1271 template<class I, class P1, class P2, class P3, | 1277 template<class I, class P1, class P2, class P3, |
| 1272 class P4, class P5, class P6, class P7> | 1278 class P4, class P5, class P6, class P7> |
| 1273 I* Add(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) { | 1279 I* Add(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) { |
| 1274 return AddInstructionTyped(New<I>(p1, p2, p3, p4, p5, p6, p7)); | 1280 return AddInstructionTyped(New<I>(p1, p2, p3, p4, p5, p6, p7)); |
| 1275 } | 1281 } |
| 1276 | 1282 |
| 1277 template<class I, class P1, class P2, class P3, class P4, | 1283 template<class I, class P1, class P2, class P3, class P4, |
| 1278 class P5, class P6, class P7, class P8> | 1284 class P5, class P6, class P7, class P8> |
| 1279 HInstruction* NewUncasted(P1 p1, P2 p2, P3 p3, P4 p4, | 1285 HInstruction* NewUncasted(P1 p1, P2 p2, P3 p3, P4 p4, |
| 1280 P5 p5, P6 p6, P7 p7, P8 p8) { | 1286 P5 p5, P6 p6, P7 p7, P8 p8) { |
| 1281 return I::New(zone(), context(), p1, p2, p3, p4, p5, p6, p7, p8); | 1287 return I::New(isolate(), zone(), context(), p1, p2, p3, p4, p5, p6, p7, p8); |
| 1282 } | 1288 } |
| 1283 | 1289 |
| 1284 template<class I, class P1, class P2, class P3, class P4, | 1290 template<class I, class P1, class P2, class P3, class P4, |
| 1285 class P5, class P6, class P7, class P8> | 1291 class P5, class P6, class P7, class P8> |
| 1286 I* New(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) { | 1292 I* New(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) { |
| 1287 return I::New(zone(), context(), p1, p2, p3, p4, p5, p6, p7, p8); | 1293 return I::New(isolate(), zone(), context(), p1, p2, p3, p4, p5, p6, p7, p8); |
| 1288 } | 1294 } |
| 1289 | 1295 |
| 1290 template<class I, class P1, class P2, class P3, class P4, | 1296 template<class I, class P1, class P2, class P3, class P4, |
| 1291 class P5, class P6, class P7, class P8> | 1297 class P5, class P6, class P7, class P8> |
| 1292 HInstruction* AddUncasted(P1 p1, P2 p2, P3 p3, P4 p4, | 1298 HInstruction* AddUncasted(P1 p1, P2 p2, P3 p3, P4 p4, |
| 1293 P5 p5, P6 p6, P7 p7, P8 p8) { | 1299 P5 p5, P6 p6, P7 p7, P8 p8) { |
| 1294 return AddInstruction(NewUncasted<I>(p1, p2, p3, p4, p5, p6, p7, p8)); | 1300 return AddInstruction(NewUncasted<I>(p1, p2, p3, p4, p5, p6, p7, p8)); |
| 1295 } | 1301 } |
| 1296 | 1302 |
| 1297 template<class I, class P1, class P2, class P3, class P4, | 1303 template<class I, class P1, class P2, class P3, class P4, |
| (...skipping 1203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2501 *access = HObjectAccess::ForMapAndOffset(map(), offset); | 2507 *access = HObjectAccess::ForMapAndOffset(map(), offset); |
| 2502 } | 2508 } |
| 2503 return true; | 2509 return true; |
| 2504 } | 2510 } |
| 2505 return false; | 2511 return false; |
| 2506 } | 2512 } |
| 2507 | 2513 |
| 2508 bool has_holder() { return !holder_.is_null(); } | 2514 bool has_holder() { return !holder_.is_null(); } |
| 2509 bool IsLoad() const { return access_type_ == LOAD; } | 2515 bool IsLoad() const { return access_type_ == LOAD; } |
| 2510 | 2516 |
| 2517 Isolate* isolate() const { return lookup_.isolate(); } |
| 2511 Handle<JSObject> holder() { return holder_; } | 2518 Handle<JSObject> holder() { return holder_; } |
| 2512 Handle<JSFunction> accessor() { return accessor_; } | 2519 Handle<JSFunction> accessor() { return accessor_; } |
| 2513 Handle<Object> constant() { return constant_; } | 2520 Handle<Object> constant() { return constant_; } |
| 2514 Handle<Map> transition() { return handle(lookup_.GetTransitionTarget()); } | 2521 Handle<Map> transition() { return handle(lookup_.GetTransitionTarget()); } |
| 2515 SmallMapList* field_maps() { return &field_maps_; } | 2522 SmallMapList* field_maps() { return &field_maps_; } |
| 2516 HType field_type() const { return field_type_; } | 2523 HType field_type() const { return field_type_; } |
| 2517 HObjectAccess access() { return access_; } | 2524 HObjectAccess access() { return access_; } |
| 2518 | 2525 |
| 2519 bool IsFound() const { return lookup_.IsFound(); } | 2526 bool IsFound() const { return lookup_.IsFound(); } |
| 2520 bool IsProperty() const { return lookup_.IsProperty(); } | 2527 bool IsProperty() const { return lookup_.IsProperty(); } |
| (...skipping 18 matching lines...) Expand all Loading... |
| 2539 Handle<Map> GetFieldOwnerFromMap(Handle<Map> map) const { | 2546 Handle<Map> GetFieldOwnerFromMap(Handle<Map> map) const { |
| 2540 return handle(lookup_.GetFieldOwnerFromMap(*map)); | 2547 return handle(lookup_.GetFieldOwnerFromMap(*map)); |
| 2541 } | 2548 } |
| 2542 int GetLocalFieldIndexFromMap(Handle<Map> map) const { | 2549 int GetLocalFieldIndexFromMap(Handle<Map> map) const { |
| 2543 return lookup_.GetLocalFieldIndexFromMap(*map); | 2550 return lookup_.GetLocalFieldIndexFromMap(*map); |
| 2544 } | 2551 } |
| 2545 Representation representation() const { return lookup_.representation(); } | 2552 Representation representation() const { return lookup_.representation(); } |
| 2546 | 2553 |
| 2547 Type* ToType(Handle<Map> map) { return builder_->ToType(map); } | 2554 Type* ToType(Handle<Map> map) { return builder_->ToType(map); } |
| 2548 Zone* zone() { return builder_->zone(); } | 2555 Zone* zone() { return builder_->zone(); } |
| 2549 Isolate* isolate() const { return lookup_.isolate(); } | |
| 2550 CompilationInfo* top_info() { return builder_->top_info(); } | 2556 CompilationInfo* top_info() { return builder_->top_info(); } |
| 2551 CompilationInfo* current_info() { return builder_->current_info(); } | 2557 CompilationInfo* current_info() { return builder_->current_info(); } |
| 2552 | 2558 |
| 2553 bool LoadResult(Handle<Map> map); | 2559 bool LoadResult(Handle<Map> map); |
| 2554 void LoadFieldMaps(Handle<Map> map); | 2560 void LoadFieldMaps(Handle<Map> map); |
| 2555 bool LookupDescriptor(); | 2561 bool LookupDescriptor(); |
| 2556 bool LookupInPrototypes(); | 2562 bool LookupInPrototypes(); |
| 2557 bool IsCompatible(PropertyAccessInfo* other); | 2563 bool IsCompatible(PropertyAccessInfo* other); |
| 2558 | 2564 |
| 2559 void GeneralizeRepresentation(Representation r) { | 2565 void GeneralizeRepresentation(Representation r) { |
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2942 } | 2948 } |
| 2943 | 2949 |
| 2944 private: | 2950 private: |
| 2945 HGraphBuilder* builder_; | 2951 HGraphBuilder* builder_; |
| 2946 }; | 2952 }; |
| 2947 | 2953 |
| 2948 | 2954 |
| 2949 } } // namespace v8::internal | 2955 } } // namespace v8::internal |
| 2950 | 2956 |
| 2951 #endif // V8_HYDROGEN_H_ | 2957 #endif // V8_HYDROGEN_H_ |
| OLD | NEW |