Changeset f79ee0d for doc/theses/andrew_beach_MMath/code/resume-other.cfa
- Timestamp:
- Aug 19, 2021, 1:58:46 PM (3 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, pthread-emulation, qualifiedEnum
- Children:
- 262deda0
- Parents:
- 8a1d95af
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/andrew_beach_MMath/code/resume-other.cfa
r8a1d95af rf79ee0d 3 3 #include <exception.hfa> 4 4 #include <fstream.hfa> 5 #include <stdlib.hfa> 5 #include <stdlib.hfa> // strto 6 6 7 EHM_EXCEPTION(empty_exception)(); 7 exception empty_exception; 8 vtable(empty_exception) empty_vt; 9 exception not_raised_exception; 8 10 9 EHM_VIRTUAL_TABLE(empty_exception, empty_vt); 10 11 EHM_EXCEPTION(not_raised_exception)(); 12 13 void unwind_other(unsigned int frames) { 11 void nounwind_other(unsigned int frames) { 14 12 if (frames) { 15 13 try { 16 unwind_other(frames - 1);14 nounwind_other(frames - 1); 17 15 } catchResume (not_raised_exception *) { 18 16 asm volatile ("# fixup block (stack)"); … … 27 25 unsigned int total_frames = 1; 28 26 if (1 < argc) { 29 times = strto l(argv[1], 0p, 10);27 times = strto(argv[1], 0p, 10); 30 28 } 31 29 if (2 < argc) { 32 total_frames = strto l(argv[2], 0p, 10);30 total_frames = strto(argv[2], 0p, 10); 33 31 } 34 32 … … 36 34 for (int count = 0 ; count < times ; ++count) { 37 35 try { 38 unwind_other(total_frames);36 nounwind_other(total_frames); 39 37 } catchResume (empty_exception *) { 40 38 asm volatile ("# fixup block (base)"); … … 42 40 } 43 41 Time end_time = timeHiRes(); 44 sout | "Run-Time ( ns): " | (end_time - start_time)`ns;42 sout | "Run-Time (s): " | wd(0,1, (end_time - start_time)`ns / 1_000_000_000.); 45 43 }
Note: See TracChangeset
for help on using the changeset viewer.