# HG changeset patch # User ikkun # Date 1456921141 -32400 # Node ID 6402a33250a6d7ff6a9aa1d6dcc1725bc637f807 # Parent 64c98838a291ffd4b1dccc1fb3e511e5da710e63 remove stack from getQueue diff -r 64c98838a291 -r 6402a33250a6 src/parallel_execution/context.h --- a/src/parallel_execution/context.h Wed Mar 02 20:51:33 2016 +0900 +++ b/src/parallel_execution/context.h Wed Mar 02 21:19:01 2016 +0900 @@ -147,6 +147,7 @@ struct Node* root; } tree; struct Traverse { + enum Code next; struct Node* current; int result; } traverse; diff -r 64c98838a291 -r 6402a33250a6 src/parallel_execution/rb_tree.c --- a/src/parallel_execution/rb_tree.c Wed Mar 02 20:51:33 2016 +0900 +++ b/src/parallel_execution/rb_tree.c Wed Mar 02 21:19:01 2016 +0900 @@ -310,8 +310,7 @@ goto meta(context, Search); } - stack_pop(context->code_stack, &context->next); - goto meta(context, context->next); + goto meta(context, traverse->next); } __code get_stub(struct Context* context) { diff -r 64c98838a291 -r 6402a33250a6 src/parallel_execution/worker.c --- a/src/parallel_execution/worker.c Wed Mar 02 20:51:33 2016 +0900 +++ b/src/parallel_execution/worker.c Wed Mar 02 21:19:01 2016 +0900 @@ -17,7 +17,9 @@ context->next = first->task->code; node->key = first->task->key; - + + struct Traverse *t = &context->data[Traverse]->traverse; + t->next = GetQueue; goto meta(context, Get); } else { goto meta(context, GetQueue);