OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 #include "v8.h" | 5 #include "v8.h" |
6 | 6 |
7 #include "lithium-allocator-inl.h" | 7 #include "lithium-allocator-inl.h" |
8 #include "arm64/lithium-arm64.h" | 8 #include "arm64/lithium-arm64.h" |
9 #include "arm64/lithium-codegen-arm64.h" | 9 #include "arm64/lithium-codegen-arm64.h" |
10 #include "hydrogen-osr.h" | 10 #include "hydrogen-osr.h" |
(...skipping 2491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2502 } else { | 2502 } else { |
2503 LOperand* object = UseFixed(instr->object(), x0); | 2503 LOperand* object = UseFixed(instr->object(), x0); |
2504 LOperand* context = UseFixed(instr->context(), cp); | 2504 LOperand* context = UseFixed(instr->context(), cp); |
2505 LTransitionElementsKind* result = | 2505 LTransitionElementsKind* result = |
2506 new(zone()) LTransitionElementsKind(object, context, NULL, NULL); | 2506 new(zone()) LTransitionElementsKind(object, context, NULL, NULL); |
2507 return MarkAsCall(result, instr); | 2507 return MarkAsCall(result, instr); |
2508 } | 2508 } |
2509 } | 2509 } |
2510 | 2510 |
2511 | 2511 |
| 2512 LInstruction* LChunkBuilder::DoArrayShift(HArrayShift* instr) { |
| 2513 LOperand* object = UseFixed(instr->object(), x0); |
| 2514 LOperand* context = UseFixed(instr->context(), cp); |
| 2515 LArrayShift* result = new(zone()) LArrayShift(context, object); |
| 2516 return MarkAsCall(DefineFixed(result, x0), instr, CANNOT_DEOPTIMIZE_EAGERLY); |
| 2517 } |
| 2518 |
| 2519 |
2512 LInstruction* LChunkBuilder::DoTrapAllocationMemento( | 2520 LInstruction* LChunkBuilder::DoTrapAllocationMemento( |
2513 HTrapAllocationMemento* instr) { | 2521 HTrapAllocationMemento* instr) { |
2514 LOperand* object = UseRegister(instr->object()); | 2522 LOperand* object = UseRegister(instr->object()); |
2515 LOperand* temp1 = TempRegister(); | 2523 LOperand* temp1 = TempRegister(); |
2516 LOperand* temp2 = TempRegister(); | 2524 LOperand* temp2 = TempRegister(); |
2517 LTrapAllocationMemento* result = | 2525 LTrapAllocationMemento* result = |
2518 new(zone()) LTrapAllocationMemento(object, temp1, temp2); | 2526 new(zone()) LTrapAllocationMemento(object, temp1, temp2); |
2519 return AssignEnvironment(result); | 2527 return AssignEnvironment(result); |
2520 } | 2528 } |
2521 | 2529 |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2695 | 2703 |
2696 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { | 2704 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { |
2697 LOperand* receiver = UseRegister(instr->receiver()); | 2705 LOperand* receiver = UseRegister(instr->receiver()); |
2698 LOperand* function = UseRegister(instr->function()); | 2706 LOperand* function = UseRegister(instr->function()); |
2699 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); | 2707 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); |
2700 return AssignEnvironment(DefineAsRegister(result)); | 2708 return AssignEnvironment(DefineAsRegister(result)); |
2701 } | 2709 } |
2702 | 2710 |
2703 | 2711 |
2704 } } // namespace v8::internal | 2712 } } // namespace v8::internal |
OLD | NEW |