| 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_X64. | 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_X64. |
| 6 #if defined(TARGET_ARCH_X64) | 6 #if defined(TARGET_ARCH_X64) |
| 7 | 7 |
| 8 #include "vm/intermediate_language.h" | 8 #include "vm/intermediate_language.h" |
| 9 | 9 |
| 10 #include "vm/dart_entry.h" | 10 #include "vm/dart_entry.h" |
| (...skipping 1660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1671 | 1671 |
| 1672 LocationSummary* locs = instruction_->locs(); | 1672 LocationSummary* locs = instruction_->locs(); |
| 1673 | 1673 |
| 1674 locs->live_registers()->Remove(Location::RegisterLocation(result_)); | 1674 locs->live_registers()->Remove(Location::RegisterLocation(result_)); |
| 1675 | 1675 |
| 1676 compiler->SaveLiveRegisters(locs); | 1676 compiler->SaveLiveRegisters(locs); |
| 1677 compiler->GenerateCall(Scanner::kNoSourcePos, // No token position. | 1677 compiler->GenerateCall(Scanner::kNoSourcePos, // No token position. |
| 1678 &label, | 1678 &label, |
| 1679 RawPcDescriptors::kOther, | 1679 RawPcDescriptors::kOther, |
| 1680 locs); | 1680 locs); |
| 1681 compiler->AddStubCallTarget(stub); |
| 1681 __ MoveRegister(result_, RAX); | 1682 __ MoveRegister(result_, RAX); |
| 1682 compiler->RestoreLiveRegisters(locs); | 1683 compiler->RestoreLiveRegisters(locs); |
| 1683 __ jmp(exit_label()); | 1684 __ jmp(exit_label()); |
| 1684 } | 1685 } |
| 1685 | 1686 |
| 1686 static void Allocate(FlowGraphCompiler* compiler, | 1687 static void Allocate(FlowGraphCompiler* compiler, |
| 1687 Instruction* instruction, | 1688 Instruction* instruction, |
| 1688 const Class& cls, | 1689 const Class& cls, |
| 1689 Register result, | 1690 Register result, |
| 1690 Register temp) { | 1691 Register temp) { |
| (...skipping 4742 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6433 __ Drop(1); | 6434 __ Drop(1); |
| 6434 __ popq(result); | 6435 __ popq(result); |
| 6435 } | 6436 } |
| 6436 | 6437 |
| 6437 | 6438 |
| 6438 } // namespace dart | 6439 } // namespace dart |
| 6439 | 6440 |
| 6440 #undef __ | 6441 #undef __ |
| 6441 | 6442 |
| 6442 #endif // defined TARGET_ARCH_X64 | 6443 #endif // defined TARGET_ARCH_X64 |
| OLD | NEW |