Chromium Code Reviews| 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" | 5 #include "vm/globals.h" |
| 6 #if defined(TARGET_ARCH_ARM) | 6 #if defined(TARGET_ARCH_ARM) |
| 7 | 7 |
| 8 #include "vm/assembler.h" | 8 #include "vm/assembler.h" |
| 9 #include "vm/code_generator.h" | 9 #include "vm/code_generator.h" |
| 10 #include "vm/compiler.h" | 10 #include "vm/compiler.h" |
| (...skipping 1668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1679 // LR: return address. | 1679 // LR: return address. |
| 1680 // R0: instance (must be preserved). | 1680 // R0: instance (must be preserved). |
| 1681 // R1: instantiator type arguments or NULL. | 1681 // R1: instantiator type arguments or NULL. |
| 1682 // R2: cache array. | 1682 // R2: cache array. |
| 1683 // Result in R1: null -> not found, otherwise result (true or false). | 1683 // Result in R1: null -> not found, otherwise result (true or false). |
| 1684 void StubCode::GenerateSubtype3TestCacheStub(Assembler* assembler) { | 1684 void StubCode::GenerateSubtype3TestCacheStub(Assembler* assembler) { |
| 1685 GenerateSubtypeNTestCacheStub(assembler, 3); | 1685 GenerateSubtypeNTestCacheStub(assembler, 3); |
| 1686 } | 1686 } |
| 1687 | 1687 |
| 1688 | 1688 |
| 1689 // Return the current stack pointer address, used to stack alignment | 1689 // Return the current stack pointer address, used to stack alignment |
|
regis
2013/05/02 22:32:40
to -> for
zra
2013/05/02 22:58:40
Done.
| |
| 1690 // checks. | 1690 // checks. |
| 1691 void StubCode::GenerateGetStackPointerStub(Assembler* assembler) { | 1691 void StubCode::GenerateGetStackPointerStub(Assembler* assembler) { |
| 1692 __ Unimplemented("GetStackPointer Stub"); | 1692 __ mov(R0, ShifterOperand(SP)); |
| 1693 __ Ret(); | |
| 1693 } | 1694 } |
| 1694 | 1695 |
| 1695 | 1696 |
| 1696 // Jump to the exception or error handler. | 1697 // Jump to the exception or error handler. |
| 1697 // LR: return address. | 1698 // LR: return address. |
| 1698 // R0: program_counter. | 1699 // R0: program_counter. |
| 1699 // R1: stack_pointer. | 1700 // R1: stack_pointer. |
| 1700 // R2: frame_pointer. | 1701 // R2: frame_pointer. |
| 1701 // R3: error object. | 1702 // R3: error object. |
| 1702 // SP: address of stacktrace object. | 1703 // SP: address of stacktrace object. |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1902 __ Bind(&reference_compare); | 1903 __ Bind(&reference_compare); |
| 1903 __ cmp(left, ShifterOperand(right)); | 1904 __ cmp(left, ShifterOperand(right)); |
| 1904 __ Bind(&done); | 1905 __ Bind(&done); |
| 1905 __ PopList((1 << R0) | (1 << R1) | (1 << R2)); | 1906 __ PopList((1 << R0) | (1 << R1) | (1 << R2)); |
| 1906 __ Ret(); | 1907 __ Ret(); |
| 1907 } | 1908 } |
| 1908 | 1909 |
| 1909 } // namespace dart | 1910 } // namespace dart |
| 1910 | 1911 |
| 1911 #endif // defined TARGET_ARCH_ARM | 1912 #endif // defined TARGET_ARCH_ARM |
| OLD | NEW |