| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM. | 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM. |
| 6 #if defined(TARGET_ARCH_ARM) | 6 #if defined(TARGET_ARCH_ARM) |
| 7 | 7 |
| 8 #include "vm/intermediate_language.h" | 8 #include "vm/intermediate_language.h" |
| 9 | 9 |
| 10 #include "lib/error.h" | 10 #include "lib/error.h" |
| (...skipping 1246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1257 UNIMPLEMENTED(); | 1257 UNIMPLEMENTED(); |
| 1258 return NULL; | 1258 return NULL; |
| 1259 } | 1259 } |
| 1260 | 1260 |
| 1261 | 1261 |
| 1262 void UnboxDoubleInstr::EmitNativeCode(FlowGraphCompiler* compiler) { | 1262 void UnboxDoubleInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| 1263 UNIMPLEMENTED(); | 1263 UNIMPLEMENTED(); |
| 1264 } | 1264 } |
| 1265 | 1265 |
| 1266 | 1266 |
| 1267 LocationSummary* BoxFloat32x4Instr::MakeLocationSummary() const { |
| 1268 UNIMPLEMENTED(); |
| 1269 return NULL; |
| 1270 } |
| 1271 |
| 1272 |
| 1273 void BoxFloat32x4Instr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| 1274 UNIMPLEMENTED(); |
| 1275 } |
| 1276 |
| 1277 |
| 1278 LocationSummary* UnboxFloat32x4Instr::MakeLocationSummary() const { |
| 1279 UNIMPLEMENTED(); |
| 1280 return NULL; |
| 1281 } |
| 1282 |
| 1283 |
| 1284 void UnboxFloat32x4Instr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| 1285 UNIMPLEMENTED(); |
| 1286 } |
| 1287 |
| 1288 |
| 1267 LocationSummary* BinaryDoubleOpInstr::MakeLocationSummary() const { | 1289 LocationSummary* BinaryDoubleOpInstr::MakeLocationSummary() const { |
| 1268 UNIMPLEMENTED(); | 1290 UNIMPLEMENTED(); |
| 1269 return NULL; | 1291 return NULL; |
| 1270 } | 1292 } |
| 1271 | 1293 |
| 1272 | 1294 |
| 1273 void BinaryDoubleOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) { | 1295 void BinaryDoubleOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| 1274 UNIMPLEMENTED(); | 1296 UNIMPLEMENTED(); |
| 1275 } | 1297 } |
| 1276 | 1298 |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1428 | 1450 |
| 1429 void CheckSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) { | 1451 void CheckSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| 1430 Register value = locs()->in(0).reg(); | 1452 Register value = locs()->in(0).reg(); |
| 1431 Label* deopt = compiler->AddDeoptStub(deopt_id(), | 1453 Label* deopt = compiler->AddDeoptStub(deopt_id(), |
| 1432 kDeoptCheckSmi); | 1454 kDeoptCheckSmi); |
| 1433 __ tst(value, ShifterOperand(kSmiTagMask)); | 1455 __ tst(value, ShifterOperand(kSmiTagMask)); |
| 1434 __ b(deopt, NE); | 1456 __ b(deopt, NE); |
| 1435 } | 1457 } |
| 1436 | 1458 |
| 1437 | 1459 |
| 1460 LocationSummary* CheckNonSmiInstr::MakeLocationSummary() const { |
| 1461 const intptr_t kNumInputs = 1; |
| 1462 const intptr_t kNumTemps = 0; |
| 1463 LocationSummary* summary = |
| 1464 new LocationSummary(kNumInputs, kNumTemps, LocationSummary::kNoCall); |
| 1465 summary->set_in(0, Location::RequiresRegister()); |
| 1466 return summary; |
| 1467 } |
| 1468 |
| 1469 |
| 1470 void CheckNonSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| 1471 Register value = locs()->in(0).reg(); |
| 1472 Label* deopt = compiler->AddDeoptStub(deopt_id(), |
| 1473 kDeoptCheckNonSmi); |
| 1474 __ tst(value, ShifterOperand(kSmiTagMask)); |
| 1475 __ b(deopt, EQ); |
| 1476 } |
| 1477 |
| 1478 |
| 1438 LocationSummary* CheckArrayBoundInstr::MakeLocationSummary() const { | 1479 LocationSummary* CheckArrayBoundInstr::MakeLocationSummary() const { |
| 1439 UNIMPLEMENTED(); | 1480 UNIMPLEMENTED(); |
| 1440 return NULL; | 1481 return NULL; |
| 1441 } | 1482 } |
| 1442 | 1483 |
| 1443 | 1484 |
| 1444 void CheckArrayBoundInstr::EmitNativeCode(FlowGraphCompiler* compiler) { | 1485 void CheckArrayBoundInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| 1445 UNIMPLEMENTED(); | 1486 UNIMPLEMENTED(); |
| 1446 } | 1487 } |
| 1447 | 1488 |
| (...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1755 | 1796 |
| 1756 | 1797 |
| 1757 void CreateClosureInstr::EmitNativeCode(FlowGraphCompiler* compiler) { | 1798 void CreateClosureInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| 1758 UNIMPLEMENTED(); | 1799 UNIMPLEMENTED(); |
| 1759 } | 1800 } |
| 1760 | 1801 |
| 1761 } // namespace dart | 1802 } // namespace dart |
| 1762 | 1803 |
| 1763 #endif // defined TARGET_ARCH_ARM | 1804 #endif // defined TARGET_ARCH_ARM |
| 1764 | 1805 |
| OLD | NEW |