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 "src/crankshaft/arm64/lithium-arm64.h" | 5 #include "src/crankshaft/arm64/lithium-arm64.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/crankshaft/arm64/lithium-codegen-arm64.h" | 9 #include "src/crankshaft/arm64/lithium-codegen-arm64.h" |
10 #include "src/crankshaft/hydrogen-osr.h" | 10 #include "src/crankshaft/hydrogen-osr.h" |
(...skipping 1583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1594 elements, key, backing_store_owner, temp)); | 1594 elements, key, backing_store_owner, temp)); |
1595 if (elements_kind == UINT32_ELEMENTS && | 1595 if (elements_kind == UINT32_ELEMENTS && |
1596 !instr->CheckFlag(HInstruction::kUint32)) { | 1596 !instr->CheckFlag(HInstruction::kUint32)) { |
1597 result = AssignEnvironment(result); | 1597 result = AssignEnvironment(result); |
1598 } | 1598 } |
1599 return result; | 1599 return result; |
1600 } | 1600 } |
1601 } | 1601 } |
1602 | 1602 |
1603 | 1603 |
1604 LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) { | |
1605 LOperand* context = UseFixed(instr->context(), cp); | |
1606 LOperand* object = | |
1607 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); | |
1608 LOperand* key = UseFixed(instr->key(), LoadDescriptor::NameRegister()); | |
1609 LOperand* vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); | |
1610 | |
1611 LInstruction* result = | |
1612 DefineFixed(new(zone()) LLoadKeyedGeneric(context, object, key, vector), | |
1613 x0); | |
1614 return MarkAsCall(result, instr); | |
1615 } | |
1616 | |
1617 | |
1618 LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) { | 1604 LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) { |
1619 LOperand* object = UseRegisterAtStart(instr->object()); | 1605 LOperand* object = UseRegisterAtStart(instr->object()); |
1620 return DefineAsRegister(new(zone()) LLoadNamedField(object)); | 1606 return DefineAsRegister(new(zone()) LLoadNamedField(object)); |
1621 } | 1607 } |
1622 | 1608 |
1623 | 1609 |
1624 LInstruction* LChunkBuilder::DoLoadRoot(HLoadRoot* instr) { | 1610 LInstruction* LChunkBuilder::DoLoadRoot(HLoadRoot* instr) { |
1625 return DefineAsRegister(new(zone()) LLoadRoot); | 1611 return DefineAsRegister(new(zone()) LLoadRoot); |
1626 } | 1612 } |
1627 | 1613 |
(...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2529 | 2515 |
2530 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { | 2516 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { |
2531 LOperand* receiver = UseRegister(instr->receiver()); | 2517 LOperand* receiver = UseRegister(instr->receiver()); |
2532 LOperand* function = UseRegister(instr->function()); | 2518 LOperand* function = UseRegister(instr->function()); |
2533 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); | 2519 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); |
2534 return AssignEnvironment(DefineAsRegister(result)); | 2520 return AssignEnvironment(DefineAsRegister(result)); |
2535 } | 2521 } |
2536 | 2522 |
2537 } // namespace internal | 2523 } // namespace internal |
2538 } // namespace v8 | 2524 } // namespace v8 |
OLD | NEW |