about summary refs log tree commit diff stats
path: root/076continuation.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2018-03-15 21:54:53 -0700
committerKartik K. Agaram <vc@akkartik.com>2018-03-15 21:54:53 -0700
commitf8f222454e15737ecf164899f8d28fabe6069a31 (patch)
tree3bdc6c71fd5da923eea6048f9bcd0fdbe8077d52 /076continuation.cc
parent67c10a17379939719f19c7910a50db13548ff997 (diff)
downloadmu-f8f222454e15737ecf164899f8d28fabe6069a31.tar.gz
4225
Diffstat (limited to '076continuation.cc')
-rw-r--r--076continuation.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/076continuation.cc b/076continuation.cc
index 54037b41..8a7b3b87 100644
--- a/076continuation.cc
+++ b/076continuation.cc
@@ -108,9 +108,9 @@ recipe g [
 -mem: storing 9 in location 2
 
 :(before "End call Fields")
-int is_base_of_continuation;
+int continuation_mark_tag;
 :(before "End call Constructor")
-is_base_of_continuation = 0;
+continuation_mark_tag = 0;
 
 :(before "End Primitive Recipe Declarations")
 CALL_WITH_CONTINUATION_MARK,
@@ -133,7 +133,7 @@ case CALL_WITH_CONTINUATION_MARK: {
     assert(Trace_stream->callstack_depth < 9000);  // 9998-101 plus cushion
   }
   const instruction& caller_instruction = current_instruction();
-  Current_routine->calls.front().is_base_of_continuation = current_instruction().ingredients.at(0).value;
+  Current_routine->calls.front().continuation_mark_tag = current_instruction().ingredients.at(0).value;
   Current_routine->calls.push_front(call(Recipe_ordinal[current_instruction().ingredients.at(1).name]));
   ingredients.erase(ingredients.begin());  // drop the mark
   ingredients.erase(ingredients.begin());  // drop the callee
@@ -174,7 +174,7 @@ case RETURN_CONTINUATION_UNTIL_MARK: {
   Current_routine->calls.front().next_ingredient_to_process = 0;
   // copy the current call stack until the most recent marked call
   call_stack::iterator find_base_of_continuation(call_stack&, int);  // manual prototype containing '::'
-  call_stack::iterator base = find_base_of_continuation(Current_routine->calls, /*mark identifier*/current_instruction().ingredients.at(0).value);
+  call_stack::iterator base = find_base_of_continuation(Current_routine->calls, /*mark tag*/current_instruction().ingredients.at(0).value);
   if (base == Current_routine->calls.end()) {
     raise << maybe(current_recipe_name()) << "couldn't find a 'call-with-continuation-mark' to return to\n" << end();
     raise << maybe(current_recipe_name()) << "call stack:\n" << end();
@@ -195,15 +195,15 @@ case RETURN_CONTINUATION_UNTIL_MARK: {
   products.resize(1);
   products.at(0).push_back(Next_delimited_continuation_id);
   // return any other ingredients passed in
-  copy(/*skip mark identifier*/++ingredients.begin(), ingredients.end(), inserter(products, products.end()));
+  copy(/*skip mark tag*/++ingredients.begin(), ingredients.end(), inserter(products, products.end()));
   ++Next_delimited_continuation_id;
   break;  // continue to process rest of marked call
 }
 
 :(code)
-call_stack::iterator find_base_of_continuation(call_stack& c, int mark) {
+call_stack::iterator find_base_of_continuation(call_stack& c, int mark_tag) {
   for (call_stack::iterator p = c.begin(); p != c.end(); ++p)
-    if (p->is_base_of_continuation == mark) return p;
+    if (p->continuation_mark_tag == mark_tag) return p;
   return c.end();
 }