Changeset 489
- Timestamp:
- 01/08/11 20:48:18 (14 years ago)
- Files:
-
- trunk/src/rt/deh.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/rt/deh.d
r485 r489 701 701 pop EBX; 702 702 pop ECX; 703 703 mov ESP,EBP; 704 704 pop EBP; 705 705 ret; 706 706 } 707 707 } 708 708 709 709 /*********************************** 710 710 * external version of the unwinder 711 * This is used for 'goto' or 'return', to run any finally blocks 712 * which were skipped. 711 713 */ 712 714 extern(C) 713 715 void _d_local_unwind2() 714 716 { 715 717 asm 716 718 { 717 719 naked; 718 jmp _d_local_unwind; 719 } 720 jmp _d_localUnwindForGoto; 721 } 722 } 723 724 extern(C) 725 void _d_localUnwindForGoto(DHandlerTable *handler_table, 726 DEstablisherFrame *frame, int stop_index) 727 { 728 _d_local_unwind(handler_table, frame, stop_index, &searchCollisionExceptionHandler); 720 729 } 721 730 722 731 /*********************************** 723 732 * The frame handler, this is called for each frame that has been registered 724 733 * in the OS except_list. 725 734 * Input: 726 735 * EAX the handler table for the frame 727 736 */ 728 737 729 738 extern(C)
