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/cpu.h" | 10 #include "vm/cpu.h" |
(...skipping 1876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1887 // The arguments are stored in the Thread object. | 1887 // The arguments are stored in the Thread object. |
1888 // Does not return. | 1888 // Does not return. |
1889 void StubCode::GenerateRunExceptionHandlerStub(Assembler* assembler) { | 1889 void StubCode::GenerateRunExceptionHandlerStub(Assembler* assembler) { |
1890 __ LoadFromOffset(kWord, LR, THR, Thread::resume_pc_offset()); | 1890 __ LoadFromOffset(kWord, LR, THR, Thread::resume_pc_offset()); |
1891 __ LoadImmediate(R2, 0); | 1891 __ LoadImmediate(R2, 0); |
1892 | 1892 |
1893 // Exception object. | 1893 // Exception object. |
1894 __ LoadFromOffset(kWord, R0, THR, Thread::active_exception_offset()); | 1894 __ LoadFromOffset(kWord, R0, THR, Thread::active_exception_offset()); |
1895 __ StoreToOffset(kWord, R2, THR, Thread::active_exception_offset()); | 1895 __ StoreToOffset(kWord, R2, THR, Thread::active_exception_offset()); |
1896 | 1896 |
1897 // Stacktrace object. | 1897 // StackTrace object. |
1898 __ LoadFromOffset(kWord, R1, THR, Thread::active_stacktrace_offset()); | 1898 __ LoadFromOffset(kWord, R1, THR, Thread::active_stacktrace_offset()); |
1899 __ StoreToOffset(kWord, R2, THR, Thread::active_stacktrace_offset()); | 1899 __ StoreToOffset(kWord, R2, THR, Thread::active_stacktrace_offset()); |
1900 | 1900 |
1901 __ bx(LR); // Jump to the exception handler code. | 1901 __ bx(LR); // Jump to the exception handler code. |
1902 } | 1902 } |
1903 | 1903 |
1904 | 1904 |
1905 // Deoptimize a frame on the call stack before rewinding. | 1905 // Deoptimize a frame on the call stack before rewinding. |
1906 // The arguments are stored in the Thread object. | 1906 // The arguments are stored in the Thread object. |
1907 // No result. | 1907 // No result. |
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2281 } | 2281 } |
2282 | 2282 |
2283 | 2283 |
2284 void StubCode::GenerateFrameAwaitingMaterializationStub(Assembler* assembler) { | 2284 void StubCode::GenerateFrameAwaitingMaterializationStub(Assembler* assembler) { |
2285 __ bkpt(0); | 2285 __ bkpt(0); |
2286 } | 2286 } |
2287 | 2287 |
2288 } // namespace dart | 2288 } // namespace dart |
2289 | 2289 |
2290 #endif // defined TARGET_ARCH_ARM | 2290 #endif // defined TARGET_ARCH_ARM |
OLD | NEW |