Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(185)

Side by Side Diff: src/cxa_personality.cpp

Issue 876353003: Use PNaCl's _Unwind_PNaClSetResult functions for arm-nacl-clang (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-libcxxabi.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698