| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 835 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 846 ASSERT(right->representation().IsSmiOrTagged()); | 846 ASSERT(right->representation().IsSmiOrTagged()); |
| 847 | 847 |
| 848 LOperand* left_operand = UseFixed(left, x1); | 848 LOperand* left_operand = UseFixed(left, x1); |
| 849 LOperand* right_operand = UseFixed(right, x0); | 849 LOperand* right_operand = UseFixed(right, x0); |
| 850 LArithmeticT* result = | 850 LArithmeticT* result = |
| 851 new(zone()) LArithmeticT(op, left_operand, right_operand); | 851 new(zone()) LArithmeticT(op, left_operand, right_operand); |
| 852 return MarkAsCall(DefineFixed(result, x0), instr); | 852 return MarkAsCall(DefineFixed(result, x0), instr); |
| 853 } | 853 } |
| 854 | 854 |
| 855 | 855 |
| 856 #define UNIMPLEMENTED_INSTRUCTION() \ | |
| 857 do { \ | |
| 858 info_->set_bailout_reason(kUnimplementedHydrogenInstruction); \ | |
| 859 status_ = ABORTED; \ | |
| 860 return NULL; \ | |
| 861 } while (0) | |
| 862 | |
| 863 | |
| 864 LInstruction* LChunkBuilder::DoBoundsCheckBaseIndexInformation( | 856 LInstruction* LChunkBuilder::DoBoundsCheckBaseIndexInformation( |
| 865 HBoundsCheckBaseIndexInformation* instr) { | 857 HBoundsCheckBaseIndexInformation* instr) { |
| 866 UNREACHABLE(); | 858 UNREACHABLE(); |
| 867 return NULL; | 859 return NULL; |
| 868 } | 860 } |
| 869 | 861 |
| 870 | 862 |
| 871 LInstruction* LChunkBuilder::DoAbnormalExit(HAbnormalExit* instr) { | 863 LInstruction* LChunkBuilder::DoAbnormalExit(HAbnormalExit* instr) { |
| 872 // The control instruction marking the end of a block that completed abruptly | 864 // The control instruction marking the end of a block that completed abruptly |
| 873 // (e.g., threw an exception). There is nothing specific to do. | 865 // (e.g., threw an exception). There is nothing specific to do. |
| (...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1484 | 1476 |
| 1485 | 1477 |
| 1486 LInstruction* LChunkBuilder::DoEnvironmentMarker(HEnvironmentMarker* instr) { | 1478 LInstruction* LChunkBuilder::DoEnvironmentMarker(HEnvironmentMarker* instr) { |
| 1487 UNREACHABLE(); | 1479 UNREACHABLE(); |
| 1488 return NULL; | 1480 return NULL; |
| 1489 } | 1481 } |
| 1490 | 1482 |
| 1491 | 1483 |
| 1492 LInstruction* LChunkBuilder::DoForceRepresentation( | 1484 LInstruction* LChunkBuilder::DoForceRepresentation( |
| 1493 HForceRepresentation* instr) { | 1485 HForceRepresentation* instr) { |
| 1494 UNIMPLEMENTED_INSTRUCTION(); | 1486 // All HForceRepresentation instructions should be eliminated in the |
| 1487 // representation change phase of Hydrogen. |
| 1488 UNREACHABLE(); |
| 1489 return NULL; |
| 1495 } | 1490 } |
| 1496 | 1491 |
| 1497 | 1492 |
| 1498 LInstruction* LChunkBuilder::DoFunctionLiteral(HFunctionLiteral* instr) { | 1493 LInstruction* LChunkBuilder::DoFunctionLiteral(HFunctionLiteral* instr) { |
| 1499 return MarkAsCall(DefineFixed(new(zone()) LFunctionLiteral, x0), instr); | 1494 return MarkAsCall(DefineFixed(new(zone()) LFunctionLiteral, x0), instr); |
| 1500 } | 1495 } |
| 1501 | 1496 |
| 1502 | 1497 |
| 1503 LInstruction* LChunkBuilder::DoGetCachedArrayIndex( | 1498 LInstruction* LChunkBuilder::DoGetCachedArrayIndex( |
| 1504 HGetCachedArrayIndex* instr) { | 1499 HGetCachedArrayIndex* instr) { |
| (...skipping 1036 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2541 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { | 2536 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { |
| 2542 LOperand* receiver = UseRegister(instr->receiver()); | 2537 LOperand* receiver = UseRegister(instr->receiver()); |
| 2543 LOperand* function = UseRegisterAtStart(instr->function()); | 2538 LOperand* function = UseRegisterAtStart(instr->function()); |
| 2544 LOperand* temp = TempRegister(); | 2539 LOperand* temp = TempRegister(); |
| 2545 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function, temp); | 2540 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function, temp); |
| 2546 return AssignEnvironment(DefineAsRegister(result)); | 2541 return AssignEnvironment(DefineAsRegister(result)); |
| 2547 } | 2542 } |
| 2548 | 2543 |
| 2549 | 2544 |
| 2550 } } // namespace v8::internal | 2545 } } // namespace v8::internal |
| OLD | NEW |