Index: doc/theses/andrew_beach_MMath/code/cond-catch.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/cond-catch.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/cond-catch.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -19,5 +19,5 @@
 		throw_exception();
 	} catch (empty_exception * exc ; should_catch) {
-		// ...
+		asm volatile ("# catch block (conditional)");
 	}
 }
@@ -37,5 +37,5 @@
 			cond_catch();
 		} catch (empty_exception * exc) {
-			// ...
+			asm volatile ("# catch block (unconditional)");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/cond-catch.cpp
===================================================================
--- doc/theses/andrew_beach_MMath/code/cond-catch.cpp	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/cond-catch.cpp	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -22,4 +22,5 @@
 			throw;
 		}
+		asm volatile ("# catch block (conditional)");
 	}
 }
@@ -39,5 +40,5 @@
 			cond_catch();
 		} catch (EmptyException &) {
-			// ...
+			asm volatile ("# catch block (unconditional)");
 		}
     }
Index: doc/theses/andrew_beach_MMath/code/cond-fixup.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/cond-fixup.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/cond-fixup.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -19,5 +19,5 @@
 		throw_exception();
 	} catchResume (empty_exception * exc ; should_catch) {
-		// ...
+		asm volatile ("# fixup block (conditional)");
 	}
 }
@@ -37,5 +37,5 @@
 			cond_catch();
 		} catchResume (empty_exception * exc) {
-			// ...
+			asm volatile ("# fixup block (unconditional)");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/cross-catch.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/cross-catch.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/cross-catch.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -7,12 +7,11 @@
 EHM_EXCEPTION(not_raised_exception)();
 
+EHM_VIRTUAL_TABLE(not_raised_exception, not_vt);
+
 int main(int argc, char * argv[]) {
 	unsigned int times = 1;
-	unsigned int total_frames = 1;
+	bool should_throw = false;
 	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
-	}
-	if (2 < argc) {
-		total_frames = strtol(argv[2], 0p, 10);
 	}
 
@@ -20,7 +19,10 @@
 	for (unsigned int count = 0 ; count < times ; ++count) {
 		try {
-			// ...
+			asm volatile ("# try block" : "=rm" (should_throw));
+			if (should_throw) {
+				throw (not_raised_exception){&not_vt};
+			}
 		} catch (not_raised_exception *) {
-			// ...
+			asm volatile ("# catch block");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/cross-catch.cpp
===================================================================
--- doc/theses/andrew_beach_MMath/code/cross-catch.cpp	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/cross-catch.cpp	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -11,4 +11,5 @@
 int main(int argc, char * argv[]) {
 	unsigned int times = 1;
+	bool should_throw = false;
 	if (1 < argc) {
 		times = strtol(argv[1], nullptr, 10);
@@ -18,7 +19,10 @@
 	for (unsigned int count = 0 ; count < times ; ++count) {
 		try {
-			// ...
+			asm volatile ("# try block" : "=rm" (should_throw));
+			if (should_throw) {
+				throw NotRaisedException();
+			}
 		} catch (NotRaisedException &) {
-			// ...
+			asm volatile ("# catch block");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/cross-finally.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/cross-finally.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/cross-finally.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -5,20 +5,24 @@
 #include <stdlib.hfa>
 
+EHM_EXCEPTION(not_raised_exception)();
+
+EHM_VIRTUAL_TABLE(not_raised_exception, not_vt);
+
 int main(int argc, char * argv[]) {
 	unsigned int times = 1;
-	unsigned int total_frames = 1;
+	bool should_throw = false;
 	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
-	}
-	if (2 < argc) {
-		total_frames = strtol(argv[2], 0p, 10);
 	}
 
 	Time start_time = timeHiRes();
 	for (unsigned int count = 0 ; count < times ; ++count) {
-		 try {
-			// ...
+		try {
+			asm volatile ("# try block" : "=rm" (should_throw));
+			if (should_throw) {
+				throw (not_raised_exception){&not_vt};
+			}
 		} finally {
-			// ...
+			asm volatile ("# finally block");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/cross-resume.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/cross-resume.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/cross-resume.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -20,7 +20,7 @@
 	for (unsigned int count = 0 ; count < times ; ++count) {
 		try {
-			// ...
+			asm volatile ("");
 		} catchResume (not_raised_exception *) {
-			// ...
+			asm volatile ("");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/resume-detor.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/resume-detor.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/resume-detor.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -12,15 +12,15 @@
 
 void ^?{}(WithDestructor & this) {
-    // ...
+	asm volatile ("# destructor body");
 }
 
 void unwind_destructor(unsigned int frames) {
-    if (frames) {
+	if (frames) {
 
-        WithDestructor object;
-        unwind_destructor(frames - 1);
-    } else {
-        throwResume (empty_exception){&empty_vt};
-    }
+		WithDestructor object;
+		unwind_destructor(frames - 1);
+	} else {
+		throwResume (empty_exception){&empty_vt};
+	}
 }
 
@@ -36,11 +36,11 @@
 
 	Time start_time = timeHiRes();
-    for (int count = 0 ; count < times ; ++count) {
-        try {
-            unwind_destructor(total_frames);
-        } catchResume (empty_exception *) {
-            // ...
-        }
-    }
+	for (int count = 0 ; count < times ; ++count) {
+		try {
+			unwind_destructor(total_frames);
+		} catchResume (empty_exception *) {
+			asm volatile ("# fixup block");
+		}
+	}
 	Time end_time = timeHiRes();
 	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
Index: doc/theses/andrew_beach_MMath/code/resume-empty.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/resume-empty.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/resume-empty.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -32,5 +32,5 @@
 			unwind_empty(total_frames);
 		} catchResume (empty_exception *) {
-			// ...
+			asm volatile ("# fixup block");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/resume-finally.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/resume-finally.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/resume-finally.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -14,5 +14,5 @@
 			unwind_finally(frames - 1);
 		} finally {
-			// ...
+			asm volatile ("# finally block");
 		}
 	} else {
@@ -36,5 +36,5 @@
 			unwind_finally(total_frames);
 		} catchResume (empty_exception *) {
-			// ...
+			asm volatile ("# fixup block");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/resume-other.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/resume-other.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/resume-other.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -16,5 +16,5 @@
 			unwind_other(frames - 1);
 		} catchResume (not_raised_exception *) {
-			// ...
+			asm volatile ("# fixup block (stack)");
 		}
 	} else {
@@ -38,5 +38,5 @@
 			unwind_other(total_frames);
 		} catchResume (empty_exception *) {
-			// ...
+			asm volatile ("# fixup block (base)");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/throw-detor.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-detor.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/throw-detor.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -12,5 +12,5 @@
 
 void ^?{}(WithDestructor & this) {
-	// ...
+	asm volatile ("# destructor body");
 }
 
@@ -39,5 +39,5 @@
 			unwind_destructor(total_frames);
 		} catch (empty_exception *) {
-			// ...
+			asm volatile ("# catch block");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/throw-detor.cpp
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-detor.cpp	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/throw-detor.cpp	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -10,5 +10,7 @@
 
 struct WithDestructor {
-	~WithDestructor() {}
+	~WithDestructor() {
+		asm volatile ("# destructor body");
+	}
 };
 
@@ -37,5 +39,5 @@
 			unwind_destructor(total_frames);
 		} catch (EmptyException &) {
-			// ...
+			asm volatile ("# catch block");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/throw-empty.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-empty.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/throw-empty.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -32,5 +32,5 @@
 			unwind_empty(total_frames);
 		} catch (empty_exception *) {
-			// ...
+			asm volatile ("# catch block");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/throw-empty.cpp
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-empty.cpp	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/throw-empty.cpp	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -32,5 +32,5 @@
 			unwind_empty(total_frames);
 		} catch (EmptyException &) {
-			// ...
+			asm volatile ("# catch block");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/throw-finally.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-finally.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/throw-finally.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -14,5 +14,5 @@
 			unwind_finally(frames - 1);
 		} finally {
-			// ...
+			asm volatile ("# finally block");
 		}
 	} else {
@@ -36,5 +36,5 @@
 			unwind_finally(total_frames);
 		} catch (empty_exception *) {
-			// ...
+			asm volatile ("# catch block");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/throw-other.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-other.cfa	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/throw-other.cfa	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -16,5 +16,5 @@
 			unwind_other(frames - 1);
 		} catch (not_raised_exception *) {
-			// ...
+			asm volatile ("# catch block (stack)");
 		}
 	} else {
@@ -38,5 +38,5 @@
 			unwind_other(total_frames);
 		} catch (empty_exception *) {
-			// ...
+			asm volatile ("# catch block (base)");
 		}
 	}
Index: doc/theses/andrew_beach_MMath/code/throw-other.cpp
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-other.cpp	(revision d2278e9bd5880b8fddae1c58dd1056df8e64d834)
+++ doc/theses/andrew_beach_MMath/code/throw-other.cpp	(revision 8f6f3729aa2423b4ad0cf0dd4c0c85e15dba3704)
@@ -16,5 +16,5 @@
 			unwind_other(frames - 1);
 		} catch (NotRaisedException &) {
-			// ...
+			asm volatile ("# catch block (stack)");
 		}
 	} else {
@@ -38,5 +38,5 @@
 			unwind_other(total_frames);
 		} catch (EmptyException &) {
-			// ...
+			asm volatile ("# catch block (base)");
 		}
 	}
