| OLD | NEW |
| 1 //===------------------------- cxa_exception.cpp --------------------------===// | 1 //===------------------------- cxa_exception.cpp --------------------------===// |
| 2 // | 2 // |
| 3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
| 4 // | 4 // |
| 5 // This file is dual licensed under the MIT and the University of Illinois Open | 5 // This file is dual licensed under the MIT and the University of Illinois Open |
| 6 // Source Licenses. See LICENSE.TXT for details. | 6 // Source Licenses. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 // | 8 // |
| 9 // This file implements the "Exception Handling APIs" | 9 // This file implements the "Exception Handling APIs" |
| 10 // http://mentorembedded.github.io/cxx-abi/abi-eh.html | 10 // http://mentorembedded.github.io/cxx-abi/abi-eh.html |
| (...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 505 }; | 505 }; |
| 506 | 506 |
| 507 } // unnamed namespace | 507 } // unnamed namespace |
| 508 | 508 |
| 509 static | 509 static |
| 510 void | 510 void |
| 511 set_registers(_Unwind_Exception* unwind_exception, _Unwind_Context* context, | 511 set_registers(_Unwind_Exception* unwind_exception, _Unwind_Context* context, |
| 512 const scan_results& results) | 512 const scan_results& results) |
| 513 { | 513 { |
| 514 // @LOCALMOD-START | 514 // @LOCALMOD-START |
| 515 #if defined(__pnacl__) | 515 #if defined(__pnacl__) || defined(__arm__) |
| 516 _Unwind_PNaClSetResult0( | 516 _Unwind_PNaClSetResult0( |
| 517 context, reinterpret_cast<uintptr_t>(unwind_exception)); | 517 context, reinterpret_cast<uintptr_t>(unwind_exception)); |
| 518 _Unwind_PNaClSetResult1( | 518 _Unwind_PNaClSetResult1( |
| 519 context, static_cast<uintptr_t>(results.ttypeIndex)); | 519 context, static_cast<uintptr_t>(results.ttypeIndex)); |
| 520 #else | 520 #else |
| 521 _Unwind_SetGR(context, __builtin_eh_return_data_regno(0), | 521 _Unwind_SetGR(context, __builtin_eh_return_data_regno(0), |
| 522 reinterpret_cast<uintptr_t>(unwind_exception)); | 522 reinterpret_cast<uintptr_t>(unwind_exception)); |
| 523 _Unwind_SetGR(context, __builtin_eh_return_data_regno(1), | 523 _Unwind_SetGR(context, __builtin_eh_return_data_regno(1), |
| 524 static_cast<uintptr_t>(results.ttypeIndex)); | 524 static_cast<uintptr_t>(results.ttypeIndex)); |
| 525 #endif | 525 #endif |
| (...skipping 778 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1304 throw be; | 1304 throw be; |
| 1305 } | 1305 } |
| 1306 } | 1306 } |
| 1307 } | 1307 } |
| 1308 std::__terminate(t_handler); | 1308 std::__terminate(t_handler); |
| 1309 } | 1309 } |
| 1310 | 1310 |
| 1311 } // extern "C" | 1311 } // extern "C" |
| 1312 | 1312 |
| 1313 } // __cxxabiv1 | 1313 } // __cxxabiv1 |
| OLD | NEW |